【TradingView】ストラテジー00Softness【はむとれ】

更新情報:
 2020/11/11  初版
 2020/11/17  1アラートのメッセージの修正 (バックスラッシュを削除)

はじめに

00Softness は FXBTCJPY  5分足用のストラテジーです。

画像1

ご注意・免責事項

本noteは無料ですが、以下にご注意ください。
新規ポジションは2020年12月5日 0:00 (UTC)まで発生します。
対応するアラートも同じく2020年12月5日 0:00 (UTC)まで発生します。
(オープン済みポジションのクローズアラートは発生します。)
本noteの内容は利益を保証するものではありません。バックテストは過去のデータに基づいて計算されているもので、将来の結果について何ら保証するものではありません。
本noteの利用により生じた如何なる損害についても当方は責任を負いません。

ストラテジー

本ストラテジーはデフォルトではロングを最大1ポジションのみ保有します。(ナンピンやピラミッディングは行いません。)
また、確定足の情報だけを利用し、エントリー/イグジットも足が確定したタイミングでのみ行われます。(いわゆるリペイントはありません。)

本ストラテジーは以下の共通(基本)パラメーターを持っています。
  Start (YYYYMMDD)   バックテストの開始日
  End (YYYYMMDD)   バックテストの終了日
  TP (%)          Take Profit の幅 (オープン価格に対する比率(%))
  SL (%)              Stop Loss の幅 (オープン価格に対する比率(%))
  TRAIL1 (%)        トレイリング開始位置(%)
  TRAIL2 (%)        トレイリング幅(%)

トレイリングは、TRAIL1 (%) 以上の利益が出ると開始されます。
含み益が大きくなるにつれ、価格に対して TRAIL2 (%) の幅で逆指値(ストップ)が更新されていきます。(ストップの位置はチャート上に黒いラインで表示されます。)

TP / SL の判定およびトレイリングの開始/更新/終了の判断はそれぞれチャート上の時間足が確定するタイミングでのみ行われます。
そのため、TradingView trail_points / trail_offset を使ったものとは違い、バックテストは信頼できるものとなっています。(はむとれの多くのストラテジーと同様、確定足でのみ判断するため、足の途中での値の急変には対応していません。これは急な値動きはある程度戻ることが多いため、バックテストの結果からもそのようにしています。)

以下はSFD対策用のパラメーターです。

  SFD GUARD (%)   新規エントリを止める乖離率(絶対値)
  SFD BORDER (%)    乖離率が±15%あるいは±20%前後の場合に
               エントリーしない幅

SFD_GUARD は、現物 (BTCJPY) との乖離率がここで設定された値以上になっている場合、乖離を広げる方向のオープンを行わなくなります。(例えば、4.5 が設定された場合、新規シグナルに対して、乖離率が+4.5%以上ならショートのみ、-4.5%以下ならロングのみのエントリに制限されます。)
SFD BORDER が 0.1(%) の場合、乖離率が -20.1%~-19.9%、-15.1%~-14.9%、+14.9%~+15.1%、+19.9%~+20.1% の間エントリーしなくなります。(いわゆる SFD bot による張り付き対策)

アラートを作成しようとする場合、以下の警告ダイアログが表示されますが、これは、現物 (BTCJPY) の値を参照するために security() 関数を呼び出しているのが原因なので無視していただいて問題はありません。(シグナルはすべて確定した足の情報に基づいているためリペイントはありません。)

画像2

アラート

アラートは複合型で4つあり、「バーにつき1回」のタイプになります。
アラートは足が確定した瞬間(次の新しい足が出た瞬間)に1度だけ発生します。
この4つのアラートにははむとれでそのまま利用できるように、デフォルトで以下のようなメッセージが設定されています。
それぞれ、ロング/ショートのオープン/クローズ用(サイズ1)、ポジション保有中からのドテンロング/ショート用(サイズ2)となります。
(デフォルトではショートは行わずロングのみなので、デフォルトで利用する場合はドテン用の2つのアラートを設定する必要はありません。)

,00Softness,BUY,1,LONG1
,00Softness,SELL,1,SHORT1
,00Softness,BUY,2,LONG2
,00Softness,SELL,2,SHORT2

アラート作成時に「ORDER」という名前の条件を選択すると1アラートが利用できます。(以下のメッセージが設定されます。)

,00Softness,{{plot("side")}},{{plot("lev")}},side={{plot("side")}} lev={{plot("lev")}} price={{close}}

1アラートを利用する場合はアラート生成のオプションとして「バーの終値毎に1回」を設定してください。
はむとれで利用する場合はポジションがない状態まで待つか、チャート上のポジションと同数のロットを持った状態から開始する必要があります。(ToDoubles は使用しません。)

TradingViewによるバックテスト結果

直近のストラテジーテスターによるバックテスト結果です。(2020年9月~)
横軸はトレード数、縦軸は毎回1BTCでトレードした場合の累積損益(円)になります。

画像3

以下はバーのリプレイ機能により遡った場合のバックテスト結果です。

2020/2/6~

画像7

2020/4/7~

画像8

2020/6/16~

画像9

2020/9/1~

画像10

2017年1月からのバックテスト結果

以下は MetaTrader4 (MT4) を使って行った2017年1月からのバックテスト結果です。
グラフの横軸は時間、縦軸は累積利益率(%)になります。
累積利益率(%)はトレードごとの確定損益(%)を積み上げたもので、毎日UTC 0時(日本時間午前9時)基準で表示しています。(含み損益は合算していません。)
ドローダウン(DD)も同様に毎日UTC 0時時点のもので、日中にはこのグラフより深くなる場合もあるため注意が必要です。

画像4

計情

以下はバックテストによる統計情報です。
(バックテスト期間: 2017年1月1日~2020年11月11日の1,410日間)

画像5

以下はTradingView のストラテジーとアラートのプライベートリンクです。それぞれ「お気に入りスクリプトに追加」をチェックすることでインジケーターのお気に入りリストに出てくるようになります。

画像6

1. 00Softness



以上です。

この記事が気に入ったらサポートをしてみませんか?