期貨軟件TB系統(tǒng)源代碼解讀系列67-幽靈交易者

取名為幽靈交易者的系統(tǒng),名字霸氣随抠,效果,大家自己測(cè)試看看了繁涂,照例還是先看策略說(shuō)明吧:

策略說(shuō)明:

模擬交易產(chǎn)生一次虧損后才啟動(dòng)真實(shí)下單交易拱她。

系統(tǒng)要素:

1、兩條指數(shù)平均線

2扔罪、RSI指標(biāo)

3秉沼、唐奇安通道

入場(chǎng)條件:

1、模擬交易產(chǎn)生一次虧損矿酵、短期均線在長(zhǎng)期均線之上唬复、RSI低于超買值、創(chuàng)新高全肮,則開多單

2敞咧、模擬交易產(chǎn)生一次虧損、短期均線在長(zhǎng)期均線之下倔矾、RSI高于超賣值妄均、創(chuàng)新低,則開空單

出場(chǎng)條件:

1哪自、持有多單時(shí)小于唐奇安通道下軌丰包,平多單

2、持有空單時(shí)大于唐奇安通道上軌壤巷,平空單

做多代碼及解讀如下:

Params

Numeric FastLength(9); // 聲明數(shù)值參數(shù)FastLength邑彪,初值9,即短期指數(shù)平均線參數(shù)胧华。//

Numeric SlowLength(19); // 聲明數(shù)值參數(shù)SlowLength寄症,初值19,即長(zhǎng)期指數(shù)平均線參數(shù)矩动。//

Numeric Length(9); // 聲明數(shù)值參數(shù)Length有巧,初值9,即RSI參數(shù)悲没。//

Numeric OverSold(30); // 聲明數(shù)值參數(shù)OverSold篮迎,初值30,即超賣。//

Numeric OverBought(70); // 聲明數(shù)值參數(shù)OverBought甜橱,初值70逊笆,即超買。//

Numeric Lots(0); // 聲明數(shù)值參數(shù)Lots岂傲,初值0难裆,即交易手?jǐn)?shù)設(shè)置。//

Vars

NumericSeries AvgValue1; // 聲明數(shù)值序列變量AvgValue1镊掖,即短期指數(shù)平均線?乃戈。//

NumericSeries AvgValue2; // 聲明數(shù)值序列變量AvgValue2,即長(zhǎng)期指數(shù)平均線亩进。//

NumericSeries NetChgAvg(0);//聲明數(shù)值序列變量NetChgAvg偏化,初值0。//

NumericSeries TotChgAvg(0);//聲明數(shù)值序列變量TotChgAvg镐侯,初值0.//

Numeric SF(0);//聲明數(shù)值變量SF,初值0.//

Numeric Change(0); //聲明數(shù)值變量Change驶冒,初值0.//

Numeric ChgRatio(0);//聲明數(shù)值變量ChgRatio苟翻,初值0.//

NumericSeries RSIValue; // 聲明數(shù)值序列變量RSIValue,即RSI指標(biāo)骗污。//

NumericSeries ExitHiBand(0); // 聲明數(shù)值序列變量ExitHiBand崇猫,初值0,唐奇安通道上軌需忿。//

NumericSeries ExitLoBand(0); //聲明數(shù)值序列變量ExitLoBand诅炉,初值0, 唐奇安通道下軌屋厘。//

NumericSeries myEntryPrice(0); //聲明數(shù)值序列變量myEntryPrice涕烧,初值0, 進(jìn)場(chǎng)價(jià)格汗洒。//

NumericSeries myExitPrice(0); // 聲明數(shù)值序列變量myExitPrice议纯,初值0,出場(chǎng)價(jià)格溢谤。//

NumericSeries myProfit(0); // 聲明數(shù)值序列變量myProfit瞻凤,初值0,即利潤(rùn)世杀。//

NumericSeries myPosition(0); // 聲明數(shù)值序列變量myPosition阀参,初值0,即多空標(biāo)志瞻坝。//

Begin

If(!CallAuctionFilter()) Return;// 集合競(jìng)價(jià)和小節(jié)休息過(guò)濾蛛壳。//

AvgValue1 = Xaverage(Close,FastLength);// 計(jì)算短期指數(shù)平均線,即把收盤價(jià)與周期9返回函數(shù)Xaverage求值。//

AvgValue2 = Xaverage(Close,SlowLength);//同理炕吸,計(jì)算長(zhǎng)期指數(shù)平均線參數(shù)伐憾。//

// 計(jì)算RSI。//

If(CurrentBar <= Length - 1)//假如當(dāng)前索引k線數(shù)位值小于等于周期8(9-1)的赫模。//

{

NetChgAvg = (Close - Close[Length])/Length;//代入相應(yīng)數(shù)值計(jì)算树肃,即得NetChgAvg = (close - close[9])/ 9的。//

TotChgAvg = Average(Abs(Close - Close[1]),Length);//先算絕對(duì)值函數(shù)Abs里的瀑罗,再把絕對(duì)值與周期9返回均值函數(shù)Average求均值胸嘴,最后賦值給變量TotChgAvg。//

}Else//就是k線數(shù)位值大于周期8的斩祭。//

{

SF = 1/Length;//代入相應(yīng)數(shù)值劣像,即SF= 1/9 了.//

Change = Close - Close[1];//同理,代入當(dāng)期k線收盤價(jià)與前一k線收盤價(jià)即可摧玫。//

NetChgAvg = NetChgAvg[1] + SF*(Change - NetChgAvg[1]);//這里也是代入上邊求得的相應(yīng)數(shù)值即可耳奕。//

TotChgAvg = TotChgAvg[1] + SF*(Abs(Change) - TotChgAvg[1]); //同上解讀。//

}

If(TotChgAvg <> 0)//假如變量TotChgAvg不等于0.//

{

ChgRatio = NetChgAvg/TotChgAvg;//則兩變量相除了诬像。//

}Else//等于0的屋群。//

{

ChgRatio = 0;//變量ChgRatio=0了。//

}

RSIValue = 50*(ChgRatio + 1);//指標(biāo)RSI的計(jì)算結(jié)果坏挠。//

ExitHiBand = Highest(High,20); // 唐奇安通道上軌芍躏。//

ExitLoBand = Lowest(Low,20);// 唐奇安通道下軌。//

If(myPosition == 1 And myPosition[1] == 1 and Low <= ExitLoBand[1])// 持有多單時(shí)降狠,下破唐奇安通道下軌对竣,平多單。//

{

myExitPrice = Min(Open,ExitLoBand[1]);//出場(chǎng)價(jià)的計(jì)算榜配,開盤價(jià)與前一個(gè)唐奇安通道下軌的比較否纬,取較小值。//

Sell(0,myExitPrice);//平倉(cāng)芥牌。//

myProfit = myExitPrice - MyEntryPrice;//利潤(rùn)算法烦味。//

????myPosition = 0;//持倉(cāng)多空標(biāo)志myPosition = 0.//

}

If(myPosition == 0 And myPosition[1] == 0 And AvgValue1[1] > AvgValue2[1] And RSIValue[1] < OverBought and High >= High[1])// 模擬交易產(chǎn)生一次虧損、短期均線在長(zhǎng)期均線之上壁拉、RSI低于超買值谬俄、創(chuàng)新高,則開多單弃理。//

{

myEntryPrice = Max(Open,High[1]);//進(jìn)場(chǎng)價(jià)計(jì)算溃论,即開盤價(jià)與前一個(gè)最高價(jià)的比較,取較大值痘昌。//

myPosition = 1;//持倉(cāng)多空標(biāo)志myPosition = 1.//

If(myProfit < 0) Buy(Lots,myEntryPrice);//假如利潤(rùn)myProfit <0的钥勋,以進(jìn)場(chǎng)價(jià)開倉(cāng)炬转。//

}

End

做空代碼及結(jié)果如下:

Params

Numeric FastLength(9);

Numeric SlowLength(19);

Numeric Length(9);

Numeric OverSold(30);

Numeric OverBought(70);

Numeric Lots(0);

Vars

NumericSeries AvgValue1; ?

NumericSeries AvgValue2;

NumericSeries NetChgAvg(0);

NumericSeries TotChgAvg(0);

Numeric SF(0);

Numeric Change(0);

Numeric ChgRatio(0);

NumericSeries RSIValue;

NumericSeries ExitHiBand(0);

NumericSeries ExitLoBand(0);

NumericSeries myEntryPrice(0);

NumericSeries myExitPrice(0);

NumericSeries myProfit(0);

NumericSeries myPosition(0);

Begin

If(!CallAuctionFilter()) Return;

AvgValue1 = Xaverage(Close,FastLength);

AvgValue2 = Xaverage(Close,SlowLength);

If(CurrentBar <= Length - 1)

{

NetChgAvg = (Close - Close[Length])/Length;

TotChgAvg = Average(Abs(Close - Close[1]),Length);

}Else

{

SF = 1/Length;

Change = Close - Close[1];

NetChgAvg = NetChgAvg[1] + SF*(Change - NetChgAvg[1]);

TotChgAvg = TotChgAvg[1] + SF*(Abs(Change) - TotChgAvg[1]);

}

If(TotChgAvg <> 0)

{

ChgRatio = NetChgAvg/TotChgAvg;

}Else

{

ChgRatio = 0;

}

RSIValue = 50*(ChgRatio + 1);

ExitHiBand = Highest(High,20);

ExitLoBand = Lowest(Low,20);

If(myPosition == -1 And myPosition[1] == -1 and High >= ExitHiBand[1])

{

myExitPrice = Max(Open,ExitHiBand[1]);

BuyToCover(0,myExitPrice);

myProfit = myEntryPrice - MyExitPrice;

????myPosition = 0;

}

If(myPosition == 0 And myPosition[1] == 0 And AvgValue1[1] < AvgValue2[1] And RSIValue[1] > OverSold and Low <= Low[1])

{

myEntryPrice = Min(Open,Low[1]);

myPosition = -1;

If(myProfit < 0) SellShort(Lots,myEntryPrice);

}

End

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市算灸,隨后出現(xiàn)的幾起案子扼劈,更是在濱河造成了極大的恐慌,老刑警劉巖菲驴,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荐吵,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡赊瞬,警方通過(guò)查閱死者的電腦和手機(jī)先煎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)巧涧,“玉大人薯蝎,你說(shuō)我怎么就攤上這事“” “怎么了占锯?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)缩筛。 經(jīng)常有香客問(wèn)我烟央,道長(zhǎng),這世上最難降的妖魔是什么歪脏? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮粮呢,結(jié)果婚禮上婿失,老公的妹妹穿的比我還像新娘。我一直安慰自己啄寡,他們只是感情好豪硅,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著挺物,像睡著了一般懒浮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上识藤,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天砚著,我揣著相機(jī)與錄音,去河邊找鬼痴昧。 笑死稽穆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赶撰。 我是一名探鬼主播舌镶,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼柱彻,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了餐胀?” 一聲冷哼從身側(cè)響起哟楷,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎否灾,沒(méi)想到半個(gè)月后卖擅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坟冲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年磨镶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片健提。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡琳猫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出私痹,到底是詐尸還是另有隱情脐嫂,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布紊遵,位于F島的核電站账千,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏暗膜。R本人自食惡果不足惜匀奏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望学搜。 院中可真熱鬧娃善,春花似錦、人聲如沸瑞佩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)炬丸。三九已至瘫寝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間稠炬,已是汗流浹背焕阿。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留首启,地道東北人捣鲸。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像闽坡,于是被迫代替她去往敵國(guó)和親栽惶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子愁溜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容