今天心血來潮將此範例給程式化
對照之下發現.....
範例來源
http://www.chiefox.com.tw/bbs/sh ... 15&pagenumber=1
引用:
--------------------------------------------------------------------------------
最初由 mingyi1973 發表
我想以兩口操作:
1.{多單進場}如果AA=十五分線10MA-前一個十五分線10MA,當AA>=5卻<25的時候,則所有空單平倉,多單建倉2口。
2. {多單停利出場一口}如果多單已經獲利超過50點以上,例如:進場時為7000點已經漲到(7050),則多單停利平倉一口。
3. {空單進場}如果AA=十五分線10MA-前一個十五分線10MA,當AA<=-5卻>-25的時候,則所有多單平倉,空單建倉2口。
4. {空單停利出場一口}如果空單已經獲利超過50點以上,例如:進場時為7000點已經跌到(6950),則空單停利平倉一口。
5. 單一口數虧損達到35點以上剩餘口數全部平倉出場。
6.時間一到13:30無論多空及賺賠,剩餘口數一律出場。
這樣奇狐公式要怎麼寫?謝謝!!!
--------------------------------------------------------------------------------
奇狐版主撰寫的原碼
狐友可自行對照看看
CC:=C;
TT:=time;
MA10:=MA(C,10);
AA:=MA10-ref(MA10,1);
S1:=AA>=5 and AA<25 and time<133000; //做多
S2:=AA<=-5 and AA>-25 and time<133000; //做空
控利:=50; 控損:=-35;
ZAry:=AA*0;
多進:ZAry; 多出:ZAry; 空進:ZAry; 空出:ZAry;
多方盈虧:ZAry linethick; 空方盈虧:ZAry linethick;
多空:=0; //1.多 2.空 0.無
持有:=0; 做價:=0;
for i = lbound(AA) to datacount do begin
if 多空=1 then 多方盈虧[i]:=CC[i]-做價;
if 多空=2 then 空方盈虧[i]:=做價-CC[i];
if S1[i]=1 then begin //多進空出
if 多空=2 then begin
空出[i]:=持有; 多空:=0;
end;
if 多空=0 then begin
多進[i]:=2; 持有:=2; 做價:=CC[i]; 多空:=1;
end;
end else if S2[i]=1 then begin //空進多出
if 多空=1 then begin
多出[i]:=持有; 多空:=0;
end;
if 多空=0 then begin
空進[i]:=2; 持有:=2; 做價:=CC[i]; 多空:=2;
end;
end else if 多空=1 then begin //多方控
if TT[i]>=133000 or 多方盈虧[i]<控損 then begin
多出[i]:=持有; 持有:=0; 多空:=0;
end else if 多方盈虧[i]>控利 and 持有=2 then begin
多出[i]:=1; 持有:=持有-1;
end;
end else if 多空=2 then begin //空方控
if TT[i]>=133000 or 空方盈虧[i]<控損 then begin
空出[i]:=持有; 持有:=0; 多空:=0;
end else if 空方盈虧[i]>控利 and 持有=2 then begin
空出[i]:=1; 持有:=持有-1;
end;
end;
end;
