如何記錄進場價

  •   509 
  • 最後發表   DeanWu  2022 六月 06
DeanWu 發文於   2022/05/31

Hello 小幫手

在同條件下,直到賣出前,會多次出現買進的觸發,但我只需要第一次的買進收盤價?

例如: 穿過五日均線就第一次真實買進(收盤價),之後跌破又站上五日均線就第二次觸發(實際上不會買).....,直到獲利20%才要賣出:

VAR: MA5(0),IN_PRICE(0);

MA5=average(Close,5);

 

IF close cross over MA5

then 

begin

IN_PRICE=close;

Setposition(1,market);

END;

 

IF close>InPrice*1.2

Then Setposition(0,market);

 

自己寫的語法,進場價都是會被最新一筆覆蓋......請問是否有範例語法可以參考。謝謝

排序方式: 標準 | 最新
蕎伊斯 發文於   2022/05/31

可以在觸發條件上,加上判斷現在是否有倉位,來控制紀錄的真實買進收盤價

風揚 發文於   2022/05/31

1.進場成本價可以用 FilledAvgPrice 這個內建欄位

2. 如果要自己紀錄,宣告時加上  intrabarpersist 

例如 : VAR: intrabarpersist  IN_PRICE(0); 

XQ小幫手 發文於   2022/06/06

Hello DeanWu,

 

您可以用變數來控制,或是使用 once 來確保只運行一次。

舉例來說:

var: intrabarpersist in_price(0), intrabarpersist _count(0);

 

if close cross over MA5 then begin

    if _count = 0 then begin

        in_price = close;

        _count = 1;

        end;

    setposition(1, market);

    end;

 

這樣就只會在第一次符合條件時紀錄當下close。

 

感謝 蕎伊斯 和 風揚 的熱心回覆。

發表回覆
Close