請(qǐng)教一下條件問(wèn)題
作者:文華財(cái)經(jīng) 來(lái)源:cxh99.com 發(fā)布時(shí)間:2018年03月12日
-
咨詢內(nèi)容:
?
Datum1 = Def_TickData("m1709",1,20);//第一腿合約取20筆TICK
?? Datum2 = Def_TickData("m1711",1,20);//第二腿合約取20筆TICK
?? If(Datum1.State == 1)
???{
????? For i = 0 To Size - 1?
????? {
??????Data1Ma = (Datum1[i].TickPrice + Data1Ma) / 20;//計(jì)算第一腿合約的20筆TICK算數(shù)平均值
?
????? }
???}
???If(Datum2.State == 1)
???{
????? For j = 0 To Size - 1
????? {
??????Data2Ma = (Datum2[j].TickPrice + Data2Ma) / 20;//計(jì)算第一腿合約的20筆TICK算數(shù)平均值
??
????? }
???}
?? DataCond = Data1Ma - Data2Ma;
?? If(DataCond? < 48)
???{
????? Buy;
???}
?
?
這樣寫之后為何第一腿和第二腿差價(jià)是81也會(huì)開倉(cāng)?
?
?來(lái)源:程序化99
-
文華技術(shù)人員:
?來(lái)源:程序化99
-
文華技術(shù)人員:m1709和?來(lái)源:程序化99
-
文華技術(shù)人員:m1711合約已經(jīng)交割了
?來(lái)源:程序化99
-
文華技術(shù)人員:
?來(lái)源:程序化99
-
文華技術(shù)人員:套利合約沒(méi)有數(shù)據(jù)的,所以函數(shù)是返回為0 的
?來(lái)源:程序化99
-
文華技術(shù)人員:
?來(lái)源:程序化99
-
文華技術(shù)人員:DataCond=0 滿足小于48的條件,所以開倉(cāng)?來(lái)源:程序化99
-
文華技術(shù)人員:
?來(lái)源:程序化99
-
文華技術(shù)人員:
?
?
?
?
?來(lái)源: m.kzuj.com.cn
-
文華客服:
?
Begin
?? Datum1 = Def_TickData("8365",1,20);//第一腿合約取20筆TICK
?? Datum2 = Def_TickData("8369",1,20);//第二腿合約取20筆TICK
?? If(Datum1.State == 1)
???{
????? For i = 0 To Size - 1?
????? {
??????Data1Ma = (Datum1[i].TickPrice + Data1Ma) / 20;//計(jì)算第一腿合約的20筆TICK算數(shù)平均值
?
????? }
???}
???If(Datum2.State == 1)
???{
????? For j = 0 To Size - 1
????? {
??????Data2Ma = (Datum2[j].TickPrice + Data2Ma) / 20;//計(jì)算第一腿合約的20筆TICK算數(shù)平均值
??
????? }
???}
?? If(Data1Ma - Data2Ma? < 59)
???{
????? Buy;
???}
?? else If(Data1Ma - Data2Ma > 60)
???{
????? Sell;
???}
?
?
我改成這樣寫第一二腿相差81也會(huì)開倉(cāng)啊,是我上面截取的不是一二腿的20筆平均tick嗎?
?
-
網(wǎng)友回復(fù):
您樓上源碼是逐筆tick進(jìn)行取值的
而加載到k線圖讀取的是當(dāng)根k線的返回值,無(wú)法顯示逐筆明細(xì)的,所以返回值都是0的
但是模型在計(jì)算的過(guò)程中是滿足了開倉(cāng)條件的,所以進(jìn)行了開倉(cāng),只是您回測(cè)查看K線顯示不出來(lái)?
您可以將模型修改為算法交易模型,加載到算法交易池中,檢驗(yàn)?zāi)P偷闹鸸P運(yùn)行效果
PS:您需要注意的是m1811合約交易量少,讀取不到20筆tick 的,您可以更換一個(gè)相對(duì)活躍的合約
模型修改:
Data ?Data1:"m1809";//第一腿合約 ?Data2:"m1811";//第二腿合約Vars//------------------------------定義普通變量------------------------------ ?Numeric Data1Ma;//第一腿合約近20筆TICK均值 ?Numeric Data2Ma;//第二腿合約近20筆TICK均值 ?Numeric Size(20);//Tick區(qū)大小 ?Numeric i;//For循環(huán)變量 ? ? ? ? ? ? ? ? ? ?Numeric j;//For循環(huán)變量 ? ? ? ? ? ? ? ? ? ? ? ? ?Numeric DataCond;//------------------------------定義數(shù)據(jù)區(qū)變量------------------------------ ?Var_TickData Datum1;//第一腿合約數(shù)據(jù)區(qū) ?Var_TickData Datum2;//第二腿合約數(shù)據(jù)區(qū)BeginDatum1 = Def_TickData("m1809",1,20);//第一腿合約取20筆TICKDatum2 = Def_TickData("m1811",1,20);//第二腿合約取20筆TICK? ?If(Datum1.State == 1)? ?{? ? ? For i = 0 To Size - 1 ?? ? ? {? ? ? Data1Ma = (Datum1[i].TickPrice + Data1Ma) / 20;//計(jì)算第一腿合約的20筆TICK算數(shù)平均值? ? ? }? ?}? ?If(Datum2.State == 1)? ?{? ? ? For j = 0 To Size - 1? ? ? {? ? ? Data2Ma = (Datum2[j].TickPrice + Data2Ma) / 20;//計(jì)算第一腿合約的20筆TICK算數(shù)平均值??? ? ? }? ?}? ?DataCond = Data1Ma - Data2Ma;? Commentary("m1809:"+Text(Data1Ma));? Commentary("m1811:"+Text(Data2Ma));? Commentary("價(jià)格"+Text(DataCond));End?
文件名:算法.png
?
-
網(wǎng)友回復(fù):
?這個(gè)m1809,m1811的代碼在哪里找啊?以及這么寫的話開倉(cāng)和平倉(cāng)按照范例里的寫就可以了嗎?