關於回測結果

  •   177 
  • 最後發表   luxury  2016 九月 09
luxury 發文於   2016/09/08

我寫的小程式, 頻率用日.  

if close<low[1]*0.98 then ret=1;  //意思是今天的價格如果比昨天最低點跌2% 就買進 .

出場用3%停損 最多持有2天 作回測

出來結果對照走勢圖的價位 .  買進價位都是進場日的最低價. 

我要的結果是跌2%時買進 應該部會都買到當日最低點吧!

另外如果程式改成 if close<low[1]*0.98 and close=low then ret=1;  還是一樣 .

我的程式是哪裡出問題 ?

附上 我的對照價位圖片 程式 和 回測結果

 

XQ小幫手 發文於   2016/09/09

Hi luxury:

關於此問題,是因為【模擬逐筆洗價】的關係,

並且加上您的程式碼條件,才會造成都買在最低點。 

 

 

---------有關【模擬逐筆洗價】的說明如下------

有關模擬K棒是怎麼模擬出來的,小幫手以下做個詳細彙報給您:

 

當您勾選模擬逐筆洗價功能時,系統會依照這根K棒所對應的歷史成交資料來產生多筆 O/H/L/C/V 的序列,並且依照此序列一一判斷是否需要進場以及停損/停利。

 

資料頻率為【日線】:

根據此頻率的 【5分鐘】的資料,模擬當時K棒的 O/H/L/C 形成順序,每筆K棒執行至多 4 次,讓每次執行時的 close 價可以碰觸到 O/H/L/C 這四個價位,模擬這一筆 K 棒的發展順序。

 

如果這這一筆 K棒 的資料順序是O,H,L,C的話:

第一次洗價:O/O/O/O,假設此時 close = O

第二次洗價:O/H/O/H,假設此時 close = H

第三次洗價:O/H/L/L  ,假設此時 close = L

第四次洗價:O/H/L/C ,假設此時 close = C

 

如果這一筆 K棒 的資料順序是 O,L,H,C的話:

第一次洗價:O/O/O/O,假設此時 close = O

第二次洗價:O/O/L/L  ,假設此時 close = L

第三次洗價:O/H/L/H  ,假設此時 close = H

第四次洗價:O/H/L/C ,假設此時 close = C

 

若H/L在同一根 1 分鐘 K棒出現的話,則依照這一根 K棒是紅棒(Close > Open) 或是黑棒(C > O)而有所不同。如果是紅棒,則順序為O,L,H,C,反之則順序為 O,H,L,C。

 

若 H or L 價位與 Close 價或是 Open 價相同時,則可以省略其中部分洗價時機點。

 

成交量則平均分布到每一次洗價的時機點。例如如果這筆 K棒 洗三次,則第一次成交量 = 1/3V ,第二次成交量= 2/3V, 最後一次則是V。

 

由於系統端沒有這個商品的 1 分鐘對應資料時,則模擬 O/H/L/C 的方式會改成依照 High - Open 根 Open - Low 的比較決定:

如果 High - Open < Open - Low 的話,則假設K棒的發展為O,H,L,C

反之則假設K棒的發展為O,L,H,C

----------------------------------------------

 

 

 

發表回覆
Close