請問這如何撰寫呢?

  •   490 
  • 最後發表   自在  2019 一月 25
自在 發文於   2019/01/23

您好:

我想撰寫連續外盤成交,應該可以用CountIfARow撰寫,例如連續外盤成交五筆。

但想請教您,假設要撰寫,連續外盤成交超過五筆,且該五筆(或五筆以上)總和超過20張的話,該如何撰寫呢?

謝謝!

排序方式: 標準 | 最新
自在 發文於   2019/01/23

再請問若在警示,要在TICK頻率寫出排除個股日K連三黑,應如何撰寫呢?以及在TICK頻率如何撰寫出ANGLE角度線呢?經過實驗,角度線date的函數,編譯後再TICK頻率似乎無法正確跑的。

XQ小幫手 發文於   2019/01/23

Hi 自在,

您好,小幫手先給您以下淺見供參考,若仍有問題歡迎提出討論,以利給予您方向嘗試撰寫,謝謝。


想請教您,假設要撰寫,連續外盤成交超過五筆,且該五筆(或五筆以上)總和超過20張的話,該如何撰寫呢?

若是在非Tick頻率下,記得雷達介面要勾選「逐筆洗價」功能,並使用 IntrabarPersist 宣告變數紀錄 內外盤 (報價欄位)

最後使用 CountIfARow 撰寫,就能將以上所述的內外盤紀錄變數,納入該函數的第一個參數中;

總和超過20張的判斷,也可以使用此變數紀錄搭配 Summation 函數達成。


 

再請問若在警示,要在TICK頻率寫出排除個股日K連三黑,應如何撰寫呢?

猜想您應該是在tick頻率撰寫日K連三黑卡關,若是的話,

日K連三黑也可以使用 CountIfARow 函數達成,並搭配 getfield 跨頻率取得收盤價與開盤價,例如:

value1 = countifarow(GetField("開盤價","D") > GetField("收盤價","D"), 3); //日K連三黑

則 value1 就代表日K連三黑。


在TICK頻率如何撰寫出ANGLE角度線呢?經過實驗,角度線date的函數,編譯後再TICK頻率似乎無法正確跑的。

您好,Angle 函數無法使用在 Tick 頻率,原因是該函數的以下兩行程式碼會取到腳本頻率的數值

Date1Price =Open[Date1Bar];
Date2Price =Close[Date2Bar];

將該函數改寫為以下程式碼,跨頻率取日開盤價與日收盤價,應該就會正確

Date1Price =GetField("開盤價","D")[Date1Bar];
Date2Price =GetField("收盤價","D")[Date2Bar];

如附檔雷達範例匯出檔,以上方向供您參考,謝謝。

 

此處說明有誤,已更新說明如 01/25 回文,

有誤原因是雷達頻率沒有設定為 Tick,故將錯誤的雷達範例檔回收,

以上更新回文說明,謝謝。 

自在 發文於   2019/01/24

您好:非常感謝您的詳細說明!

我先實驗了角度線,但我將相同條件一個多寫入您附檔中的程式碼,在相對應的多空策略中多加上value1>0或value1<0這樣,

但加上角度線的策略仍然無法順利跑出。

value1 = angle_D(GetField("日期","D")[3],GetField("日期","D"));

print(date,time,GetField("日期","D")[3],GetField("日期","D"),value1);

不曉得是為什麼呢?謝謝!

XQ小幫手 發文於   2019/01/25

Hi 自在,

加上角度線的策略仍然無法順利跑出。

您好,不好意思小幫手眼殘,雷達設定忘了調整為「Tick」

如果將雷達調整為Tick頻率就算依照小幫手的方式調整函數,數值仍會出不來。

 

或許可以使用雷達「參照商品」功能或者搭配選股來完成您的需求,

參照商品功能相關文章如下,先供您參考:

進階篇: 基準參照商品的應用

 

小幫手不建議使用 Tick 頻率用 angle 函數,因為 Tick 頻率歷史資料很少(例如:2330.TW,僅有10個工作天的資料)

且歷史資料筆數要設定非常大,因為 Tick 資料筆數非常多,會造成該雷達耗能太多,

P.S. 歷史資料筆數要設定很大才能抓到前幾日的開盤價,來計算 angle 。

 

以上方向供您參考,謝謝。

發表回覆
Close