[程序交易入門] FAQ之策略編程
作者:MC 來源:cxh99.com 發(fā)布時(shí)間:2014年05月10日
- 咨詢內(nèi)容:
Q1:MC編程語言是什么?哪里有學(xué)習(xí)資源?
A1:1、MC編程語言是PowerLanguage,和國際流行的easyLanguage 兼容度極高;2、學(xué)習(xí)easyLanguage,可以去論壇
www.aboutels.com。
Q2:MC可以畫趨勢線嗎?
A2:1、MC可以手動(dòng)畫趨勢線,;2、MC也可以通過公式指標(biāo)自動(dòng)畫趨勢線,并基于趨勢線建立交易策略。
Q3:MC怎樣取到跨周期數(shù)據(jù)?
A3:1、在MC打開圖表,插入商品。可對data2商品數(shù)據(jù)進(jìn)行跨周期引用。2、跨周期引用數(shù)據(jù),具體方法,參考論壇帖子,搜索“跨周期”。
Q4:i_OpenEquity 與 OpenPositionProfit 的區(qū)別?A4:1、i_OpenEquity,所有交易的總盈虧;
2、OpenPositionProfit,當(dāng)前部位的盈虧。
Q5:i_OpenEquity 和 netprofit的區(qū)別?A5:i_openequity,包含浮動(dòng)盈虧; netprofit,凈利潤,已實(shí)現(xiàn)的盈虧。
Q6: PivotHighVS(1,H,10,5,200);中的1和200代表什么意思?
A6:1是索引值,最近1個(gè)滿足條件的PIVOT;200,在當(dāng)前bar之前的200根bar的范圍內(nèi)尋找有沒滿足條件的PIVOT ;
10和5,最高價(jià)左邊10根K線和最高價(jià)右邊5根K線。
Q7:setbreakeven(500)的含義?A7:盈利金額大于500塊,則啟動(dòng)保本平倉。
Q8: intrabarpersist 的用法?
A8:
Intrabarpersist為變數(shù)的聲明,
舉例:
var:aa(0),intrabarpersist
bb(0);
aa= aa+1;bb=bb+1;print (“aa=”,aa);print (“bb=”,bb);aa會(huì)隨著K線變化,bb會(huì)隨著tick變化。
Q9:怎樣開啟bar內(nèi)委托,滿足條件就成交,而不是走到下根bar?A9:2種方法:
1、在策略信號里申明:[IntrabarOrderGeneration= true];2、打開MC,插入信號,“設(shè)置指標(biāo)”=》“設(shè)置”=》“bar內(nèi)產(chǎn)生委托”,勾選“啟用bar內(nèi)委托”。
Q10:GVSetNamedDouble等 用法?A10:1、GVSETNAMEDINT("aa",0);將名字為“aa”的變量設(shè)為0。
bb = GVGETNAMEDINT("aa",-9999),獲得aa的值,若沒有取到,返回-9999;
2、GVSetNamedDouble、GVSetNamedInt、GVGetNamedDouble、GVGetNamedInt。可用于跨圖表傳遞數(shù)據(jù), 但只能在即時(shí)行情中使用,不能用于歷史回測;
Q11:當(dāng)前K線到開倉所在K線的距離?A11:barsinceentry。當(dāng)前bar到開倉價(jià)的距離。
Q12:怎樣按資金比例開倉?
A12:
(InitialCapital+netprofit)/margin
InitialCapital 是初始資金, netprofit 是凈利潤。Margin為保證金的金額,需要在QM->編輯商品,設(shè)定。
Q13:加載信號或指標(biāo),彈出“浮點(diǎn)運(yùn)算錯(cuò)誤”,怎樣解決?
A13:
除數(shù)為0,有2種情況: 1、分母的變量,初始值為0。 2、策略運(yùn)算時(shí)分母的計(jì)算值為0。
解決辦法如下。
舉例:公式中類似 z=y/x;的表達(dá),改成:
If x<>0
then z=y/xelsez=0;