以前のTrading ViewではStrategyからはアラートを設定できずアラート用のインジケータスクリプト(study)と分けて制作しなければならなかった。
次の記事にて公開と思われるので2020/06/03~使用ができることになっていると思われる。
Strategy Alerts Are Live Now – TradingView Blog
予め覚えておきたいのはストラテジーアラートはアラートを発射するタイミングをコントロールできない。
studyによるスクリプトであればalertconditionという関数を利用して第一引数にtrueを入れたタイミングでアラートをしかけることができた。
Strategy Alertsではストラテジ内で約定があったタイミングで発射される。
不便そうではあるが、もともとストラテジにアラートを仕掛けたいということはエントリーのタイミングを知りたい目的なので十分だろう。
alertconditionのような特別な関数を追加する必要はない。
まずはチャートにストラテジが追加されていることを確認したら
これでアラートを作成するウィンドウが現れるので
条件のプルダウンメニューを開くと追加していたストラテジの名前が入っているので選択する。
あとはアラートアクションからメールを送るなり、Webhookに送るなり送信先を設定し
実際に送信するメッセージを書いていくだけだ。
「ポップアップに表示」はTradingViewを表示している画面にポップアップするだけなのでTVを閉じてしまうと無効。
「アプリに通知」はケータイアプリに送信する機能だそう。
Webhookは少し難しいのでここでは省略。
{{ }}はなに?メッセージの中に{{ }}で囲まれている文字はどういう意味があるのだろうか。
実はここに予め予約されている変数を入れる事ができる。
これをプレースホルダーと呼ぶそう。
より詳しい情報ははてなマークをクリックすれば良い。
{{strategy.~~~}}頭にstrategyがついているものはStrategy Alertでのみ使用可能。
次によく使いそうなものを列挙する。
{{strategy.position_size}}エントリー後に自分が保持しているトータルのポジションサイズ。
ロング中ならプラス、ショート中ならマイナスになるので注意。
例えば、現在1ロットロング中でストラテジ内でショートが2約定した場合
1 - 2 で position_sizeは -1 となる。
{{strategy.order.contracts}}注文されたサイズ。
上のposition_sizeとの混乱に注意。
position_sizeが自分が現在保持しているサイズであるのに対して
order.contractsは発注されたサイズである。
例えば上の例:現在1ロング保持中にストラテジ内でショートが2約定した場合
order.contractsには2、position_sizeには-1が入る。
-2ではないので注意。
ショートが2ロット約定したよという意味。
{{strategy.order.action}}これは対象のオーダーがbuyかsellだけ。わかりやすい。
{{strategy.market_position}}現在のポジション。
こちらはlong, short, flat(つまりノーポジ)の3種類が入る。
こちらはオーダーが通った後のトータルポジションがロングなのかショートなのかノーポジなのかを表示する。
order.actionは約定したオーダー単体がロングなのかショートなのかなので、混同しないように。
これを使わなくてもposition_sizeからも判断できるので好きな方を使えば良い(数字がプラスならロング、マイナスならショート、0ならノーポジ)
{{strategy.order.price}}こちらもシンプル。
約定した価格が入る。
ストラテジの設定から手数料やスリッページを設定したら送らてくるデータが変化するかとテストしたが、どうやら設定に関わらず約定したポイントの価格が送られてくる模様。
他にも色々あるがマニアックで使わなそうなので省略。
より複雑なストラテジアラートを作ってみたい場合はアラートを仕掛ける画面のはてなマークから詳細を読むと良い。
ちなみに日本語で読める。
Security関数に注意?バグかどうか定かではないがSecurity関数を使ったストラテジは相変わらずアラートに不具合が発生する傾向があるようだ。
送られてこなかったり、二重になったり...?
まだ確実に再現できるわけではないが一応頭の片隅に入れておいたほうが良いかと思う。
Security関数を使っているものに関しては相変わらずstudyへ変換するのが今の所ベターかもしれない。
ストラテジから直接アラートが発射できるようになったため手動でもBOTでもトレードがやりやすくなったはずだ。
今回紹介しなかった{{ stratesy. ~~ }}系のコードに関しても有用な使い方を発見したらまた記事にしたい。
