飛狐金魔方大交易師智能交易使用教程(6)-自動趨勢線交易策略 [飛狐金魔方]
之前介紹過畫水平線,金魔方還可以通過波峰、波谷點函數(shù)自動畫出趨勢線并據(jù)此交易,讓我們看看這個公式:
//-------金魔方智能交易公式--------------
//例6_1 自動趨勢線交易加分級鎖定盈利策略
//用于5分鐘周期
{策略:
1.在當(dāng)天5分鐘周期走勢上自動畫出下降趨勢線
2.突破下降趨勢線買入
3.當(dāng)最大浮盈達(dá)到10點后,把盈利鎖定在買入價之上1點
4.當(dāng)最大浮盈達(dá)到20點后,把盈利鎖定在買入價之上8點
5.當(dāng)最大浮盈達(dá)到30點后,把盈利鎖定在買入價之上10點
6.買入價之上50點為止盈位,買入價之下10點為止損位
}
input: 波峰強(qiáng)度(3);
const: 點數(shù)量(5);
array: 波峰點日期[點數(shù)量](0),波峰點時間[點數(shù)量](0),波峰點數(shù)值[點數(shù)量](0);
variable: 下降線ID(-1), 起點下標(biāo)(0);
if Date <> Date[1] then begin //每個交易日內(nèi)重新找趨勢線
// print('=============', Date, '=============');
下降線ID := -1;
for pos=0 to 點數(shù)量 do begin //清空數(shù)組
波峰點日期[pos]:=0; 波峰點時間[pos]:=0; 波峰點數(shù)值[pos]:=0;
end
end
位置 : SwingHighBar(1,High,波峰強(qiáng)度,波峰強(qiáng)度+1),linethick0;
if 位置 = 波峰強(qiáng)度 then begin //出現(xiàn)新的波峰點
//該波峰點是當(dāng)天的且沒被記錄過
if Date[位置] = Date And Time[位置] <> 波峰點時間[0] then begin
// print('時間:', Time/100, ' 波峰強(qiáng)度: ', 波峰強(qiáng)度);
for pos = 點數(shù)量-1 DownTo 0 do begin
波峰點日期[pos+1] := 波峰點日期[pos];
波峰點時間[pos+1] := 波峰點時間[pos];
波峰點數(shù)值[pos+1] := 波峰點數(shù)值[pos];
end
//將新波峰點存入數(shù)組下標(biāo)0的位置
波峰點日期[0] := Date[波峰強(qiáng)度];
波峰點時間[0] := Time[波峰強(qiáng)度];
波峰點數(shù)值[0] := High[波峰強(qiáng)度];
// print('時間:', 波峰點時間[0]/100,' 數(shù)值:', 波峰點數(shù)值[0]);
if MarketPosition < 1 then begin //如果未持多倉,更新趨勢線
//找趨勢線起點,起點應(yīng)比最近的新波峰點高,才能形成下降趨勢線
for pos = 1 to 點數(shù)量 do begin
if 波峰點數(shù)值[pos] > 波峰點數(shù)值[0] then begin//有更高的
起點下標(biāo) := pos;
pos := 點數(shù)量+1; //For語句中再加1,然后跳出循環(huán)
end
end
if pos <> 點數(shù)量+1 then begin //表示找到有更高的波峰點
// print('TL_SetBegin:', 波峰點時間[起點下標(biāo)]/100,' 數(shù)值:', 波峰點數(shù)值[起點下標(biāo)]);
// print('TL_SetEnd :', 波峰點時間[0]/100,' 數(shù)值:', 波峰點數(shù)值[0]);
// if 下降線ID = -1 then
下降線ID := TL_New(Date,Time,High,Date,Time,High);
TL_SetBegin(下降線ID, 波峰點日期[起點下標(biāo)],波峰點時間[起點下標(biāo)],波峰點數(shù)值[起點下標(biāo)]);
TL_SetEnd(下降線ID, 波峰點日期[0],波峰點時間[0],波峰點數(shù)值[0]);
end
end
end
end
else begin
TL_SetEnd(下降線ID,Date,Time,TL_GetValue(下降線ID,Date,Time));
end
TLValue:=TL_GetValue(下降線ID,Date,Time);
bEnterLong := CrossOver(C, TLValue);
if Time < 143000 And 下降線ID > -1 And bEnterLong then Buy;
if MarketPosition>0 then begin //持有多頭倉位
Sell('', DEFAULT, EntryPrice+50, 0, OT_LIMIT, OB_NEXTBAR, '止盈');
Sell('', DEFAULT, EntryPrice-10, -1, OT_STOP, OB_NEXTBAR, '止損');
if MaxContractProfit>10*BigPointValue then
Sell('', DEFAULT, EntryPrice+1, -1, OT_STOP, OB_NEXTBAR, '鎖盈1');
if MaxContractProfit>20*BigPointValue then
Sell('', DEFAULT, EntryPrice+8, -1, OT_STOP, OB_NEXTBAR, '鎖盈2');
if MaxContractProfit>30*BigPointValue then
Sell('', DEFAULT, EntryPrice+10, -1, OT_STOP, OB_NEXTBAR, '鎖盈3');
end
SetExitOnClose;
{
注解:
1.const:點數(shù)量(5) 聲明'點數(shù)量'為常量并賦值為5
2.array: 波峰點日期[點數(shù)量](0) 聲明'波峰點日期'為一維數(shù)組并賦初值為0
3.找出最近5個波峰點,波峰點的H大于前后各N個周期的H,這個N即為波峰強(qiáng)度
4.新出現(xiàn)一個波峰點后,就向前找到一個比它更高的波峰點作為起點,連接這兩個點形成下降趨勢線
5.周期收盤價上叉下降趨勢線時買入
6.MarketPosition函數(shù)返回當(dāng)前持倉方向
7.MaxContractProfit為以單口計算的最大浮動盈利,BigPointValue為1整數(shù)點的單口價值。
8.print函數(shù)輸出到[公式日志],可用于調(diào)試公式
}
可以看到,9月5日做了2筆趨勢線交易,第1筆“鎖盈1”平倉,第2筆日內(nèi)交易平倉。
這個公式比較復(fù)雜,本ID在編寫時用print函數(shù)在一些重要位置輸出(到【公式日志】,可在【量化交易】主菜單下打開)、觀察數(shù)據(jù)進(jìn)行調(diào)試,調(diào)試通過后再把print語句注釋掉。
各位可以試著把本公式中的print語句前的注釋去掉,運(yùn)行公式,看看【公式日志】,有助于理解公式逐根執(zhí)行的邏輯,提升調(diào)試技巧。
公式逐根執(zhí)行及其與逐行執(zhí)行的不同解釋如下:
逐行執(zhí)行:對整個K線序列逐行地執(zhí)行語句
逐根執(zhí)行:對K線序列逐根地執(zhí)行整個公式
假設(shè)當(dāng)前有100根K線,公式有2行計算指標(biāo)值1和指標(biāo)值2的語句
MA1:MA(C,5);
MA2:MA(C,10);
逐行執(zhí)行:
1.執(zhí)行第1行語句,計算這100根K線的MA1
2.執(zhí)行第2行語句,計算這100根K線的MA2
逐根執(zhí)行:
1.對第1根K線,執(zhí)行整個公式,計算第1根K線的MA1和MA2
2.對第2根K線,執(zhí)行整個公式,計算第2根K線的MA1和MA2
...
100.對第100根K線,執(zhí)行整個公式,計算第100根K線的MA1和MA2
繼續(xù),當(dāng)有新行情生成第101根K線時
逐行執(zhí)行:
3.執(zhí)行第1行語句,計算全部101根K線的MA1
4.執(zhí)行第2行語句,計算全部101根K線的MA2
逐根執(zhí)行:
101.對第101根K線,執(zhí)行整個公式,計算第101根K線的MA1和MA2
智能交易公式默認(rèn)為逐根執(zhí)行,為了能夠?qū)灰走M(jìn)行各種控制
技術(shù)指標(biāo)類公式默認(rèn)為逐行執(zhí)行,為了兼容國內(nèi)的主流公式
逐根執(zhí)行是更靈活的執(zhí)行方式,它能實現(xiàn)逐行執(zhí)行做不到的功能
對技術(shù)指標(biāo)類公式,可以用編譯開關(guān)#RunMode設(shè)置執(zhí)行模式
#RunMode RUN_BY_BAR //逐根執(zhí)行
#RunMode RUN_BY_SERIES //逐行執(zhí)行
只要控制好風(fēng)險,加上人工干預(yù),網(wǎng)格交易也是一種不錯的方法,特別是在外匯市場,金魔方公式如何實現(xiàn)呢?
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫!(不貴!點擊查看價格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容