這樣轉(zhuǎn)換策略有什么問題呢~~ [金字塔]
-
咨詢內(nèi)容:
////////////////////////////
原來的TB的策略
?
策略說明: 基于通道突破的判斷
//?系統(tǒng)要素:
// 1.?計算50根k線最高價的區(qū)間
// 2.?計算30根k線最低價的區(qū)間
//
//?入場條件:
// ????1.價格高于50根K線最高價的區(qū)間入場
//?出場條件:
// 1.?當(dāng)前價格低于30根K線最低價的區(qū)間出場
// 2.?當(dāng)前價格低于入場價一定ATR波動率幅度出場
//
//----------------------------------------------------------------------//
Params
Numeric?Length1(50); //長周期區(qū)間參數(shù)
Numeric?Length2(30); //短周期區(qū)間參數(shù)
Numeric?IPS(4); //保護止損波動率參數(shù)
Numeric?AtrVal(10); //波動率參數(shù)
Vars?
NumericSeries?ProtectStopL;
NumericSeries?ATR;
NumericSeries?Upperband;
NumericSeries?Lowerband;?
NumericSeries?Exitlong;
NumericSeries?Exitshort;
Numeric?L2;
Numeric?L1;
Numeric?Minpoint;
Begin
//?集合競價和小節(jié)休息過濾
If(BarStatus?==?2?And?IsCallAuctionTime)?Return;
Minpoint?=?Minmove*PriceScale;
????ATR?=?AvgTrueRange(AtrVal); ????? //定義ATR
L1?=?Max(Length1,Length2); ????? //出場周期選擇較大的區(qū)間參數(shù)
L2?=?Min(Length1,Length2); ????? //出場周期選擇較小的區(qū)間參數(shù)
Upperband?=?Highest(High,?L1); ????? //長周期最高價區(qū)間
Lowerband?=?lowest(Low,L1); ?? ???? ? //長周期最低價區(qū)間
Exitlong?=?Lowest(Low,L2); ????? //短周期最低價區(qū)間
Exitshort?=?Highest(high,L2); ????? //短周期最高價區(qū)間
//系統(tǒng)入場?
If(Marketposition?==?0?and?High?>=?Upperband[1]?+?Minpoint?And?Vol?>?0) ?????//價格大于長周期最高價區(qū)間入場做多
{
Buy(0,?Max(Open,?Upperband[1]?+?Minpoint));
ProtectStopL?=?Entryprice?-?IPS*ATR[1];
}
//系統(tǒng)出場
If(MarketPosition?==?1?and?BarsSinceEntry?>0?And?Vol?>?0)
{
If(?Low?<=?ProtectStopL[1]?and?ProtectStopL[1]?>=?Exitlong[1])??//價格低于入場價以下一定ATR幅度止損
{
Sell?(0,Min(Open,ProtectStopL[1]));
}
Else?if?(Low?<=?Exitlong[1]?-?Minpoint)????????????????????//價格低于短周期最低價區(qū)間出場
{
Sell(0,?Min(?Open,?Exitlong[1]?-?Minpoint));
}
}
End
////////////////////////////////////////////////////////////////// ? /////////////////////////////////////////////////////////////////// 我自己轉(zhuǎn)換的PEL策略INPUT:LENGTH1(50,1,100,5),LENGTH2(30,1,100,5),IPS(4,1,100,5),ATRVAL(10,1,100,5);
SS:=2;
MINPOINT:=MINDIFF()*MULTIPLIER();
ATR:=MA(TR,ATRVAL);
L1:=MAX(LENGTH1,LENGTH2);
L2:=MIN(LENGTH1,LENGTH2);
UPPERBAND:=HHV(H,L1);
LOWERBAND:=LLV(L,L1);
EXITLONGING:=LLV(L,L2);
EXITSHORTING:=HHV(H,L2);
UPPERBAND1:=REF(UPPERBAND,1);
ATR1:=REF(ATR,1);
PROTECTSTOPL :=ENTERPRICE()-IPS*ATR1;
PROTECTSTOPL1:=REF(PROTECTSTOPL,1);
EXITLONGING1:=REF(EXITLONGING,1);
IF HOLDING =0 AND H>(UPPERBAND1 +MINPOINT) AND VOL>0? THEN BEGIN
? BUY(1,SS,MAX(OPEN,UPPERBAND1+MINPOINT));
? PROTECTSTOPL :=ENTERPRICE()-IPS*ATR1;
ENDIF ( HOLDING>0 AND ENTERBARS>0 AND VOL>0 ) THEN BEGIN
? IF ( LOW <PROTECTSTOPL1 AND PROTECTSTOPL1>=EXITLONGING1 ) THEN BEGIN
? SELL(1,SS,MIN(OPEN,PROTECTSTOPL1));
? END
? IF ( LOW<=EXITLONGING1-MINPOINT ) THEN BEGIN
? SELL(1,SS,MIN(OPEN,EXITLONGING1-MINPOINT));
? END
END////////////////////////////////////////////////////
? ? ?
但是為什么轉(zhuǎn)出來的策略回測數(shù)據(jù)都是0呢?
-
金字塔客服:
補充好需要的數(shù)據(jù)后,在回測看下、、
本地測試有信號
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進行 有償 編寫!(不貴!點擊查看價格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容