打印本文
關(guān)閉窗口
TB改寫問題
作者:文華財(cái)經(jīng) 來源:cxh99.com 發(fā)布時(shí)間:2016年01月21日
咨詢內(nèi)容:
//------------------------------------------------------------------------// 簡(jiǎn)稱: ITF_TurtleRules_V105// 名稱: TurtleRules_V105// 類別: 公式應(yīng)用// 類型: 用戶應(yīng)用// 輸出://------------------------------------------------------------------------
Params Numeric Capital(1000000); // 初始資金; Numeric DateStart(20120101); // 此日的開盤將資金初始化為Capital; Numeric Direction(0); // 多空信號(hào)過濾條件,值為0不過濾,值為1只做多,值為1只做空; Numeric RiskRatio(1); // % Risk Per N ( 0 - 100) Numeric LengthAtr(20); // 平均波動(dòng)周期 ATR Length Numeric LengthFast(20); // 短周期 BreakOut Length Numeric LengthSlow(55); // 長(zhǎng)周期 FailSafe Length Numeric LengthExit(10); // 離市周期 Trailing Exit Length Bool LastProfitableTradeFilter(True); // 使用入市過濾條件 Bool UseLongSysFlag(False); // 只是用短期系統(tǒng)Vars Numeric MinPoint; // 最小變動(dòng)單位 NumericSeries N; // N 值 NumericSeries TotalEquity; // 按最新收盤價(jià)計(jì)算出的總資產(chǎn) NumericSeries TurtleUnits; // 交易單位 NumericSeries DonchianFastUpper; // 短周期唐奇安通道上軌,長(zhǎng)度LengthFast; NumericSeries DonchianFastLower; // 短周期唐奇安通道下軌,長(zhǎng)度LengthFast; NumericSeries DonchianSlowUpper; // 長(zhǎng)周期唐奇安通道上軌,長(zhǎng)度LengthSlow; NumericSeries DonchianSlowLower; // 長(zhǎng)周期唐奇安通道下軌,長(zhǎng)度LengthSlow; NumericSeries DonchianExitUpper; // 離市時(shí)判斷需要的N周期最高價(jià),長(zhǎng)度LengthExit; NumericSeries DonchianExitLower; // 離市時(shí)判斷需要的N周期最低價(jià),長(zhǎng)度LengthExit; NumericSeries MyPrice; NumericSeries MyExitPrice; // 平倉(cāng)價(jià)格 NumericSeries preEntryPrice(0); // 前一次開倉(cāng)的價(jià)格 BoolSeries PreBreakoutFailure(false); // 前一次突破是否失敗 Bool SendOrderThisBar(False); // 當(dāng)前Bar有過交易 NumericSeries AtrAve; // 記錄日線級(jí)別長(zhǎng)度為lengthAtr的平均真實(shí)波幅; NumericSeries DayHigh; // 一天中的最高價(jià); NumericSeries DayLow; // 一天中的最低價(jià); Numeric i; // 循環(huán)計(jì)算所需指針; NumericSeries Atr(0); // 當(dāng)天的ATR Numeric AtrIndex(0); // 存儲(chǔ)真實(shí)波幅的全局變量的環(huán)的索引值; NumericSeries DayCount(0); // 交易日數(shù); NumericSeries CloseD_1; // 上一個(gè)交易日收盤價(jià),過度CloseD(1); NumericSeries MyBarsSinceToday; // 過度BarsSinceToday; NumericSeries CapitalCurrent; // 調(diào)整資產(chǎn)規(guī)模后的最新資產(chǎn); NumericSeries CapitalPeak; // 調(diào)整資產(chǎn)規(guī)模后的最新資產(chǎn)峰值; NumericSeries ProfitClosing; // 平倉(cāng)盈虧; NumericSeries LotsTotal(0); // 持倉(cāng)手?jǐn)?shù); NumericSeries MyAvgEntryPrice; // 持倉(cāng)均價(jià); NumericSeries TimesOverWeight(0); // 加倉(cāng)次數(shù)記錄;Begin MinPoint = MinMove*PriceScale; MyBarsSinceToday = BarsSinceToday; CloseD_1 = CloseD(1); if(BarsSinceToday==0) { DayCount = DayCount + 1; //記錄交易日數(shù); DayHigh = High; DayLow = Low; //從第二個(gè)交易日開始記錄; if(DayCount>=2) { // 前一日真實(shí)波幅; Atr = max(max(Abs(DayHigh[1]-CloseD_1),Abs(DayLow[1]-CloseD_1)),DayHigh[1]-DayLow[1]); // 存儲(chǔ)前一天的Atr到全局變量環(huán)0-19; AtrIndex = (DayCount-2)%LengthAtr; SetGlobalVar(AtrIndex,Atr[1]); } // 從第LengthAtr+1個(gè)交易日開始計(jì)算; if(DayCount>=LengthAtr+1) { // 計(jì)算日線級(jí)別長(zhǎng)度為L(zhǎng)engthAtr的平均真實(shí)波幅; AtrAve = 0 ; for i=0 to LengthAtr-1 { AtrAve = AtrAve + getGlobalVar(i); } AtrAve = AtrAve/LengthAtr; N = IntPart(AtrAve); DonchianFastUpper = Highest(DayHigh[1],(LengthAtr-0.1)*(MyBarsSinceToday[1]+1)); DonchianFastLower = Lowest(DayLow[1],(LengthAtr-0.1)*(MyBarsSinceToday[1]+1)); DonchianSlowUpper = Highest(DayHigh[1],(LengthSlow-0.1)*(MyBarsSinceToday[1]+1)); DonchianSlowLower = Lowest(DayLow[1],(LengthSlow-0.1)*(MyBarsSinceToday[1]+1)); DonchianExitUpper = Highest(DayHigh[1],(LengthExit-0.1)*(MyBarsSinceToday[1])); DonchianExitLower = Lowest(DayLow[1],(LengthExit-0.1)*(MyBarsSinceToday[1])); } // 資產(chǎn)規(guī)模調(diào)整; // 如果有設(shè)置初始本金的開始時(shí)間; if(Date==DateStart and DateStart!=0 and Date!=Date[1]) { CapitalCurrent = Capital; // 調(diào)整資產(chǎn)規(guī)模后的最新資產(chǎn); Commentary("標(biāo)識(shí):第99行"); } // 如果沒有設(shè)置初始本金的開始時(shí)間; else if(DateStart==0 or (BarStatus==0 and Date>DateStart) ) { CapitalCurrent = Capital; Commentary("標(biāo)識(shí):第105行"); } CapitalPeak = Max(Max(Capital,CapitalCurrent[1]),CapitalCurrent+ProfitClosing); // 調(diào)整資產(chǎn)規(guī)模后的最新資產(chǎn)峰值; //標(biāo)準(zhǔn)單位頭寸 = (最新資產(chǎn)*風(fēng)險(xiǎn)比例)/價(jià)值波動(dòng)率 TurtleUnits = (CapitalCurrent*RiskRatio/100) /(N * ContractUnit()*BigPointValue()); TurtleUnits = IntPart(TurtleUnits); // 對(duì)小數(shù)取整 // PlotString("Units","Units="+Text(TurtleUnits),High+(High-Low),white); // PlotString("N","N="+Text(N),Low-(High-Low)/2,white); } Else { DayHigh = Max(DayHigh,High); DayLow = Min(DayLow,Low); }
If(MarketPosition==0 and TurtleUnits>=1 and DonchianFastUpper>0) { // 首次入市1:帶過濾條件的,如果過濾條件為真,則需要前一筆交易是否是突破失敗; if(LastProfitableTradeFilter==false Or PreBreakoutFailure ) { //開多1:突破短周期唐奇安通道上軌; If(High>DonchianFastUpper and Direction!=-1) { MyPrice = Max(Open,DonchianFastUpper)+MinPoint; preEntryPrice = MyPrice; Buy(TurtleUnits,MyPrice); MyExitPrice = MyPrice - 2*N; SendOrderThisBar = true; MyAvgEntryPrice = AvgEntryPrice; LotsTotal = TurtleUnits; TimesOverWeight = 1; } //開空1:突破短周期唐奇安通道下軌; if(Low<DonchianFastLower and Direction!=1) { MyPrice = Min(Open,DonchianFastLower)-MinPoint; preEntryPrice = MyPrice; SellShort(TurtleUnits,MyPrice); MyExitPrice = MyPrice + 2*N; SendOrderThisBar = true; MyAvgEntryPrice = AvgEntryPrice; LotsTotal = TurtleUnits; TimesOverWeight = 1; } } // 首次入市2:過濾條件之外的,長(zhǎng)周期唐奇安通道突破開倉(cāng); //開多2:突破長(zhǎng)周期唐奇安通道上軌; else { if(CrossOver(High,DonchianSlowUpper) and Direction!=-1 and UseLongSysFlag = True) { MyPrice = Max(Open,DonchianSlowUpper)+MinPoint; preEntryPrice = MyPrice; Buy(TurtleUnits,MyPrice); MyExitPrice = MyPrice - 2*N; SendOrderThisBar = true; MyAvgEntryPrice = AvgEntryPrice; LotsTotal = TurtleUnits; TimesOverWeight = 1; } //開空2:突破長(zhǎng)周期唐奇安通道下軌; if(CrossUnder(Low,DonchianSlowLower) and Direction!=1 and UseLongSysFlag = True) { MyPrice = Min(Open,DonchianSlowLower)+MinPoint; preEntryPrice = MyPrice; SellShort(TurtleUnits,MyPrice); MyExitPrice = MyPrice + 2*N; SendOrderThisBar = true; MyAvgEntryPrice = AvgEntryPrice; LotsTotal = TurtleUnits; TimesOverWeight = 1; } } } // 當(dāng)持有多單; if(MarketPosition==1 and TimesOverWeight>0) { //離市:價(jià)格反向穿越離市的唐奇安通道; if(CrossUnder(Low,DonchianExitLower)) { MyPrice = Min(Open,DonchianExitLower)-MinPoint; Sell(0,MyPrice); PreBreakoutFailure = False; //假突破值為假; // PlotBool("突破",PreBreakoutFailure,High,white); ProfitClosing = (MyPrice - MyAvgEntryPrice)*LotsTotal*ContractUnit()*BigPointValue(); CapitalCurrent = CapitalCurrent + ProfitClosing; TimesOverWeight = 0; LotsTotal = 0; } Else { // 第一次加倉(cāng):如果開盤價(jià)就大于最近一次開倉(cāng)價(jià)N,則以開盤價(jià)發(fā)單; if(Open>LastEntryPrice+0.5*N and TurtleUnits>=1 and TimesOverWeight<2) { MyPrice = Open; preEntryPrice = MyPrice; Buy(TurtleUnits,MyPrice); SendOrderThisBar = true; MyAvgEntryPrice = AvgEntryPrice; LotsTotal = LotsTotal + TurtleUnits; TimesOverWeight = TimesOverWeight + 1; } // 以最高價(jià)為標(biāo)準(zhǔn),判斷能進(jìn)行幾次增倉(cāng) while(High >= preEntryPrice + N and TimesOverWeight<2) { MyPrice = preEntryPrice + N; preEntryPrice = MyPrice; Buy(TurtleUnits,MyPrice); SendOrderThisBar = True; MyAvgEntryPrice = AvgEntryPrice; LotsTotal = LotsTotal + TurtleUnits; TimesOverWeight = TimesOverWeight + 1; } // 第二三次加倉(cāng):如果開盤價(jià)就大于最近一次開倉(cāng)價(jià)+0.5*N,則以開盤價(jià)發(fā)單; if(Open>LastEntryPrice+0.5*N and TurtleUnits>=2 and TimesOverWeight<4) { MyPrice = Open; preEntryPrice = MyPrice; Buy(TurtleUnits,MyPrice); SendOrderThisBar = true; MyAvgEntryPrice = AvgEntryPrice; LotsTotal = LotsTotal + TurtleUnits; TimesOverWeight = TimesOverWeight + 1; } // 第二三次加倉(cāng):以最高價(jià)為標(biāo)準(zhǔn),判斷能進(jìn)行幾次增倉(cāng) while(High >= preEntryPrice + 0.5*N and TimesOverWeight<4) { MyPrice = preEntryPrice + 0.5 * N; preEntryPrice = MyPrice; Buy(TurtleUnits,MyPrice); SendOrderThisBar = True; MyAvgEntryPrice = AvgEntryPrice; LotsTotal = LotsTotal + TurtleUnits; TimesOverWeight = TimesOverWeight + 1; } // 止損:價(jià)格反向穿越最近一次開倉(cāng)價(jià)格-2N; if(Low<LastEntryPrice-2*N) { MyPrice = Min(Open,LastEntryPrice-2*N)-MinPoint; Sell(0,MyPrice); PreBreakoutFailure = True; //假突破值為真; // PlotBool("突破",PreBreakoutFailure,High,white); ProfitClosing = (MyPrice - MyAvgEntryPrice)*LotsTotal*ContractUnit()*BigPointValue(); CapitalCurrent = CapitalCurrent + ProfitClosing; TimesOverWeight = 0; LotsTotal = 0; } } } // 當(dāng)持有空單; else if(MarketPosition==-1 and TimesOverWeight>0) { // 離市:價(jià)格反向穿越離市的唐奇安通道; if(CrossOver(High,DonchianExitUpper)) { MyPrice = Max(Open,DonchianExitUpper)+MinPoint; BuyToCover(0,MyPrice); PreBreakoutFailure = False; //假突破值為假; // PlotBool("突破",PreBreakoutFailure,High,white); ProfitClosing = (MyAvgEntryPrice - MyPrice)*LotsTotal*ContractUnit()*BigPointValue(); CapitalCurrent = CapitalCurrent + ProfitClosing; TimesOverWeight = 0; LotsTotal = 0; } Else { // 第一次加倉(cāng):與最近一次開倉(cāng)價(jià)格間隔N開倉(cāng); if(Open<LastEntryPrice-N and TurtleUnits>=1 and TimesOverWeight<2) { MyPrice = Open; preEntryPrice = MyPrice; SellShort(TurtleUnits,MyPrice); SendOrderThisBar = true; MyAvgEntryPrice = AvgEntryPrice; LotsTotal = LotsTotal + TurtleUnits; TimesOverWeight = 0; } // 以最低價(jià)為標(biāo)準(zhǔn),判斷能進(jìn)行幾次增倉(cāng) while(Low <= preEntryPrice - N and TimesOverWeight<2) { MyPrice = preEntryPrice - N; preEntryPrice = MyPrice; SellShort(TurtleUnits,MyPrice); SendOrderThisBar = True; MyAvgEntryPrice = AvgEntryPrice; LotsTotal = LotsTotal + TurtleUnits; TimesOverWeight = TimesOverWeight + 1; } // 二三次加倉(cāng):與最近一次開倉(cāng)價(jià)格間隔0.5*N開倉(cāng); if(Open<LastEntryPrice-0.5*N and TurtleUnits>=2 and TimesOverWeight<4) { MyPrice = Open; preEntryPrice = MyPrice; SellShort(TurtleUnits,MyPrice); SendOrderThisBar = true; MyAvgEntryPrice = AvgEntryPrice; LotsTotal = LotsTotal + TurtleUnits; TimesOverWeight = 0; } // 以最低價(jià)為標(biāo)準(zhǔn),判斷能進(jìn)行幾次增倉(cāng) while(Low <= preEntryPrice - 0.5*N and TimesOverWeight<4) { MyPrice = preEntryPrice - 0.5 * N; preEntryPrice = MyPrice; SellShort(TurtleUnits,MyPrice); SendOrderThisBar = True; MyAvgEntryPrice = AvgEntryPrice; LotsTotal = LotsTotal + TurtleUnits; TimesOverWeight = TimesOverWeight + 1; } // 止損:價(jià)格反向穿越最近一次開倉(cāng)價(jià)格+2N; if(High>LastEntryPrice+2*N) { MyPrice = Max(Open,LastEntryPrice+2*N)+MinPoint; BuyToCover(0,MyPrice); PreBreakoutFailure = True; //假突破值為真; // PlotBool("突破",PreBreakoutFailure,High,white); ProfitClosing = (MyAvgEntryPrice - MyPrice)*LotsTotal*ContractUnit()*BigPointValue(); CapitalCurrent = CapitalCurrent + ProfitClosing; TimesOverWeight = 0; LotsTotal = 0; } } } PlotNumeric("DonchianFastUpper",DonchianFastUpper); PlotNumeric("DonchianFastLower",DonchianFastLower); PlotNumeric("DonchianSlowUpper",DonchianSlowUpper); PlotNumeric("DonchianSlowLower",DonchianSlowLower); PlotNumeric("DonchianExitUpper",DonchianExitUpper); PlotNumeric("DonchianExitLower",DonchianExitLower); Commentary("點(diǎn)值="+Text(ContractUnit()*BigPointValue())); Commentary("TotalEquity="+Text(TotalEquity)); Commentary("N="+Text(N)); Commentary("Units="+Text(TurtleUnits)); // Commentary("Atr="+Text(Atr)); // Commentary("AtrAve="+Text(AtrAve)); // PlotNumeric("AtrAve",AtrAve); Commentary("DayCount="+Text(DayCount)); Commentary("MyBarsSinceToday="+Text(MyBarsSinceToday[1]+1)); Commentary("CapitalCurrent="+Text(CapitalCurrent)); Commentary("LotsTotal="+Text(LotsTotal)); Commentary("MyAvgEntryPrice="+Text(MyAvgEntryPrice)); Commentary("MyPrice="+Text(MyPrice)); Commentary("ProfitClosing="+Text(ProfitClosing)); Commentary("CurrentBar="+Text(CurrentBar));End
文華技術(shù)人員:
您的模型是含有加倉(cāng)編寫的模型贏順V6.7不支持加倉(cāng)的編寫
請(qǐng)下載贏智V8.2使用
http://cxh.wenhua.com.cn/index.asp
文華客服:
您指的
顯示100變量重復(fù)定義
是怎樣的情況 是把1樓的源碼加入到贏智V8.2中的編寫平臺(tái)嗎
麥語(yǔ)言的編寫 不兼容樓上編寫的 需要改寫后才能實(shí)現(xiàn)的
打印本文
關(guān)閉窗口
主站蜘蛛池模板:
4ayy私人影院
|
五十路老熟道中出在线播放
|
0urp|ay加速器
|
精品人妻少妇一区二区三区在线
|
老司机精品福利在线
|
成人永久福利免费观看
|
亚洲精品成人片在线播放
|
国产精品久久久久…
|
七月婷婷精品视频在线观看
|
日韩美女一级毛片
|
亚洲精品不卡视频
|
精品无码国产污污污免费网站
|
国产成人一区二区动漫精品
|
中文字幕电影在线
|
欧美国产精品不卡在线观看
|
免费无码成人AV在线播放不卡
|
里番无修旧番6080在线观看
|
有色视频在线观看免费高清
|
夜夜嘿视频免费看
|
久久综合给合久久狠狠狠97色
|
特级做a爰片毛片免费看无码
|
国产va免费精品观看精品
|
欧美日韩另类综合
|
女同志videos
|
久久99久久99精品免观看
|
最近中文字幕精彩视频
|
亚洲欧美日韩综合在线播放
|
黑人video
|
日本护士xxxx视频
|
亚洲国产日韩欧美一区二区三区
|
边做饭边被躁欧美三级
|
国产精品国三级国产AV
|
av无码精品一区二区三区四区
|
91精品免费高清在线
|
精品人妻中文无码av在线
|
国产在线视频色综合
|
1000部免费啪啪十八未年禁止观看
|
欧美大胆a级视频免费
|
伊人久久大香线蕉综合7
|
美女把腿扒开让男人桶爽了
|
国产精品蜜芽在线观看
|