我是用臺泥股票的歷史資料(用ASCII Mapping 的方式導(dǎo)入的)
寫出一個練習(xí)用的訊號 , 之後發(fā)現(xiàn)隔了幾個訊號之後 , 就不會有當(dāng)沖的效果
(開始會變成留倉之後,到了下依訊號出現(xiàn)才會回補(bǔ),然後當(dāng)下又放空一張)
買賣策略如下 :
var1 = Volume;
var6 = Volume[1]; var7 = Volume[2]; var8 = Volume[3]; var9 = Volume[4]; var10 = Volume[5]; if ( var1>var6 and var1>var7 and var1>var8 and var1>var9 and var1>var10 ) then begin // Q1 : 如果我想改成 : 隔天開盤價大於等於今日收盤價才放空(先符合平盤上才能券賣的規(guī)定) , 要怎麼修正 sellshort("sell") 1 contracts next day at market; // Q2 : 原本想要寫出的動作是 : 如果隔天空到 , 最後無條件用收盤價回補(bǔ) ( 但是查了一下資料 , 這樣寫很像是 [停利] , 沒考慮到 [停損] ) buytocover 1 contracts next day at close limit; // Q3 : 如果想要更進(jìn)一步指定停損停利價位的回補(bǔ)語法又該如何寫呢 ( 例如:停損設(shè)定為平盤價的+5%,停利價設(shè)定為放空到的價位向下3.5% end;
你的邏輯面本來就沒有當(dāng)沖語法 只是紅圈處因為在盤整,所以"剛好"看起像是當(dāng)沖 因為一直碰到出場點(diǎn)罷了 Q1 : 如果我想改成 : 隔天開盤價大於等於今日收盤價才放空(先符合平盤上才能券賣的規(guī)定) , 要怎麼修正 A: 一般模式無解,要用IOG模式或小於日線的周期才可以 Q2 : 原本想要寫出的動作是 : 如果隔天空到 , 最後無條件用收盤價回補(bǔ) A: 同上 Q3 : 如果想要更進(jìn)一步指定停損停利價位的回補(bǔ)語法又該如何寫呢 ( 例如:停損設(shè)定為平盤價的+5%,停利價設(shè)定為放空到的價位向下3.5% buytocover next bar c*0.95 limit; buytocover next bar c*1.035 stop;
[IntrabarOrderGeneration = true];
var1 = Volume; var6 = Volume[1]; var7 = Volume[2]; var8 = Volume[3]; var9 = Volume[4]; var10 = Volume[5]; // 策略條件一 ; 今天的成交量必須大於前面五天的成交量 if ( var1>var6 and var1>var7 and var1>var8 and var1>var9 and var1>var10 ) then begin // 策略條件二 : 今收必須大於今開 if close > open then begin // 隔天用市價放空 ( 先不考慮開在平盤價以下的問題 ) sellshort("sell") next bar on market // 收盤時無條件用收盤價回補(bǔ)( 我的目的只是在回測 ) if time >1320 then begin buytocover 1 contracts next bar on market; end; end; end; 上面這樣的寫法會呈現(xiàn)圖檔的現(xiàn)象,但我知道這是有問題的( 但已經(jīng)不會出現(xiàn)之前留倉的問題)
編輯文章 by DavidLu 2011-10-24 16:53:52
你的邏輯面本來就沒有當(dāng)沖語法 只是紅圈處因為在盤整,所以"剛好"看起像是當(dāng)沖 因為一直碰到出場點(diǎn)罷了 Q1 : 如果我想改成 : 隔天開盤價大於等於今日收盤價才放空(先符合平盤上才能券賣的規(guī)定) , 要怎麼修正 A: 一般模式無解,要用IOG模式或小於日線的周期才可以 Q2 : 原本想要寫出的動作是 : 如果隔天空到 , 最後無條件用收盤價回補(bǔ) A: 同上 Q3 : 如果想要更進(jìn)一步指定停損停利價位的回補(bǔ)語法又該如何寫呢 ( 例如:停損設(shè)定為平盤價的+5%,停利價設(shè)定為放空到的價位向下3.5% buytocover next bar c*0.95 limit; buytocover next bar c*1.035 stop;
[IntrabarOrderGeneration = true];
var1 = Volume; var6 = Volume[1]; var7 = Volume[2]; var8 = Volume[3]; var9 = Volume[4]; var10 = Volume[5]; // 策略條件一 ; 今天的成交量必須大於前面五天的成交量 if ( var1>var6 and var1>var7 and var1>var8 and var1>var9 and var1>var10 ) then begin // 策略條件二 : 今收必須大於今開 if close > open then begin // 隔天用市價放空 ( 先不考慮開在平盤價以下的問題 ) sellshort("sell") next bar on market // 收盤時無條件用收盤價回補(bǔ)( 我的目的只是在回測 ) if time >1320 then begin buytocover 1 contracts next bar on market; end; end; end; 上面這樣的寫法會呈現(xiàn)圖檔的現(xiàn)象,但我知道這是有問題的( 但已經(jīng)不會出現(xiàn)之前留倉的問題)
編輯文章 by DavidLu 2011-10-24 16:53:52
[IntrabarOrderGeneration = true];
var1 = Volume; var6 = Volume[1]; var7 = Volume[2]; var8 = Volume[3]; var9 = Volume[4]; var10 = Volume[5]; // 策略條件一 ; 今天的成交量必須大於前面五天的成交量 if ( var1>var6 and var1>var7 and var1>var8 and var1>var9 and var1>var10 ) then begin // 策略條件二 : 今收必須大於今開 if close > open then begin // 隔天用市價放空 ( 先不考慮開在平盤價以下的問題 ) sellshort("sell") next bar on market // 收盤時無條件用收盤價回補(bǔ)( 我的目的只是在回測 ) if time >1320 then begin buytocover 1 contracts next bar on market; end; end; end; 上面這樣的寫法會呈現(xiàn)圖檔的現(xiàn)象,但我知道這是有問題的( 但已經(jīng)不會出現(xiàn)之前留倉的問題)
編輯文章 by DavidLu 2011-10-24 16:53:52
1. 你沒開精密回測吧
2. // 收盤時無條件用收盤價回補(bǔ)( 我的目的只是在回測 )
if time >1320 then begin buytocover 1 contracts next bar on market; end; 在日線中, time >1320一定會成立,所以它就下一根只要進(jìn)場後,就直接出場了 跟本上的問題在於,為什麼要在日線做當(dāng)沖,這并不合理 請改變?yōu)榉志€策略吧,不然你的問題一定存在
謝謝回覆
關(guān)於當(dāng)日沖的原因如下:
我的策略是想要預(yù)測明日[現(xiàn)股]開高(或是平盤)走低的機(jī)率
想說如果透過mc回測方式可以得到一些好的數(shù)據(jù)來支撐(也就是現(xiàn)在嘗試過程中所想要達(dá)到的目的)
就可以將該策略拿到實務(wù)上去運(yùn)用
如果當(dāng)天收盤的資料有符合我的策略條件,隔天我就在市場上面用市價掛單準(zhǔn)備現(xiàn)股當(dāng)沖
也就是說:
初期只是期望透過MC進(jìn)行回測,至於實際下單等等的問題可以先放一邊
按照您的指點(diǎn),是否真的需要用到分線之類的數(shù)據(jù)才有辦法呢 ><"
畢竟回測過程中,是可以知道訊號那根K棒的OHLC,為何..... : (
編輯文章 by DavidLu 2011-10-24 22:48:48