打印本文
關(guān)閉窗口
tb公式想改文華wh8
作者:文華財(cái)經(jīng) 來(lái)源:cxh99.com 發(fā)布時(shí)間:2018年09月03日
咨詢(xún)內(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)開(kāi)始天數(shù) Numeric MinPoint; ? ? ? ? ? // 一個(gè)最小變動(dòng)單位,也就是一跳? ? Numeric MyEntryPrice; ? ? ? // 開(kāi)倉(cāng)價(jià)格,本例是開(kāi)倉(cāng)均價(jià),也可根據(jù)需要設(shè)置為某次入場(chǎng)的價(jià)格? ? Numeric MyExitPrice; ? ? ? ?// 平倉(cāng)價(jià)格 ? ? NumericSeries HighestAfterEntry; ? ? ? ?// 開(kāi)倉(cāng)后出現(xiàn)的最高價(jià)? ? NumericSeries LowestAfterEntry; ? ? ? ? // 開(kāi)倉(cāng)后出現(xiàn)的最低價(jià)
begin MinPoint=MinMove*PriceScale; //Length1均線 MA1=Summation(Close,Length1)/Length1; PlotNumeric("MA1",MA1); //入場(chǎng)點(diǎn),開(kāi)多和開(kāi)空點(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); ? // 開(kāi)倉(cāng)的Bar,將開(kāi)倉(cāng)價(jià)和當(dāng)時(shí)的收盤(pán)價(jià)的較大值保留到HighestAfterEntry? ? ? ? ? ? LowestAfterEntry = Min(LowestAfterEntry,AvgEntryPrice); ? ? // 開(kāi)倉(cāng)的Bar,將開(kāi)倉(cāng)價(jià)和當(dāng)時(shí)的收盤(pán)價(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開(kāi)盤(pán)價(jià)有跳空觸發(fā),則用開(kāi)盤(pán)價(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開(kāi)盤(pán)價(jià)有跳空觸發(fā),則用開(kāi)盤(pán)價(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開(kāi)盤(pán)價(jià)有跳空觸發(fā),則用開(kāi)盤(pán)價(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開(kāi)盤(pán)價(jià)有跳空觸發(fā),則用開(kāi)盤(pán)價(jià)代替? ? ? ? ? ? ? ? BuyToCover(0,MyExitPrice+FixJump*MinPoint);? ? ? ? ? ? }? ? ? ? } }? ? ? ? Commentary("TradeNum:"+Text(TradeNum)); Commentary("Time:"+TimeToString(TIME[1])); end
?
?來(lái)源:程序化99
文華技術(shù)人員:
?WH8是麥語(yǔ)言編寫(xiě)平臺(tái),直接改寫(xiě)您的模型是很復(fù)雜的
但我們提供MQ軟件,兼容了TB的編寫(xiě)方式,您模型進(jìn)行簡(jiǎn)單修改,就能在MQ上使用了
您到官網(wǎng)下載mq即可?http://mq.wenhua.com.cn/
代碼如下修改
Params
Numeric 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è)置1
Numeric TrailingStop1(10); ?// 跟蹤止損設(shè)置1
Numeric TrailingStart2(100); // 跟蹤止損啟動(dòng)設(shè)置1
Numeric TrailingStop2(60); ?// 跟蹤止損設(shè)置1
Numeric KaiD(-20);?
vars
Numeric 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)開(kāi)始天數(shù)
Numeric MinPoint; ? // 一個(gè)最小變動(dòng)單位,也就是一跳
Numeric MyEntryPrice; ? // 開(kāi)倉(cāng)價(jià)格,本例是開(kāi)倉(cāng)均價(jià),也可根據(jù)需要設(shè)置為某次入場(chǎng)的價(jià)格
Numeric MyExitPrice;// 平倉(cāng)價(jià)格
NumericSeries HighestAfterEntry;// 開(kāi)倉(cāng)后出現(xiàn)的最高價(jià)
NumericSeries LowestAfterEntry; // 開(kāi)倉(cāng)后出現(xiàn)的最低價(jià)
begin
StopPCT=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); ? // 開(kāi)倉(cāng)的Bar,將開(kāi)倉(cāng)價(jià)和當(dāng)時(shí)的收盤(pán)價(jià)的較大值保留到HighestAfterEntry
LowestAfterEntry = Min(LowestAfterEntry,AvgEntryPrice); // 開(kāi)倉(cāng)的Bar,將開(kāi)倉(cāng)價(jià)和當(dāng)時(shí)的收盤(pán)價(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開(kāi)盤(pán)價(jià)有跳空觸發(fā),則用開(kāi)盤(pán)價(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開(kāi)盤(pán)價(jià)有跳空觸發(fā),則用開(kāi)盤(pán)價(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開(kāi)盤(pán)價(jià)有跳空觸發(fā),則用開(kāi)盤(pán)價(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開(kāi)盤(pán)價(jià)有跳空觸發(fā),則用開(kāi)盤(pán)價(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里沒(méi)有交易?
?但是我在TB里是有的
打印本文
關(guān)閉窗口
主站蜘蛛池模板:
亚洲av无码一区二区三区性色
|
在线播放五十路乱中文
|
久萆下载app下载入口
|
男人猛躁进女人免费观看
|
国产妇乱子伦视频免费
|
97中文字幕在线
|
成人av在线一区二区三区
|
乱人伦人妻中文字幕无码
|
波多野结衣看片
|
四虎影视永久在线观看
|
国产精品制服丝袜一区
|
夜夜嗨AV一区二区三区
|
中文字幕a∨在线乱码免费看
|
曰本女同互慰高清在线观看
|
亚洲欧美色图小说
|
精品无码久久久久久久动漫
|
国产对白受不了了中文对白
|
91精品国产91久久
|
巨肉超污巨黄h文小短文
|
久久九九精品国产综合喷水
|
欧美亚洲另类在线
|
亚洲色一区二区三区四区
|
精品视频国产狼人视频
|
国产在线视频www片
|
**俄罗斯毛片免费
|
夜夜揉揉日日人人青青
|
与子乱勾搭对白在线观看
|
日本片免费观看一区二区
|
亚洲国产日韩欧美在线as乱码
|
特黄aaaaaaaaa及毛片
|
又黄又爽又色的视频在线看
|
韩日一区二区三区
|
国产精品99久久久久久www
|
97久久精品人人澡人人爽
|
好吊妞视频在线观看
|
中文字幕人妻色偷偷久久
|
日本高清色www网站色
|
亚洲av无码欧洲av无码网站
|
欧美精品国产综合久久
|
你的腿再打开一点就能吃到了
|
精彩视频一区二区
|