percenttrailing止盈語句代碼如下:
[IntrabarOrderGeneration=true];
input:target(10),Percent(30);//,BS(NumericSimple);
vars:intrabarpersist mp(0),intrabarpersist flagB(0),intrabarpersist flagS(0), intrabarpersist valueh(0),intrabarpersist valuel(999999);
once cleardebug;
mp=marketposition;
if mp<>mp[1] then
begin?
? ? ? ? valueh=0;
? ? ? ? valuel=999999;
? ? ? ? flagb=0;
? ? ? ? flags=0;
end;
if mp>0 and valueh<=h then
valueh=h;
if mp<0 and valuel>=l then
valuel=l;
if (mp>0 and valueh-entryprice>target) then
flagB=1;
if mp<0 and entryprice-valuel>target then
flags=1;?
if mp=1 and flagB=1 then
sell("L_trailing") next bar at valueh-Percent*(valueh-entryprice)/100 stop;
if mp=-1 and flagS=1 then
buytocover("S_trailing") next bar at??valuel+percent*(entryprice-valuel)/100 stop;
我在實(shí)際使用時(shí)遇到了一個(gè)情況:市場(chǎng)價(jià)格變動(dòng)太快,導(dǎo)致止盈指令發(fā)出后沒有成交。
我的訴求是用at market的方式下單,請(qǐng)問老師應(yīng)該如何改動(dòng)上述語句才能達(dá)到目的,謝謝!
(來自舊論壇客戶,spacehk)
?
?
@evenrich
非bar內(nèi)模式,非精細(xì)資料歷史回測(cè)沒有問題!
但是這段代碼在非bar內(nèi)模式下有一個(gè)小問題:因?yàn)榉莃ar內(nèi)模式下,策略的計(jì)算是每根bar收盤時(shí)進(jìn)行的,并且判斷委托單執(zhí)行條件是否滿足,而這段代碼中是需要判斷多頭開倉(cāng)以來的最高價(jià)與進(jìn)場(chǎng)價(jià)之差是否大于目標(biāo)價(jià)格(以多頭為例),然后再委托追蹤止損單,但是對(duì)“多頭開倉(cāng)以來的最高價(jià)與進(jìn)場(chǎng)價(jià)之差是否大于目標(biāo)價(jià)格”不會(huì)太及時(shí),因?yàn)檫@個(gè)條件可能在bar的形成過程中就滿足了,導(dǎo)致判斷延遲。
?
當(dāng)然可以的,帖子”MC回測(cè)邏輯及條件單(包括set關(guān)鍵字)的執(zhí)行邏輯“中有詳細(xì)介紹哦
?
當(dāng)然可以的,帖子”MC回測(cè)邏輯及條件單(包括set關(guān)鍵字)的執(zhí)行邏輯“中有詳細(xì)介紹哦