//-------金魔方智能交易公式--------------
//例4_1 區(qū)間突破分批策略
{策略:
1.允許連續(xù)買入2次
2.突破20周期高點(diǎn)買入1次,該倉位命名為'Buy1'
3.突破50周期高點(diǎn)買入1次,該倉位命名為'Buy2'
4.跌破10周期低點(diǎn)賣出'Buy1'的倉位
5.跌破25周期低點(diǎn)賣出'Buy2'的倉位
}
Buy1: HHV(H,20),Shift1;
Buy2: HHV(H,50),Shift1;
Sell1: LLV(L,10),Shift1;
Sell2: LLV(L,25),Shift1;
AllowSameEntries(2);
//if EntryName <> 'Buy1' then
Buy('',1,Buy1+MinDiff,-1,OT_STOP,OB_NEXTBAR,'Buy1');
//if EntryName <> 'Buy2' then
Buy('',1,Buy2+MinDiff,-1,OT_STOP,OB_NEXTBAR,'Buy2');
Sell('',1,Sell1,-1,OT_STOP,OB_NEXTBAR,'Sell1') from 'Buy1';
Sell('',1,Sell2,-1,OT_STOP,OB_NEXTBAR,'Sell2') from 'Buy2';
{
注解:
1.MinDiff 為價(jià)格最小變動(dòng)單位。
2.用EntryName函數(shù)識(shí)別已有哪個(gè)信號(hào)的倉位。
但因?yàn)榧词乖试S連續(xù)同向開倉,也不允許連續(xù)開相同開倉名的倉,
所以,EntryName判斷已有哪種信號(hào)持倉的語句可以不用。
3.平倉指令函數(shù)后用from指定平掉哪個(gè)信號(hào)的倉位。
}
右鍵菜單【查看測(cè)評(píng)報(bào)告】的交易明細(xì):
可見,Sell1與Buy1、Sell2與Buy2分別一一配對(duì),這樣我們就可分別控制不同的倉位。
再看一個(gè)早盤區(qū)間突破分批平倉日內(nèi)交易策略,公式如下:
//-------金魔方智能交易公式--------------
//例4_2 早盤區(qū)間突破分批平倉策略
//用于5分鐘周期
{策略:
1.根據(jù)上午10點(diǎn)前的價(jià)格波動(dòng)范圍畫出最高價(jià)水平線
2.下午14點(diǎn)前,價(jià)格突破區(qū)間高點(diǎn)買入2口
3.跌破買入價(jià)以下20點(diǎn)清倉止損
4.漲至買入價(jià)以上30點(diǎn)止盈其中1口
5.當(dāng)天若有虧損交易,不再開新倉
6.日內(nèi)交易,收市前清倉
}
input:
早盤終點(diǎn)時(shí)間(1000), //10:00
開倉結(jié)束時(shí)間(1400); //14:00
variable:
ID(-1); //趨勢(shì)線標(biāo)識(shí)號(hào),賦初值-1
if Date <> Date[1] then begin //新交易日開始
RngH := High;
ID := TL_new(Date,Time,RngH,Date,Time,RngH); //新建畫線
end
if Time < 早盤終點(diǎn)時(shí)間*100 then begin //上午10:00前的最高價(jià)作為區(qū)間高點(diǎn)
RngH := Max(High, RngH);
end
//隨時(shí)間調(diào)整區(qū)間高點(diǎn)水平線
TL_SetBegin(ID, TL_GetBeginDate(ID), TL_GetBeginTime(ID), RngH);
TL_SetEnd(ID, Date, Time, RngH);
bTradeTime := Time >= 0955*100 And Time < 開倉結(jié)束時(shí)間*100; //交易時(shí)間
if bTradeTime And DailyLosers(Date,0)<1 then //
Buy('', 2, RngH, -1, OT_STOP, OB_NEXTBAR, '買入');
if MarketPosition = 1 then begin //若持多頭倉
Sell('', DEFAULT, EntryPrice - 20, -1, OT_STOP, OB_NEXTBAR, '止損');
if CurrentContracts = 2 then
Sell('', 1, EntryPrice + 30, 0, OT_LIMIT, OB_NEXTBAR, '止盈');
end
SetExitOnClose; //收市前清倉
{
注解:
1.畫線函數(shù)TL_New、TL_SetBegin、TL_SetEnd用于畫出區(qū)間通道
2.5分鐘周期,9:55 的下一個(gè)周期開始交易
金魔方以K線開始時(shí)間作為K線的時(shí)間
3.DailyLosers(Date,0)取得當(dāng)日虧損交易次數(shù)
4.EntryPrice為開倉價(jià),對(duì)多頭開倉而言就是買入價(jià)
5.CurrentContracts取得當(dāng)前持倉數(shù)量
}
右鍵菜單【查看測(cè)評(píng)報(bào)告】的交易明細(xì):
可見,開倉2口的單被拆成2筆,1筆止盈,1筆日內(nèi)交易平倉。
從這個(gè)公式,我們可以看出它逐根計(jì)算的機(jī)制:在每天開盤的那根K線創(chuàng)建1條新的趨勢(shì)線,然后隨著下1根K線的不斷增加,調(diào)整趨勢(shì)線的起點(diǎn)和終點(diǎn)。