많은 사람들이 프로그래밍 거래에 처음 접했을 때, 최적화 방법을 선택하여 선택합니다. 거래 환경이 변화함에 따라 거래자는 종종 자동으로 변수를 조정하기 시작합니다. 모든 변수가 우리가 항상 조정해야하는 것은 아니지만, 환경이 변화함에 따라 프로그램에서 변수를 조정하는 경우이 방법은 프로그램이 더 유연하게 될 수 있습니다.
그렇다면 어떤 시장에서 이러한 추세파 파업 전략이 더 쉽게 수익을 창출할 수 있을까요? 그것은 당연히 트렌드를 명백히 벗어나는 큰 공백 또는 대부분의 상위 시장에서 더 쉽게 수익을 창출하는 것입니다. 그러나 우리가 한 번 사각형 모양의 추세를 맞으면 얼마나 많은 공백 신호 복제 문제가 발생할 수 있는지 알 수 있습니다. 그러나 우리는 모두 사각형이 모든 추세파업 전략의 정체가 아니라는 것을 알고 있습니다.
그렇다면 프로그래밍 트레이딩 분야에서 N가 어떤 문제가 될까요? N를 5로 설정할 수도 있습니다. 만약 지금 트렌드가 분명하다면, 우리는 더 빨리 진입할 것입니다. 하지만 트렌드가 분명하지 않고 갑자기 나타나면, 그것은 매우 곤란합니다. 그래서 트렌드가 분명하면, 우리는 N를 약간 작게 만들 수 있습니다. 전체 디스크에 있는 동안 N을 약간 크게 만들 수 있습니다.
첫째, 트렌드는 매우 명백한 것이 N의 크기를 결정하는 것이 아니냐는 것이다. 트렌드가 명백한 경우, 지수가 변동하는 비율이 더 크다는 것을 나타낸다. 반대로 트렌드가 전체적인 경우, 지수가 어떤 범위 내에서 정리되는 것을 나타낸다. 즉, 변동이 상대적으로 작다는 것을 나타낸다. 따라서, 변동은 N의 크기를 결정하는 열쇠이다.
만약 우리가 처음에 N를 20로 설정한다면, 20개의 K 바드의 표준편차를 계산할 수 있습니다. 여기서 V20라고 부를 수 있습니다. 만약 우리가 짧은 시간에 측정하기를 원한다면, 10개의 K 바드를 사용하여 10개의 K 바드의 표준편차를 계산할 수 있다고 가정하면, V10이라고 가정합니다.
오늘 가격의 높이가 지난 N 일간의 높이를 돌파했을 때 구매를 하고, 오늘 가격의 낮이가 지난 N 일간의 낮이를 돌파했을 때 판매를 한다고 가정한다. 이 전략은 트렌드가 명백한 상품, 특히 일방 상품에 더 적용됩니다.
테스트 상품 주식 지표 IF는 두 개의 그래프를 사용하여, 하위 그래프 1 주기가 1 시간이고 하위 그래프 2 주기가 1 일이다.
inputs: x(20),y(10) ;
//定义波动率参数
Vars: V20(10),V10(10),N2(10),N1(10),N(10);
//定义变量
V20=Volatility(x)of data2;
V10=Volatility(y)of data2;
//定义波动率取日线数据,取子图2的日线线数。这个Volatility函数是分别取20日跟10日ATR的移动平均数值
if V10<>0 and N2<>0 then begin
N1=(N*V20)/V10;
//定义N1的值,前提让分母不为0时执行,
//这N1=(N*V20)/V10是此参数自动化的核心, 代表你将原本固定N天的参考值改成会/根据V20和V10而变动的N1值, V20是较长期的,而V10是近期,大家看到这个公式应该可以发现,当你近期的波动率变大时,表示趋势出现,你的N1就会变小,而近期的波动率变得越小时,表示在盘整,N1就会变大,这样新的N变化似乎比较合理一点。
N2=IntPortion(N1);
//给N1取整赋值给N2
end;
value1=Average(high of data2,N2)of data2;
value2=Average(low of data2,N2)of data2;
//定义前N2天的高点跟低点的值给value1和value2
if close crosses above value1 then begin
buy next bar at market;
end;
//当价格上穿高点时买入或者反向
if close crosses below value2 then begin
sellshort next bar at market;
end;
//当价格下穿低点时开空或者反向
이 모든 것은 우리가 할 수 있는 모든 것이 아닙니다. 이 모든 것은 우리가 할 수 있는 모든 것입니다.