tb公式想改文華wh8 [文華財(cái)經(jīng)]

  • 咨詢內(nèi)容: ?
    ParamsNumeric Length1(88); //均線 Numeric LEntry(25); //進(jìn)場(chǎng)M根K線最高點(diǎn) Numeric LSell(48); //進(jìn)場(chǎng)n根K線最低點(diǎn) Numeric StopPCT(0.1); //固定比例止損 Numeric FixXIELV(27); //斜率界定 Numeric FixJump(1); ? ? Numeric TrailingStart1(10); // 跟蹤止損啟動(dòng)設(shè)置1? ? Numeric TrailingStop1(10); ?// 跟蹤止損設(shè)置1
    ? ? Numeric TrailingStart2(100); // 跟蹤止損啟動(dòng)設(shè)置1? ? Numeric TrailingStop2(60); ?// 跟蹤止損設(shè)置1? ??? ? Numeric KaiD(-20);?? ? Numeric KaiK(-40);?
    vars Numeric XIELV; //MA斜率,用于過(guò)濾 NumericSeries MA1; //MA均線,用于過(guò)濾信號(hào)? ? ? ? ? ?? NumericSeries ShortStop; ? ? ? ? ? ? NumericSeries LongStop; NumericSeries EntryHi; ? ? ? ? ? ? ? NumericSeries EntryLo; ?? NumericSeries SellHi; NumericSeries SellLo; ? ? ? ? ? ? ?? NumericSeries TradeNum; //記錄信號(hào)開始天數(shù) Numeric MinPoint; ? ? ? ? ? // 一個(gè)最小變動(dòng)單位,也就是一跳? ? Numeric MyEntryPrice; ? ? ? // 開倉(cāng)價(jià)格,本例是開倉(cāng)均價(jià),也可根據(jù)需要設(shè)置為某次入場(chǎng)的價(jià)格? ? Numeric MyExitPrice; ? ? ? ?// 平倉(cāng)價(jià)格 ? ? NumericSeries HighestAfterEntry; ? ? ? ?// 開倉(cāng)后出現(xiàn)的最高價(jià)? ? NumericSeries LowestAfterEntry; ? ? ? ? // 開倉(cāng)后出現(xiàn)的最低價(jià)



    begin MinPoint=MinMove*PriceScale; //Length1均線 MA1=Summation(Close,Length1)/Length1; PlotNumeric("MA1",MA1); //入場(chǎng)點(diǎn),開多和開空點(diǎn),突破LEntry天最高或最低 EntryHi = Highest(high[1],LEntry); EntryLo ?= Lowest(low[1],LEntry); //離場(chǎng)點(diǎn),止盈點(diǎn),LSell天較高或較低 SellHi=Highest(high[1],LSell); SellLo= Lowest(low[1],LSell); if (BarStatus==0 || TradeNum >=3) { TradeNum = -1; } if(Time!=Time[1] && tradenum>=0) { TradeNum = TradeNum[1]+1; } ? ? If(BarsSinceentry == 0)? ? {? ? ? ? HighestAfterEntry = Close;? ? ? ? LowestAfterEntry = Close;? ? ? ? If(MarketPosition <> 0)? ? ? ? {? ? ? ? ? ? HighestAfterEntry = Max(HighestAfterEntry,AvgEntryPrice); ? // 開倉(cāng)的Bar,將開倉(cāng)價(jià)和當(dāng)時(shí)的收盤價(jià)的較大值保留到HighestAfterEntry? ? ? ? ? ? LowestAfterEntry = Min(LowestAfterEntry,AvgEntryPrice); ? ? // 開倉(cāng)的Bar,將開倉(cāng)價(jià)和當(dāng)時(shí)的收盤價(jià)的較小值保留到LowestAfterEntry? ? ? ? }? ? }else? ? {? ? ? ? HighestAfterEntry = Max(HighestAfterEntry,High); // 記錄下當(dāng)前Bar的最高點(diǎn),用于下一個(gè)Bar的跟蹤止損判斷? ? ? ? LowestAfterEntry = Min(LowestAfterEntry,Low); ? ?// 記錄下當(dāng)前Bar的最低點(diǎn),用于下一個(gè)Bar的跟蹤止損判斷? ? } Commentary("MAID:"+Text(((High -MA1[1])*10000/MA1[1])-FixXIELV)); Commentary("MAIK:"+Text(((Low -MA1[1])*10000/MA1[1])-FixXIELV)); if(MarketPosition ==0 and TradeNum<0 ) { If( high>EntryHi ?&& (((High -MA1[1])*10000/MA1[1])-FixXIELV) >KaiD )////CrossOver(high,EntryHi) ? ? high>MA1 && { TradeNum = 0; myEntryPrice = min(high,EntryHi ); myEntryPrice = IIF(myEntryPrice < Open, Open,myEntryPrice);? Buy(0,myEntryPrice+FixJump*MinPoint); //止損點(diǎn),兩天較低 //LongStop=low[1]; LongStop=Max(Highest(low[1],2),myEntryPrice*(1-StopPCT/100)); } If( Low<EntryLo ?&& (((Low -MA1[1])*10000/MA1[1])+FixXIELV)< KaiK) //// ? ?CrossUnder(Low,EntryLo) ?low <MA1 ?&& { TradeNum = 0; myEntryPrice = max(low,EntryLo ?); myEntryPrice = IIF(myEntryPrice > Open, Open,myEntryPrice);? SellShort(0,myEntryPrice-FixJump*MinPoint); //止損點(diǎn),兩天較高 ShortStop= Min(Lowest(high[1],2),myEntryPrice*(1+StopPCT/100)); ? } } ?? ?? If(MarketPosition ==1) { if (BarsSinceEntry>0 && Low<LongStop) { myExitPrice = max(low,LongStop ); myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); Sell(0,myExitPrice-FixJump*MinPoint); }else if (BarsSinceEntry>0 && Low<SellLo) //(XIELV<0) { myExitPrice = max(low,SellLo ); myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); Sell(0,myExitPrice-FixJump*MinPoint); }else if(HighestAfterEntry[1] >= EntryPrice + TrailingStart2*MinPoint)// 第一級(jí)跟蹤止損的條件表達(dá)式? ? ? ? {? ? ? ? ? ? If(Low <= HighestAfterEntry[1] - TrailingStop2*MinPoint)? ? ? ? ? ? {? ? ? ? ? ? ? ? MyExitPrice = Max(Low,HighestAfterEntry[1] - TrailingStop2*MinPoint);? ? ? ? ? ? ? ? myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); ? ? // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替? ? ? ? ? ? ? ? Sell(0,MyExitPrice-FixJump*MinPoint);? ? ? ? ? ? }? ? ? ? }else if(HighestAfterEntry[1] >= EntryPrice + TrailingStart1*MinPoint)// 第一級(jí)跟蹤止損的條件表達(dá)式? ? ? ? {? ? ? ? ? ? If(Low <= HighestAfterEntry[1] - TrailingStop1*MinPoint)? ? ? ? ? ? {? ? ? ? ? ? ? ? MyExitPrice = Max(Low,HighestAfterEntry[1] - TrailingStop1*MinPoint);? ? ? ? ? ? ? ? myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); ? ? // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替? ? ? ? ? ? ? ? Sell(0,MyExitPrice-FixJump*MinPoint);? ? ? ? ? ? }? ? ? ? }
    } ?? If(MarketPosition ==-1) { if(BarsSinceEntry>0 && high>ShortStop) { myExitPrice = min(high,ShortStop ); myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice); BuyToCover(0,myExitPrice+FixJump*MinPoint); }else if(BarsSinceEntry>0 && high>SellHi) //(XIELV>0) { myExitPrice = min(high,SellHi);? myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice); BuyToCover(0,myExitPrice+FixJump*MinPoint); }else if(LowestAfterEntry[1] <= EntryPrice - TrailingStart2*MinPoint)// 第一級(jí)跟蹤止損的條件表達(dá)式? ? ? ? {? ? ? ? ? ? If(High >= LowestAfterEntry[1] + TrailingStop2*MinPoint)? ? ? ? ? ? {? ? ? ? ? ? ? ? MyExitPrice = min(high,LowestAfterEntry[1] + TrailingStop2*MinPoint);? ? ? ? ? ? ? ? myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice); ? ? // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替? ? ? ? ? ? ? ? BuyToCover(0,MyExitPrice+FixJump*MinPoint);? ? ? ? ? ? }? ? ? ? }else if(LowestAfterEntry[1] <= EntryPrice - TrailingStart1*MinPoint)// 第一級(jí)跟蹤止損的條件表達(dá)式? ? ? ? {? ? ? ? ? ? If(High >= LowestAfterEntry[1] + TrailingStop1*MinPoint)? ? ? ? ? ? {? ? ? ? ? ? ? ? MyExitPrice = min(high,LowestAfterEntry[1] + TrailingStop1*MinPoint);? ? ? ? ? ? ? ? myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice); ? ? // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替? ? ? ? ? ? ? ? BuyToCover(0,MyExitPrice+FixJump*MinPoint);? ? ? ? ? ? }? ? ? ? } }? ? ? ? Commentary("TradeNum:"+Text(TradeNum)); Commentary("Time:"+TimeToString(TIME[1])); end

    ?

    ?來(lái)源:程序化99

  • 文華技術(shù)人員: ?WH8是麥語(yǔ)言編寫平臺(tái),直接改寫您的模型是很復(fù)雜的
    但我們提供MQ軟件,兼容了TB的編寫方式,您模型進(jìn)行簡(jiǎn)單修改,就能在MQ上使用了
    您到官網(wǎng)下載mq即可?http://mq.wenhua.com.cn/
    代碼如下修改
    ParamsNumeric Length1(88); //均線Numeric LEntry(25); //進(jìn)場(chǎng)M根K線最高點(diǎn)Numeric LSell(48); //進(jìn)場(chǎng)n根K線最低點(diǎn)Numeric FixXIELV(27); //斜率界定Numeric FixJump(1);Numeric TrailingStart1(10); // 跟蹤止損啟動(dòng)設(shè)置1Numeric TrailingStop1(10); ?// 跟蹤止損設(shè)置1Numeric TrailingStart2(100); // 跟蹤止損啟動(dòng)設(shè)置1Numeric TrailingStop2(60); ?// 跟蹤止損設(shè)置1Numeric KaiD(-20);?varsNumeric StopPCT; //固定比例止損Numeric XIELV; //MA斜率,用于過(guò)濾Numeric KaiK(-40);?NumericSeries MA1; //MA均線,用于過(guò)濾信號(hào)NumericSeries ShortStop;NumericSeries LongStop;NumericSeries EntryHi; ?NumericSeries EntryLo; ??NumericSeries SellHi;NumericSeries SellLo; ??NumericSeries TradeNum;//記錄信號(hào)開始天數(shù)Numeric MinPoint; ? // 一個(gè)最小變動(dòng)單位,也就是一跳Numeric MyEntryPrice; ? // 開倉(cāng)價(jià)格,本例是開倉(cāng)均價(jià),也可根據(jù)需要設(shè)置為某次入場(chǎng)的價(jià)格Numeric MyExitPrice;// 平倉(cāng)價(jià)格NumericSeries HighestAfterEntry;// 開倉(cāng)后出現(xiàn)的最高價(jià)NumericSeries LowestAfterEntry; // 開倉(cāng)后出現(xiàn)的最低價(jià)beginStopPCT=0.1;MinPoint=MinMove*PriceScale;MA1=Summation(Close,Length1)/Length1;PlotNumeric("MA1",MA1);EntryHi = Highest(high[1],LEntry);EntryLo ?= Lowest(low[1],LEntry);SellHi=Highest(high[1],LSell);SellLo= Lowest(low[1],LSell);if (BarStatus==0 || TradeNum >=3){TradeNum = -1;}
    if(Time!=Time[1] && tradenum>=0){TradeNum = TradeNum[1]+1;}If(BarsSinceentry == 0){HighestAfterEntry = Close;LowestAfterEntry = Close;If(MarketPosition <> 0){HighestAfterEntry = Max(HighestAfterEntry,AvgEntryPrice); ? // 開倉(cāng)的Bar,將開倉(cāng)價(jià)和當(dāng)時(shí)的收盤價(jià)的較大值保留到HighestAfterEntryLowestAfterEntry = Min(LowestAfterEntry,AvgEntryPrice); // 開倉(cāng)的Bar,將開倉(cāng)價(jià)和當(dāng)時(shí)的收盤價(jià)的較小值保留到LowestAfterEntry}}else{HighestAfterEntry = Max(HighestAfterEntry,High); // 記錄下當(dāng)前Bar的最高點(diǎn),用于下一個(gè)Bar的跟蹤止損判斷LowestAfterEntry = Min(LowestAfterEntry,Low);// 記錄下當(dāng)前Bar的最低點(diǎn),用于下一個(gè)Bar的跟蹤止損判斷}Commentary("MAID:"+Text(((High -MA1[1])*10000/MA1[1])-FixXIELV));Commentary("MAIK:"+Text(((Low -MA1[1])*10000/MA1[1])-FixXIELV));if(MarketPosition ==0 and TradeNum<0 ){If( high>EntryHi ?&& (((High -MA1[1])*10000/MA1[1])-FixXIELV) >KaiD )////CrossOver(high,EntryHi) high>MA1 &&{TradeNum = 0;myEntryPrice = min(high,EntryHi );myEntryPrice = IIF(myEntryPrice < Open, Open,myEntryPrice);?Buy(0,myEntryPrice+FixJump*MinPoint);LongStop=Max(Highest(low[1],2),myEntryPrice*(1-StopPCT/100));}If( Low<EntryLo ?&& (((Low -MA1[1])*10000/MA1[1])+FixXIELV)< KaiK) ////CrossUnder(Low,EntryLo) ?low <MA1 ?&&{TradeNum = 0;myEntryPrice = max(low,EntryLo ?);myEntryPrice = IIF(myEntryPrice > Open, Open,myEntryPrice);?SellShort(0,myEntryPrice-FixJump*MinPoint);ShortStop= Min(Lowest(high[1],2),myEntryPrice*(1+StopPCT/100));}}If(MarketPosition ==1){if (BarsSinceEntry>0 && Low<LongStop){
    myExitPrice = max(low,LongStop );
    myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice);
    Sell(0,myExitPrice-FixJump*MinPoint);

    }else if (BarsSinceEntry>0 && Low<SellLo) //(XIELV<0)
    {
    myExitPrice = max(low,SellLo );
    myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice);
    Sell(0,myExitPrice-FixJump*MinPoint);

    }else if(HighestAfterEntry[1] >= EntryPrice + TrailingStart2*MinPoint)// 第一級(jí)跟蹤止損的條件表達(dá)式{If(Low <= HighestAfterEntry[1] - TrailingStop2*MinPoint){MyExitPrice = Max(Low,HighestAfterEntry[1] - TrailingStop2*MinPoint);myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替Sell(0,MyExitPrice-FixJump*MinPoint);}}else if(HighestAfterEntry[1] >= EntryPrice + TrailingStart1*MinPoint)// 第一級(jí)跟蹤止損的條件表達(dá)式{If(Low <= HighestAfterEntry[1] - TrailingStop1*MinPoint){MyExitPrice = Max(Low,HighestAfterEntry[1] - TrailingStop1*MinPoint);myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替Sell(0,MyExitPrice-FixJump*MinPoint);}}}If(MarketPosition ==-1){if(BarsSinceEntry>0 && high>ShortStop){myExitPrice = min(high,ShortStop );myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice);BuyToCover(0,myExitPrice+FixJump*MinPoint);}else if(BarsSinceEntry>0 && high>SellHi) //(XIELV>0){myExitPrice = min(high,SellHi);?myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice);BuyToCover(0,myExitPrice+FixJump*MinPoint);}else if(LowestAfterEntry[1] <= EntryPrice - TrailingStart2*MinPoint)// 第一級(jí)跟蹤止損的條件表達(dá)式{If(High >= LowestAfterEntry[1] + TrailingStop2*MinPoint){MyExitPrice = min(high,LowestAfterEntry[1] + TrailingStop2*MinPoint);myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice); // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替BuyToCover(0,MyExitPrice+FixJump*MinPoint);}}else if(LowestAfterEntry[1] <= EntryPrice - TrailingStart1*MinPoint)// 第一級(jí)跟蹤止損的條件表達(dá)式{If(High >= LowestAfterEntry[1] + TrailingStop1*MinPoint){MyExitPrice = min(high,LowestAfterEntry[1] + TrailingStop1*MinPoint);myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice); // 如果該Bar開盤價(jià)有跳空觸發(fā),則用開盤價(jià)代替BuyToCover(0,MyExitPrice+FixJump*MinPoint);}}}Commentary("TradeNum:"+Text(TradeNum));Commentary("Time:"+TimeToString(TIME[1]));end

    ?

    ?來(lái)源: www.tumamayizhan.com

  • 文華客服: ?想改成WH8麥語(yǔ)言的 ? 這個(gè)TB的交易方式不是很穩(wěn)定 我實(shí)際運(yùn)行的時(shí)候和回測(cè)的時(shí)候價(jià)格老是不一致

    ?

  • 網(wǎng)友回復(fù): ?MQ(wh9)的回測(cè)運(yùn)行機(jī)制和wh8一樣的,只是模型語(yǔ)言不一樣。
    回測(cè)和運(yùn)行的一致性,和wh8也是一樣的,請(qǐng)放心使用


    ?

  • 網(wǎng)友回復(fù): ?我加載到MQ里沒有交易?
    ?但是我在TB里是有的

 

有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 511411198  點(diǎn)擊這里給我發(fā)消息進(jìn)行 有償 編寫!不貴!點(diǎn)擊查看價(jià)格!


【字體: 】【打印文章】【查看評(píng)論

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 成人国产一区二区三区| 欧美黑人又粗又大久久久| 国产在线观看精品一区二区三区91| 97国产精品视频观看一| 娇bbb搡bbb擦bbb| 中文字幕第3页| 日本强好片久久久久久aaa| 亚洲人jizz日本人| 欧美日韩综合在线视频免费看 | 一本之道在线视频| 日产精品卡二卡三卡四卡乱码视频 | 国产在线麻豆精品| 看黄色免费网站| 国产高清在线a视频大全| eeuss影院天堂影院| 思思91精品国产综合在线| 中文字幕精品亚洲无线码二区| 日韩欧美无线在码| 亚洲av无码乱码国产精品fc2| 欧美成人全部视频| 亚洲欧美一区二区三区| 波多野结衣最新电影| 免费一级毛片在线播放傲雪网| 精品无码中出一区二区| 四虎影在线永久免费观看| 色综合久久久久久久久五月| 国产午夜视频高清| 麻豆传煤入口麻豆公司传媒| 国产成人麻豆tv在线观看| 亚洲另类专区欧美制服| 国产精品免费无遮挡无码永久视频 | 国产精品成人无码久久久久久| 91麻豆精品国产自产在线| 在线观看免费a∨网站| a级毛片免费全部播放无码| 女性自慰aⅴ片高清免费| 一卡2卡3卡4卡免费高清| 影音先锋男人站| 一本大道香一蕉久在线影院| 小小在线观看视频www软件| 一级毛片免费全部播放|