標(biāo)簽 :公式 交易 開拓者 期貨 雙均線 交叉系統(tǒng) TB 交易模型
交易規(guī)則:
如果短期均線上穿長(zhǎng)期均線,做多,如原來持有空單,則先平空單,再建多倉(cāng)
如果短期均線下穿長(zhǎng)期均線,做空,如原來持有多單,則先平多單,再建空單
短周期:10
長(zhǎng)周期:20
交易頭寸暫為1手
出場(chǎng)部分設(shè)計(jì)
我們使用三種類型的止損設(shè)置:
進(jìn)場(chǎng)后設(shè)置初始止損;
有一定盈利后設(shè)置保本止損;
盈利增大后使用追蹤止盈(峰值價(jià)回落ATR倍數(shù));
為此,設(shè)置三個(gè)止損參數(shù):
Numeric InitialStop(20); // 初始止損(千分之N)
Numeric BreakEvenStop(30); // 保本止損(千分之N)
Numeric TrailingStop(50); // 追蹤止損(千分之N)
三種止損的代碼可以放在一起處理,取最有利的價(jià)格作為止損(贏)價(jià)。
多頭止損部分的代碼
// 初始止損
StopLine = EntryPrice * (1-InitialStop/1000);
// 達(dá)到保本止損條件,將止損位上移到保本的價(jià)位
If (HigherAfterEntry >= EntryPrice * (1+BreakEvenStop/1000))
StopLine = EntryPrice;
// 追蹤止損的價(jià)位超過保本止損價(jià),止損價(jià)隨盈利峰值價(jià)的上升同步提高
If (StopLine < HigherAfterEntry*(1-TrailingStop/1000))
StopLine = HigherAfterEntry*(1-TrailingStop/1000);
Commentary("止損價(jià):"+Text(StopLine));
// 止損觸發(fā)
If(Low <= StopLine)
{
MyPrice = StopLine;
If(Open < MyPrice) MyPrice = Open;
Sell(Lots,MyPrice);
bLongStoped = True; // 止損后設(shè)置標(biāo)志
Commentary("Long Position Stoped at "+text(MyPrice));
}
其他規(guī)則
其他策略和例子1相同:
采用多空模型分開設(shè)計(jì);
再進(jìn)場(chǎng)必須行情再創(chuàng)新高(低);
過濾集合競(jìng)價(jià)數(shù)據(jù)
止損處理的細(xì)節(jié)
無論初次進(jìn)場(chǎng)還是再次進(jìn)場(chǎng),進(jìn)場(chǎng)后都是把進(jìn)場(chǎng)價(jià)作為開倉(cāng)后的盈利最高價(jià)或最低價(jià)。兩者的區(qū)別之處在于:
初次進(jìn)場(chǎng),因?yàn)槭情_盤價(jià)進(jìn)場(chǎng),可以在開倉(cāng)Bar實(shí)現(xiàn)止損;
而再次入場(chǎng),因?yàn)樵跉v史K線中,無法確定入場(chǎng)點(diǎn)和最高價(jià)最低價(jià)在時(shí)間次序上的關(guān)系,從而無法實(shí)現(xiàn)在開倉(cāng)BAR的止損。因此,必須在記錄開倉(cāng)后最高和最低后,加上Return指令,從而忽略掉后面的止損部分公式。