策略快訊

重要提示
如果您不考慮策略行為固有的限制,使用策略快訊自動進行交易可能會導致意外的結果。自動策略快訊對於在實際市場中交易可能非常有用,但是就像飛機的自動駕駛模式一樣,應該密切注意它們。如果您將使用快訊進行真實交易,請考慮以下幾點:

  • 策略比指標更容易進行重繪,因為經紀商模擬器對價格變動進行了假設,以模擬歷史K線上的訂單。但是,在即時(或正向測試)中,如果將策略配置為此類,則可以將串流的tick更新做為來源。如果是這種情況,您必須意識到以下事實:歷史K線(圖表上的箭頭)上的模擬策略訂單在即時上可能會表現出不同的行為。
  • 引擎管理策略快訊未連接到您的經紀商或交易所,因此無法同步訂單和/或倉位。如果該策略與您的經紀商不再同步,則可能會發生不可預測的結果並可能造成損失。例如,您的經紀商可能未執行在圖表上執行的訂單。這可能導致您的策略似乎已經平倉了一個虧損倉位,而實際上,虧損倉位仍然還在,並且市場正向對您不利的方向進行。潛在損失的另一個例子是在經紀商方面,您持有空頭倉位(賣出)而策略持有多頭倉位(買入)的情況。然後,該策略可能會發送一個賣單來平倉多頭倉位,而實際上,您在經紀商方面的空頭倉位會增加。
  • 如果快訊觸發得太頻繁,它將被停止。如果在3分鐘內觸發15次以上,就會發生這種情況。

策略快訊何時觸發?
策略快訊在策略執行(executes)訂單時觸發,該訂單放置(placed)的時間不一定與下訂單的時間相對應。

如何建立策略快訊?
要建立策略快訊,您可以:

  • 使用“策略測試器”(Strategy Tester)面板上的“增加快訊”(Add Alert)按鈕:
  • 使用該策略的下拉選單:
  • 從“建立快訊”對話框中選擇策略:

策略快訊如何工作?
為策略建立快訊時,將在我們的伺服器上建立該策略的副本。然後,此副本將獨立於您的瀏覽器中的圖表策略運行,並且更改圖表策略將不會對其在我們伺服器上運行的副本的操作產生影響。為了使對圖表策略設置的任何更改都反映在快訊的行為中,您將需要刪除前一個快訊並建立一個新快訊。

該策略如何在伺服器上運行?
在計算歷史記錄後,該策略將轉向即時計算。當經紀商模擬器執行策略下的訂單時,將觸發快訊。每次執行訂單時都會發送通知,直到快訊達到其到期日。
歷史K線上的訂單不會發送通知。僅針對即時執行的訂單觸發快訊。
在同一K線中可以發出多個通知,但是如上所述,如果快訊在3分鐘內觸發15次以上,則快訊將停止。

您可以使用佔位符來建構快訊的通知訊息。快訊觸發時,它們將被其相應的值替換。佔位符是透過以下關鍵字之一定義的,該關鍵字用雙括號括起來,例如{{strategy.position_size}}:

  • strategy.position_size — 返回Pine中相同關鍵字的值,即當前位置的大小。
  • strategy.order.action — 返回已執行訂單的字符串“buy”或“sell”。
  • strategy.order.contracts —返回已執行訂單的合同數。
  • strategy.order.price — 返回執行訂單的價格。
  • strategy.order.id — 返回已執行訂單的ID(用作生成訂單的函數調用中的第一個參數的字符串:strategy.entry、strategy.exit、或strategy.order)。
  • strategy.order.comment — 返回已執行訂單的註釋(在生成訂單的函數調用之一中的comment參數中使用的字符串:strategy.entry、strategy.exit、或strategy.order)。如果未指定註釋,則將使用strategy.order.id的值。
  • strategy.order.alert_message — 返回alert_message參數的值,當調用使用於下訂單的函數之一時,可以在該策略的Pine程式碼中使用該參數:strategy.entry、strategy.exit、或strategy.order。在Pine v4及更高版本中。
  • strategy.market_position — 以字符串形式返回策略的當前位置:“long”、“flat”、或“short”。
  • strategy.market_position_size — 以絕對值(即非負數)的形式返回當前倉位的大小。
  • strategy.prev_market_position — 以字符串形式返回該策略的上一個位置:“long”、“flat”、或“short”。
  • strategy.prev_market_position_size — 以絕對值(即非負數)的形式返回前一個倉位的大小。

您可以在此處找到有關佔位符的更多資訊。