在交易腳本中使用月營收進行回測

  •   465 
  • 最後發表   信風  2023 九月 13
信風 發文於   2022/02/06

請教小幫手先進及版上前輩:

為何我只要在交易腳本中加入"Value1 = GetField("月營收","M");此行",回測時就會顯示"沒有任何交易資料"呢?

請問

1.該如何正確的使用"月營收"這個資料欄位?

2.該如何分辨在眾多"報價欄位(getquote)"及"資訊欄位(getfield)中,那些是可以運用在"交易腳本"中回測,而那些僅可在"選股腳本"中回測呢?

程式碼如下; 還請不吝指正,謝謝!!

 

Value1 = GetField("月營收","M");

condition4 = close cross Over average(close,5);

///   進場    ///

if position=0 and condition4 then setposition(1);

///   出場    ///

if position <> 0 and filled <> 0 then 

begin

var:plratio(0);

plratio = ((close-filledAvgPrice)/filledAvgPrice)*100;    //停損幅度

if plratio <= -10 then setposition(0);    //-5%止損

if plratio >= 40 then setposition(0);     //+40%y止盈

end;

 

 

 

 

排序方式: 標準 | 最新
GaryChiang 發文於   2022/02/06

看這裏, 可以知道是否支援"選股", "交易", "警示" 腳本!

信風 發文於   2022/02/06

謝謝GaryChiang先進:

但我的困擾在於,以"報價欄位"中的"營收年增率"為例,在官網的使用說明頁面是可運用在"交易腳本"的,但在交易腳本中加入此函數後回測,同樣會出現"沒有任何交易資料"的訊息(如下程式腳本),但事實上它是應該要有交易訊號的。所以;到底是我的函數使用方式不對或是那裡有所誤解呢?

再次謝謝先進,祝新年快樂;明天開工大吉!!

 

 

//Value1 = GetField("月營收","M");

value1=getquote("營收年增率");

condition4 = close cross Over average(close,5);

///   進場    ///

if position=0 and condition4 then setposition(1);

///   出場    ///

if position <> 0 and filled <> 0 then 

begin

var:plratio(0);

plratio = ((close-filledAvgPrice)/filledAvgPrice)*100;    //停損幅度

if plratio <= -10 then setposition(0);    //-5%止損

if plratio >= 40 then setposition(0);     //+40%y止盈

end;

XQ小幫手 發文於   2022/02/09

Hello 信風,

 

報價欄位只能用在即時的狀況,無法用在回測,小幫手會建議您優先使用資料欄位。

至於各個欄位支援的腳本類型,可以參考 GaryChiang 所說,XSHelp 上的說明。

 

感謝 GaryChiang 的熱心回覆。

信風 發文於   2022/02/09

抱歉!我有點搞混了。"GetField("月營收","M")"是在"資料欄位不是嗎?它可以用在"交易腳本"中的回測嗎?

以我以下的腳本為例,一直無法正確的在交易腳本中執行回測,是我寫錯了或是有什麼誤解?  

謝謝回覆!

Value1 = GetField("月營收","M");

condition4 = close cross Over average(close,5);

///   進場    ///

if position=0 and condition4 then setposition(1);

///   出場    ///

if position <> 0 and filled <> 0 then 

begin

var:plratio(0);

plratio = ((close-filledAvgPrice)/filledAvgPrice)*100;    //停損幅度

if plratio <= -10 then setposition(0);    //-5%止損

if plratio >= 40 then setposition(0);     //+40%y止盈

end;

XQ小幫手 發文於   2022/02/10

Hello 信風,

 

小幫手上面提到 報價欄位只能用在即時的狀況 是針對

但我的困擾在於,以"報價欄位"中的"營收年增率"為例,在官網的使用說明頁面是可運用在"交易腳本"的,但在交易腳本中加入此函數後回測,同樣會出現"沒有任何交易資料"的訊息(如下程式腳本),但事實上它是應該要有交易訊號的。所以;到底是我的函數使用方式不對或是那裡有所誤解呢?

這一段的回覆。

 

關於月營收的部分,小幫手詢問過相關人士得知,目前月營收欄位不支援自動交易和雷達的回測。

簡單來說:

雷達跟交易中心 => 由於對位關係,即時可以使用 getfielddate 來判斷是要使用前期還是當期。(或是直接使用GetField("月營收","M")[1]即可)

                             回測一律不行。

 

指標 => 可以使用。

選股 => 即時跟回測都可以。

信風 發文於   2022/02/10

清楚了!!  非常感謝!!

吾夜遊冥 發文於   2022/02/11

你好 請問可否將不支援回測的欄位在欄位說明就清楚標示,不然一直找"沒有任何交易資料"的原因浪費了我許多時間

另外月營收應該是非常基本的資料,想請問不開放自動交易回測的原因或考量為何?

 

XQ小幫手 發文於   2022/02/15

Hello 吾夜遊冥,

 

月營收這個欄位原本是選股欄位,由於相關人員判斷此欄位有會用在即時的狀況,所以開放部分功能讓指標和警示腳本使用。

關於月營收的欄位說明小幫手會請相關人士補充上去。

感謝。

小尼 發文於   2023/08/23

小編您好,

雖然這是1年前的文章了,

請問目前有規劃月營收可以支援回測嗎?

許多看基本面的朋友,月營收是最基本的數值

 

XQ小幫手 發文於   2023/08/29

 Hello 小尼,

 

就小幫手所知並沒有相關預定,不過選股中心是可以使用月營收進行回測的。

您可以先在選股策略中作篩選,讓自動交易/策略雷達監控選股篩選出來的商品。

顯示更多回應 發表回覆
Close