跨頻率 回測 與執行不同

  •   141 
  • 最後發表   LAST trader  2021 八月 06
LAST trader 發文於   2021/08/02

  我在回測時發現           Average(GetField( "收盤價","5"), 9)>Average(GetField("收盤價","5"), 9)[1]   

每分鐘都可能會交易  但是 執行時   都會等5分 收完  才會觸發 交易  請問這方面是否能 有其他的做法  可以讓執行時

讓程式再用主頻1分K執行知道每分鐘 5分K9均之價格

再麻煩小編告知 

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/08/05

Hello LAST trader,

 

您可以在腳本中加入print函數,這樣的話您就可以實際觀測到該隻腳本是每一分鐘運算一次。

另外小幫手建議您先改為使用以下語法:

value1 = GetField( "收盤價","5"), 9);

value1 > value1[1]

因為直接使用 Average(GetField("收盤價","5"), 9)[1] 的話運算出來的數值有異,目前小幫手正在與工程師確認問題原因。

感謝。

LAST trader 發文於   2021/08/05

有使用print 觀察每分鐘的數值變化  確實與回測不同  還有一個問題就是

 Average(GetField( "收盤價","5"), 9)>Average(GetField("收盤價","5"), 9)[1]

在逐筆交易中 上述程式碼 的 大於 反而沒有動作 1分k在回測上  與這類似的程式碼 實際測PRINT 皆不同

XQ小幫手 發文於   2021/08/06

Hello LAST trader,

 

您提到的問題主要是源自於  Average(GetField( "收盤價","5"), 9)>Average(GetField("收盤價","5"), 9)[1] 這段腳本。

小幫手已請工程師協助確認問題原因。

建議您可以先改用以下的方式來取前期值:

value1 = Average(GetField( "收盤價","5"), 9);

if value1 > value1[1] then ret = 1;

print(date, time, value1, value1[1]);

這種方法小幫手測試過1分鐘和1分鐘逐筆沒有問題,您也可以實際測試看看。

發表回覆
Close