期貨軟件TB系統(tǒng)源代碼解讀系列3-KD

雖然我們經(jīng)常說這些均線啊启盛、MACD啊或KD線等都是莊家忽悠散戶的,根本信不了葛家,可我想說的是户辞,你真的把它們做成固定的程序了嗎,照著這些程序化做過一段時(shí)間實(shí)盤嗎癞谒?當(dāng)然底燎,最好的還是先照著程序化來做一段時(shí)間模擬盤,了解這個(gè)程序的優(yōu)缺點(diǎn)弹砚,盈虧比双仍,操作風(fēng)格等全面了解了,才能真的照著程序來執(zhí)行迅栅。要不然殊校,剛好碰到一段時(shí)間的虧損,心里就開始對(duì)這些程序產(chǎn)生懷疑读存,隨之棄掉为流,返回自己的經(jīng)驗(yàn)做了。

好了让簿,也不廢話了敬察,我們還是來先看看KD指標(biāo)需要用到的函數(shù)吧,咱先對(duì)各個(gè)函數(shù)做個(gè)正確認(rèn)知尔当。

HighestFC求最高的函數(shù)代碼:

Params

NumericSeries Price(1);//聲明數(shù)值型序列參數(shù)莲祸,價(jià)格為Price蹂安,賦值為1。//

Numeric Length(10);//聲明數(shù)值型參數(shù)為Length锐帜,賦值為10田盈。//

Vars

Numeric HighestValue;//聲明變量為HighestValue。//

Numeric ExtremesBar;//聲明變量為ExtremesBar缴阎。//

Begin

HighestValue = Extremes(Price, Length, True, ExtremesBar);//Extremes求極值函數(shù)允瞧,語句意思是這樣的:計(jì)算10周期以來價(jià)格的極大值和極大值出現(xiàn)的回溯周期索引 。//

Return HighestValue;//把得到的數(shù)值返回給主函數(shù)蛮拔。//

End

LowestFC的源代碼如下述暂,解釋基本同求最大值:

Params

NumericSeries Price(1);

Numeric Length(10);

Vars

Numeric LowestValue;

Numeric ExtremesBar;

Begin

LowestValue = Extremes(Price, Length, False, ExtremesBar); //計(jì)算10周期以來價(jià)格的極小值和極小值出現(xiàn)的回溯周期索引。//

Return LowestValue;

End

還用到了這個(gè)函數(shù)SummationFC建炫,代碼如下:

Params

NumericSeries Price(1);//聲明數(shù)值型序列參數(shù)畦韭,價(jià)格為Price,賦值為1肛跌。//

Numeric Length(10);//聲明數(shù)值型參數(shù)為Length艺配,賦值為10。//

Vars

NumericSeries SumValue(0);//聲明數(shù)值型序列變量為Sumvalue惋砂,賦值為0妒挎。//

Numeric i;//聲明變量 i 。//

Begin

If(CurrentBar < Length)//CurrentBar西饵,直白意思就是當(dāng)前的K線數(shù)位酝掩,我們聲明參數(shù)Length初始值為10,這語句意思就是說假如當(dāng)前的K線數(shù)位小于10的眷柔,執(zhí)行下列的語句期虾。//

{

SumValue = 0;//這邊再次賦值給SumValue為0。//

for i = 0 to Length - 1 //這是循環(huán)語句驯嘱,變量i從賦值為0镶苞,開始執(zhí)行,直到數(shù)值為10-1=9鞠评,結(jié)束循環(huán)茂蚓。//

{

SumValue = SumValue + Price[i];//其實(shí)從if開始到現(xiàn)在的語句,整體表達(dá)的意思是這樣的剃幌,前10根k線價(jià)格是這樣求的聋涨,SumValue=P0+P1+P2+P3+...+P9,前10根k線價(jià)格累加起來负乡。//

}

}Else //從第11根k線開始牍白,執(zhí)行下列的語句來求和。//

{

SumValue = SumValue[1] + Price - Price[Length];//我們記住一個(gè)規(guī)則是這樣的抖棘,價(jià)格為當(dāng)前K線的價(jià)格茂腥,所以Price[10],意思告訴你減去最前一根狸涌。比如,第11根k線最岗,前10根總價(jià)帕胆,加上第11根的價(jià)格,減去第一根k線的價(jià)格般渡,得到了一個(gè)新總價(jià)S1惶楼;第12根,則是新總價(jià)S1诊杆,加上當(dāng)前12根價(jià)格,再減去第2根的價(jià)格何陆,得到一個(gè)新的總價(jià)S2晨汹。反正就是這么來回的求10根k線的總價(jià)了。//

}

Return SumValue;//把這總價(jià)數(shù)值返回給主函數(shù)了贷盲。//

End

接下來為正餐淘这,就是KD指標(biāo)的真正代碼了:

Params

Numeric Length(14);//聲明數(shù)值型參數(shù)Length,初始值為14.//

Numeric SlowLength(3); //聲明數(shù)值型參數(shù)SlowLength,初始值為3.//

Numeric SmoothLength(3);//聲明數(shù)值型參數(shù)SmoothLength巩剖,初始值為3.//

Vars

NumericSeries HighestValue; //聲明數(shù)值型序列變量HighestValue铝穷。//

NumericSeries LowestValue;//聲明數(shù)值型序列變量LowestValue。//

NumericSeries KValue;//聲明數(shù)值型序列變量KValue佳魔。//

Numeric SumHLValue;//聲明數(shù)值型變量SumHLValue曙聂。//

Numeric SumCLValue;//聲明數(shù)值型變量SumCLValue。//

Numeric DValue;//聲明數(shù)值型變量DValue鞠鲜。//

Begin

HighestValue = HighestFC(High, Length);//把高價(jià)和周期實(shí)參數(shù)返回函數(shù)HighestFC去求值宁脊,再把最高值返回來給這個(gè)主函數(shù)。//

LowestValue = LowestFC(Low, Length); //同理的贤姆,求出最低值來榆苞。//

SumHLValue = SummationFC(HighestValue-LowestValue,SlowLength);//返回函數(shù)SummationFC去求值,這個(gè)咱也可以一個(gè)個(gè)對(duì)應(yīng)上去的霞捡,把最高 - 最低得到的值替代Price坐漏,SlowLength的值3替代Length的值10,最后求出總價(jià)碧信。//

SumCLValue = SummationFC(Close - LowestValue,SlowLength);//同理赊琳,求出收盤價(jià)減去最低價(jià)的3個(gè)周期總價(jià)。//

If(SumHLValue <> 0)//假如最高減去最低的3個(gè)周期的總價(jià)不等于0音婶,執(zhí)行下列語句慨畸。//

{

KValue = SumCLValue/SumHLValue*100;//看表達(dá)式就直白翻譯了,最高減去最低的總價(jià)除以收盤價(jià)減去最低價(jià)的總價(jià)衣式,再乘以100.//

}Else//否則就是等于0了寸士。//

{

KValue = 0;//這個(gè)也等于0了檐什。//

}

DValue = AverageFC(KValue,SmoothLength);//這個(gè)函數(shù)AverageFC在系列2說過了,反正也就是把相應(yīng)的值跟周期返回去求解出新的值來了弱卡,再把這新值乃正,返回來給這個(gè)DValue。//

PlotNumeric("K",KValue);//畫線了婶博,線k代表KValue值瓮具。//

PlotNumeric("D",DValue);//線D代表DValue值。//

PlotNumeric("Ref1",20);//這是界限20凡人,輔助我們判斷是否超買賣的名党。//

PlotNumeric("Ref2",80);//這是界限80,同上挠轴。//

End

同理传睹,最后我能附上的,也就是添加一個(gè)用它做成的程序化交易系統(tǒng)了岸晦。至于這結(jié)果如何欧啤,我只能說真是很不盡如人意,關(guān)鍵就是在買賣的點(diǎn)位上了启上,這能不能改進(jìn)邢隧?該如何改進(jìn),我還真是想不出辦法的冈在。只能說倒慧,這是一個(gè)輔助判斷系統(tǒng),當(dāng)成程序化進(jìn)行買賣包券,結(jié)果肯定很不理想的迫靖。

程序化代碼如下:

Params

Numeric Length(14);

Numeric SlowLength(3);

Numeric SmoothLength(3);

Vars

NumericSeries HighestValue;

NumericSeries LowestValue;

NumericSeries KValue;

Numeric SumHLValue;

Numeric SumCLValue;

NumericSeries DValue;

Begin

HighestValue = HighestFC(High, Length);

LowestValue = LowestFC(Low, Length);

SumHLValue = SummationFC(HighestValue-LowestValue,SlowLength);

SumCLValue = SummationFC(Close - LowestValue,SlowLength);

If(SumHLValue <> 0)

{

KValue = SumCLValue/SumHLValue*100;

}Else

{

KValue = 0;

}

DValue = AverageFC(KValue,SmoothLength);

If(!CallAuctionFilter()) Return;

If(MarketPosition <>1 && KValue[1] > DValue[1] && DValue < 30)

{

Buy(1,Open);

}

If(MarketPosition ==1 && KValue[1] < DValue[1] || DValue >95)

{

Sell(1,Open);

}

If(MarketPosition <>-1 && KValue[1] < DValue[1] && DValue > 70)

{

SellShort(1,Open);

}

If(MarketPosition ==-1 && KValue[1] > DValue[1] || DValue <5)

{

BuyToCover(1,open);

}

End


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市兴使,隨后出現(xiàn)的幾起案子系宜,更是在濱河造成了極大的恐慌,老刑警劉巖发魄,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盹牧,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡励幼,警方通過查閱死者的電腦和手機(jī)汰寓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來苹粟,“玉大人有滑,你說我怎么就攤上這事∏断鳎” “怎么了毛好?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵望艺,是天一觀的道長。 經(jīng)常有香客問我肌访,道長找默,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任吼驶,我火速辦了婚禮惩激,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蟹演。我一直安慰自己风钻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布酒请。 她就那樣靜靜地躺著魄咕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蚌父。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天毛萌,我揣著相機(jī)與錄音苟弛,去河邊找鬼。 笑死阁将,一個(gè)胖子當(dāng)著我的面吹牛膏秫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播做盅,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼缤削,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了吹榴?” 一聲冷哼從身側(cè)響起亭敢,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎图筹,沒想到半個(gè)月后帅刀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡远剩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年扣溺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓜晤。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锥余,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出痢掠,到底是詐尸還是另有隱情驱犹,我是刑警寧澤嘲恍,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站着绷,受9級(jí)特大地震影響蛔钙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜荠医,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一吁脱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧彬向,春花似錦兼贡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至里烦,卻和暖如春凿蒜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背胁黑。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來泰國打工废封, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人丧蘸。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓漂洋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親力喷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刽漂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

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