【程式交易】請問交易價突破一年新高且漲停買進該如何寫?

  •   122 
  • 最後發表   小金  2022 三月 17
小金 發文於   2022/03/11

請問交易價突破一年新高且漲停買進該如何寫?

我今天寫這個程式碼如下:
Value1 = GetQuote("Last");

Value2 = GetField("漲停價","D");

Value3 = highd(240);

Condition1 = Value1 = Value2;

Condition2 = Value1 > Value3;

if Position = 0 and Condition1 andCondition2 then SetPosition(1);

頻率我設定1分鐘,

但是今天跑程式時股票都顯示異常,

不曉得要怎麼寫才可以滿足我的條件呢?

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/03/14

Hello 小金,

 

highd(240) 回傳的會是前240天的日高價,不是這240交易日的最高值。

您應該使用 highest 才可以找到期間最大值。

另外報價欄位 (getquote("Last")) 無法使用在回測中,請改用資料欄位 (close)。

附上交易腳本供您參考。

附加文件

  • 按讚來自於
  • garyoling
小金 發文於   2022/03/14

感謝小幫手,很棒的資訊,

請問程式交易上,

程式要如何知道自己目前手上的庫存,也就是position有值呢?

每次重開電腦的時候,程式交易會自動抓自己的庫存資料嗎?

XQ小幫手 發文於   2022/03/17

Hello 小金,

 

您可以參考 自動交易策略參數總覽 文章裡關於策略部位計算部分交易帳號庫存部位整合的說明。

簡單來說:

依腳本未設定策略部位計算起點 => 0 開始。

依腳本設定策略部位計算起點 => 腳本模擬這段時間內的運作,算出應有部位。

依庫存 => 根據您帳號裡的庫存開始。

 

須注意啟動後的策略部位庫存不受其他策略或手動操作的影響。

所以若您運作中的策略庫存為1,此時您手動平倉,策略裡面的庫存一樣會是1而不是0。

發表回覆
Close