本帖最後由 samnghk 於 22-7-7 23:00 編輯
這個是我自己寫的移動停利的語句, 意思是
1.多空進場後,當下跌20至39點, 就會止盈在開倉價-10點的位置
2.當下跌40至59點, 就會止盈在開倉價-30點的位置
理念是只要能下跌到20點以下,就必定不會虧錢
但問題出現了, 就是有時成功, 有時不成功, 求高手指教語句問題的位置?
vars:
profit200(False),
profit400(False),
profitn200(False),
profitn400(False);
[IntrabarOrderGeneration = True];
if marketposition =1 and close - postradeentryprice(0,currententries-1) >= 20 and close - postradeentryprice(0,currententries-1) < 40 then profit200=true;
if profit200 = true then begin
if close <= postradeentryprice(0,currententries-1) + 10 then sell("100LE") next bar at market;
end;
if marketposition =1 and close - postradeentryprice(0,currententries-1) >= 40 and close - postradeentryprice(0,currententries-1) < 60 then profit400=true;
if profit400 = true then begin
if close <= postradeentryprice(0,currententries-1) + 30 then sell("300LE") next bar at market;
end;
if marketposition =-1 and postradeentryprice(0,currententries-1) -close >= 20 and postradeentryprice(0,currententries-1) - close< 40 then profitn200=true;
if profitn200 = true then begin
if close >= postradeentryprice(0,currententries-1) -10 then buytocover("100SE") next bar at market;
end;
if marketposition =-1 and postradeentryprice(0,currententries-1) -close >= 40 and postradeentryprice(0,currententries-1) - close< 60 then profitn400=true;
if profitn400 = true then begin
if close >= postradeentryprice(0,currententries-1) -30 then buytocover("300SE") next bar at market;
end;
圖1是成功的例子 圖2這個淡倉(22058), 第二條K線最低為22018 , 已經超過40點, 止盈應為30點, 但最後只有10點 圖3這個淡倉(21414), 第4條K線最低為21388 , 已經大過20, 但最後沒有止盈,只有止損
|