飛狐金魔方大交易師智能交易使用教程(9)-均線與趨勢(shì)線交叉加倉(cāng)位管理 [飛狐金魔方]
本節(jié)講解如何應(yīng)用公共(自編)函數(shù),如何在公式中調(diào)用手工繪制的趨勢(shì)線產(chǎn)生交易信號(hào),如何根據(jù)前次交易結(jié)果調(diào)整下單量,如何應(yīng)用新的文本繪制函數(shù),請(qǐng)跟隨本ID一探究竟。
首先在公式樹(shù)的【公共函數(shù)】下創(chuàng)建名為“顯示績(jī)效”的公式:
input:
NumericSeries MA1, //序列參數(shù)
Numeric 下單量, //數(shù)值參數(shù)
NumericRef 盈利因子, //數(shù)值型引用參量,裝載計(jì)算結(jié)果
NumericRef 盈虧比;
均線: MA1,Precision0;
單量: 下單量,Precision0, LineThick0;
勝率%: PercentProfit, Precision0, LineThick0;
盈利因子:= -GrossProfit/GrossLoss; //總盈利/總虧損
盈虧比:= -(GrossProfit/NumWinTrades)/(GrossLoss/NumLosTrades);
return (InitialCapital+NetProfit); //函數(shù)返回
編譯通過(guò)后,再創(chuàng)建以下智能交易公式:
//-------金魔方智能交易公式--------------
//例9_1 均線與趨勢(shì)線交叉加倉(cāng)位管理策略
{策略:
1.均線與手工畫(huà)的趨勢(shì)線交叉作為交易信號(hào)
2.上次交易為'止盈'平倉(cāng)或首次開(kāi)倉(cāng),下單量為初始單量
3.上次交易為非'止盈'平倉(cāng)的,下單量按加倉(cāng)步長(zhǎng)漸次增加
4.下單量增大到超過(guò)最大單量則回復(fù)為初始單量
}
input:
TL標(biāo)識(shí)號(hào)(99), //手工繪制趨勢(shì)線的標(biāo)識(shí)號(hào),【設(shè)置畫(huà)線】標(biāo)題欄可見(jiàn)
止盈價(jià)差(600),
止損價(jià)差(200),
初始單量(1),
加倉(cāng)步長(zhǎng)(1), //下單量漸次增加步長(zhǎng)
最大單量(10),
轉(zhuǎn)折強(qiáng)度(15); //波峰波谷前后N周期最高最低
variable: 下單量(1),等量次數(shù)(1);
MA1 := MA(C,2);
TLV := TL_GetValue(TL標(biāo)識(shí)號(hào), Date, Time); //趨勢(shì)線數(shù)值序列
bEnterLong := CrossOver(MA1,TLV); //均線上叉趨勢(shì)線平空開(kāi)多
bEnterShort:= CrossUnder(MA1,TLV); //均線下叉趨勢(shì)線平多開(kāi)空
if bEnterLong or bEnterShort then begin
//上次平倉(cāng)標(biāo)識(shí)為'止盈'或沒(méi)有交易過(guò)
if ExitName(1) = '止盈' OR ExitName(1) = '' then
下單量 = 初始單量;
else begin //漸次增加下單量
if 下單量=初始單量 or 等量次數(shù) = 2 then begin
下單量 = 下單量 + 加倉(cāng)步長(zhǎng);
等量次數(shù) = 1;
end else
等量次數(shù) = 等量次數(shù) +1;
if (下單量 > 最大單量) then 下單量 = 初始單量;
end
end
if bEnterLong then begin
Buy('',下單量);
ID1:=Text_New(Date,Time, L, 314, true); //繪制314號(hào)圖標(biāo)-右上箭頭
Text_SetColor(ID1,ColorMagenta);
end
if bEnterShort then begin
SellShort('',下單量);
ID1:=Text_New(Date,Time, H, 316, true); //繪制316號(hào)圖標(biāo)-右下箭頭
Text_SetColor(ID1,ColorCyan);
Text_SetStyle(ID1, 0, 1); //設(shè)置下對(duì)齊
end
if MarketPosition = 1 then begin //多頭持倉(cāng)
Sell('',DEFAULT,EntryPrice+止盈價(jià)差,0,OT_LIMIT,OB_NEXTBAR,'止盈');
Sell('',DEFAULT,EntryPrice-止損價(jià)差,0,OT_STOP,OB_NEXTBAR,'止損');
end
if MarketPosition = -1 then begin //空頭持倉(cāng)
BuyToCover('',DEFAULT,EntryPrice-止盈價(jià)差,0,OT_LIMIT,OB_NEXTBAR,'止盈');
BuyToCover('',DEFAULT,EntryPrice+止損價(jià)差,0,OT_STOP,OB_NEXTBAR,'止損');
end
//顯示波峰點(diǎn)
pos := SwingHighBar(1,High,轉(zhuǎn)折強(qiáng)度,轉(zhuǎn)折強(qiáng)度+1);//波峰位置
SWV := SwingHigh(1,High,轉(zhuǎn)折強(qiáng)度,轉(zhuǎn)折強(qiáng)度+1); //波峰數(shù)值
if pos = 轉(zhuǎn)折強(qiáng)度 then begin
ID1 :=Text_New(Date[pos],Time[pos], SWV, SWV);
Text_SetColor(ID1,ColorMagenta);
Text_SetStyle(ID1, 2, 1); //設(shè)置水平中對(duì)齊、垂直下對(duì)齊
end
//顯示波谷點(diǎn)
pos := SwingLowBar(1,Low,轉(zhuǎn)折強(qiáng)度,轉(zhuǎn)折強(qiáng)度+1); //波谷位置
SWV := SwingLow(1,Low,轉(zhuǎn)折強(qiáng)度,轉(zhuǎn)折強(qiáng)度+1); //波谷數(shù)值
if pos = 轉(zhuǎn)折強(qiáng)度 then begin
ID1 :=Text_New(Date[pos],Time[pos], SWV, SWV);
Text_SetColor(ID1,ColorBlue);
Text_SetStyle(ID1, 2, 0); //設(shè)置水平中對(duì)齊、垂直上對(duì)齊
end
//調(diào)用“顯示績(jī)效”公共函數(shù)顯示績(jī)效,并計(jì)算返回余額、盈利因子、盈虧比
variable: //公式中可以有多組input、variable聲明
PF(0),PR(0); //引用型變量,裝回計(jì)算結(jié)果
余額:顯示績(jī)效(MA1,下單量,PF,PR),Precision0,OwnerScale;
盈虧比:PR, Precision1, LineThick0;
盈利因子:PF, Precision1, LineThick0;
{
注解:
1.ExitName(1)取得上一回持倉(cāng)的最后一次平倉(cāng)的標(biāo)識(shí)名
2.Text_*系列函數(shù)請(qǐng)參見(jiàn)【字典】中【新畫(huà)線函數(shù)】類里的說(shuō)明
3.“顯示績(jī)效”為用戶自編的公共函數(shù)
}
如下圖所示,在主圖上手工繪制一條直線(圖中粗紫色線),選中它,右鍵菜單【設(shè)置畫(huà)線】,標(biāo)題欄上#后面的數(shù)字即為該畫(huà)線的標(biāo)識(shí)號(hào),把公式的外部參數(shù)“TL標(biāo)識(shí)號(hào)”的數(shù)值99改為這個(gè)數(shù)字,然后把公式拖放到圖上,即可讓公式跑出交易結(jié)果。
右鍵菜單【查看測(cè)評(píng)報(bào)告】-【交易明細(xì)】,因公式中等單量次數(shù)上限為2,所以下單量從1->2->2->3->,遇到止盈,再?gòu)?->2...,如圖所示:
新的文本繪制函數(shù)Text_New 不僅可以在圖上標(biāo)出文本、數(shù)字,還能繪制680種圖標(biāo),圖標(biāo)與數(shù)字標(biāo)號(hào)對(duì)照表請(qǐng)見(jiàn)下圖:
上節(jié)的點(diǎn)數(shù)圖算法可以改寫(xiě)成公共函數(shù),這樣,其它公式就可以直接調(diào)用而不用寫(xiě)繁雜的語(yǔ)句,可以把“轉(zhuǎn)向價(jià)”作為函數(shù)的return輸出,用引用型參數(shù)NumericRef定義“突破買(mǎi)價(jià)”、“突破賣(mài)價(jià)”,這樣可以同時(shí)輸出這三個(gè)計(jì)算結(jié)果,請(qǐng)各位自行試驗(yàn)。
我們已經(jīng)介紹了一些經(jīng)典的策略和交易技巧及其金魔方公式實(shí)現(xiàn),在研發(fā)交易策略時(shí),如何評(píng)估策略的好壞、評(píng)估能否用于真實(shí)交易呢?
且聽(tīng)下回分解!
有思路,想編寫(xiě)各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫(xiě)!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒(méi)有相關(guān)內(nèi)容