![見出し画像](https://assets.st-note.com/production/uploads/images/60061819/rectangle_large_type_2_c6e168f12a0612da69c8488f46672b95.png?width=1200)
TradingViewのストラテジーに簡単な損切り設定を入れてみる
前回、前々回のnoteでTradingViewのストラテジー・Pineスクリプトについて簡単に解説してみました。
input関数で移動平均線の期間を自由に変えてみる
ゴールデンクロス・デッドクロスのストラテジーを作る(移動平均線の期間変更可)
Pineスクリプトというプログラミング言語でPineエディタにコードを書くと、チャートに移動平均線を表示させたりその移動平均線の期間を自由に変えることができます。
また2本の移動平均線が上抜いた時や下抜いた時に買うor売ると指示するコードを書くことで、売買ルールを作成し、その売買ルールに沿った過去の取引結果を確認することもできます。
今回は、TradingViewのストラテジーに損切りの設定を加えた場合どうなるのかを、実際に試しながら解説してみたいと思います。
チャネルブレイクアウトストラテジーで試してみよう
チャネルブレイクアウトストラテジーとは、「一定期間の高値を更新する動きになった場合に買い、一定期間の安値を更新してきたら売り」という、至ってシンプルなストラテジーです。
//@version=4
strategy(“ChannelBreakOutStrategy”, overlay=true)
length = input(title=”Length”, type=input.integer, minval=1, maxval=1000, defval=5)
upBound = highest(high, length)
downBound = lowest(low, length)
if (not na(close[length]))
strategy.entry(“ChBrkLE”, strategy.long, stop=upBound + syminfo.mintick, comment=”ChBrkLE”)
strategy.entry(“ChBrkSE”, strategy.short, stop=downBound – syminfo.mintick, comment=”ChBrkSE”)
コードはたったの8行しかありません。
前回の解説を見た方はなんとなくわかるかもしれませんね。input関数で数値を期間を変えられるようにしていたり、エントリー条件を並べていたり、前回作ったゴールデンクロス・デッドクロスでエントリーするストラテジーと大して変わりません。
細かい解説が見たい方はこちらのサイトを見てください。→https://www.oanda.jp/lab-education/tradingviewstrategy/oanda-fx-trade/pine_script_strategy/
![画像1](https://assets.st-note.com/production/uploads/images/60058296/picture_pc_05454e816987b52a7ab581556c4872f0.png?width=1200)
最近話題のグローバルウェイ(3936)1時間足で、このストラテジーを使っていた場合の過去の取引結果を見てみます。
(TradingViewのチャートからPineエディタ⇒開く⇒新規の空のインジケーターまでクリックし、エディタ内に上のコードを貼り付けることでストラテジーの結果を見れます。)
739件取引を行い、純利益が19.55%、勝率31.8%という結果だったことがわかりました。
では、ここに損切り設定を追加してみます。
損切りの設定を追加してみよう
Pineスクリプトには、『strategy.exit』という特定のエントリーまたはすべてのポジションの決済を指示する関数があります。
Pineスクリプト言語リファレンスマニュアルを見ると
strategy.exit("exit", "long", profit = 10, loss = 5)という例があり、
strategy.exitにprofit(利益目標)やloss(損失額)を組み合わせることで、指定の金額に達した時決済を行うように命令できます。
strategy.exit("損切り",loss= 50)
「50円の損が出た時に決済する」という意味です。
これだけで十分なのですが、前々回解説したinput関数を追加すると、さらに使い勝手がよくなるので入れてみましょう。記事はこちらから。
簡単に説明すると、input関数で定義した数値は自由に変えられるようになります。
songiri=input(defval=5,minval=0,maxval=2000,title="損切り")
strategy.exit("損切り",loss= songiri)
input関数+損切り設定のコードです。
defval→デフォルトの値 minval→最小値 maxval→最大値という意味で、
title="損切り"とはパラメーターの項目名を『損切り』にするよって意味です。
input関数で定義した数値をsongiriにし、『loss=数値』のところを『loss=songiri』と書き換えることで、損切りの数値を自由に変えられるようになりました。
実際に見てみよう
![画像2](https://assets.st-note.com/production/uploads/images/60060525/picture_pc_e6015740a3e15df06f81cd9fe12e0cd5.png?width=1200)
作成したストラテジーがこちら。
![画像3](https://assets.st-note.com/production/uploads/images/60060598/picture_pc_78337bcf13f7606a9586c956e196fd71.png?width=1200)
さっきと同じ銘柄・足ですが、
1067件取引を行い、純利益が25.01%、勝率19.31%になりました。
取引件数がかなり増え、純利益が増えた代わりに勝率がかなり下がる結果となりました。
運用自体は難しいですが、微調整を繰り返せば結果はさらに変わります。
![画像4](https://assets.st-note.com/production/uploads/images/60061314/picture_pc_83bdbb17921045f7e4a3877b7e5b3185.png?width=1200)
例としてチャネルの方で期間を7、損切りを4に設定した場合。純利益が31%まで上げることができました。(勝率はさらに下がりましたが)
コードを書き足していくことで様々な条件のストラテジーを作成することができ、また損失を抑えるように設定することもできます。
これを機会に是非TradingViewのストラテジー作成に興味を持ってみてはいかがでしょうか。
●『Trade Stand』公式HPはこちら
●『Trading View』公式サイトはこちら
※現在は『Trade Stand(トレードスタンド)』という名前に変更しています。
※2022年の4月1日からサービスのメンテナンス期間&機能制限されるとのことです。
参考サイト
●TradingViewのPineエディタの基本的な使い方
https://www.oanda.jp/lab-education/tradingviewstrategy/oanda-fx-trade/how_to_use_pine_edit/
●Pineスクリプト言語リファレンスマニュアル
https://jp.tradingview.com/pine-script-reference/