シグナル & 自動化
アラート構文とは、シグナルソースが取引指示を記述する際に使用する正確なテキスト形式のことです。例えば、TradingViewのアラートがWebhookに送信するJSONメッセージや、Telegramチャンネルが従うキーワードパターンなどです。受信側のプラットフォームは、その構文を解析してシンボル・方向・エントリー・ストップロス(損切り)・テイクプロフィット(利確)に変換します。
自動化は、送信側と受信側がフォーマットについて合意している場合にのみ機能します。TradingViewでは好きなメッセージを自由に書くことができ、アラート発火時にティッカーや終値などのプレースホルダーが埋め込まれます。メッセージにどちらの方向で取引するかが記載されていなかったり、受信側が知らないフィールド名が使われていたりすると、アラートは届いても何も起こりません。TradingViewの既定テキスト(「BTCUSDT Crossing 60000」)には方向の情報が一切含まれていません。Telegramには標準がないため、構文はそのチャンネルが習慣的に書いている形式そのものであり、その習慣がわずかに変わるだけで解析が壊れることがあります。
TradingViewについては、AlgoVestaは戦略ごとにプレースホルダーがあらかじめ設定された、すぐに使えるJSONテンプレートを提供します。ティッカーからのシンボル、方向、終値からのエントリーの目安、そしてプロットや固定値からの任意のストップロスとテイクプロフィットです。テンプレートはダッシュボードで生成され、そのままアラートのメッセージ欄にコピーできます。送信しなかったフィールドは、固定パーセンテージのストップなど、ボット自体のルールにフォールバックします。方向を解析できないテキストのアラートは、推測されることなく、理由とともに拒否として記録されます。Telegramについては、パーサーが一般的なキーワードのレイアウト、絵文字マーカー、ターゲットリスト、ストップの表記を認識し、すべてのチャンネルをペーパー(デモ)モードでテストして、メッセージごとに何が抽出されたかを確認できます。詳細はTradingViewボットのページとWebhook設定ガイドにあります。
あるTradingView戦略が、メッセージ{"symbol":"{{ticker}}","side":"{{strategy.order.action}}","price":{{close}},"stop_loss":{{plot_0}},"take_profit":{{plot_1}},"market_position":"{{strategy.market_position}}"}で設定されています。ETHUSDTでロングエントリーが発火すると、TradingViewは埋め込まれたJSONを戦略のWebhook URLに送信します。AlgoVestaは方向「buy」、エントリーの目安、2つのプロット値を読み取り、それらの水準でポジションを開きます。既定テキスト「ETHUSDT Crossing 3100」の2つ目のアラートは、方向がないため拒否されます。