見出し画像

【TradingView】STARストラテジー_0501【はむとれ】

更新情報:
 2020/3/31 初版
 2020/4/1   SFD_GUARDの説明を追加
        アラート追加時に出る警告ダイアログの説明を追加
    2020/4/4      パラメーターの"Start (YYYYMMDD)"が負の場合、バック
       テストの開始日を現在時刻より何日間前から行うかを
       指定できるように対応しました。
       (アラートに変更はありません。バックテスト期間を日数で
        指定したい場合のみストラテジーを更新してください。)
       (本note自体の変更はありません。)
    2020/4/4  「ストラテジー」に設定ダイアログとチャートの説明を追
       記しました。
        「アラート」を追記しました。(すべてONOFF型で、
        ToDoubleは使いません。)
    2020/4/20      値下げしました。(¥10,000 → ¥5,980) 

はじめに

本noteでは現在はむとれで運用している20本の独自ストラテジーを紹介したいと思います。 (パラメーターはすべて bitFlyer (FXBTCJPY) 用に最適化しています。)

3月の成績

3/1~3/29の成績(バックテスト結果)です。
各ストラテジの設定ダイアログの「Start」に"20200301"、「End」に"20200330"を入れた場合に表示される「純損益」で、それぞれ1BTCで売買した場合の損益になります。(3/1 UTC 0時にノーポジで始め、オープンポジションは3/30 UTC 0時でクローズした場合の結果です。)

画像48

この20ストラテジーを実効レバレッジ2倍、均等ロットで運用開始したとする場合、バックテスト上では今月の損益は証拠金の額によって次のようになります。(1BTC=100万円とした場合)

   証拠金     1000万円      100万円     50万円
   均等ロット数  1.0 BTC       0.1 BTC         0.05 BTC
   損益      +638.7万円    +63.9万円     +31.9万円

ご注意・免責事項

有料部分には TradingView から参照できるストラテジー(strategy) およびアラート(study) のプライベートリンク(のみ)が含まれています。
ソースの参照、それぞれの戦略や個別パラメーターの説明などはありません。(いくつかのパラメーターの変更は可能です。)
新規ポジションは2020年5月15日 0:00 (UTC)まで発生します。
対応するアラートは2020年5月5日 0:00 (UTC)まで発生します。
(オープン済みポジションのクローズアラートは発生します。)
本noteの内容は利益を保証するものではありません。バックテストは過去のデータに基づいて計算されているもので、将来の結果について何ら保証するものではありません。
本noteの利用により生じた如何なる損害についても当方は責任を負いません。
本noteは売り切りです。記述ミスやあきらかな間違いを除いて、有料部分についてもサポートは行いませんのでご注意ください。(投資助言行為になる可能性があるため。)
有料部分のプライベートリンクは TradingView の機能を用いているため、TradingView 側の不具合等により参照できなく可能性があります。
有料部分についてはその性質上、他者との共有や転売、転載などは一切これを禁止します。(また、返金設定はOFFにさせていただいています。)
禁止事項については、note総則規約「11. 禁止事項」もご確認ください。

有料部分については、以上について同意いただける場合のみ、ご購入の検討をお願いします。

はむとれ

はむとれはオープンソースの自動売買プラットフォームです。
本ストラテジーを利用するには、はむとれの導入と TradingView の購読が必要になります。
はむとれに関する一般的な内容等については以下の discord をご覧下さい。
私もはむとれの1ユーザーとして参加しています。一般的な内容であればこちらで解決できると思います。

ストラテジー

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

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

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

TP / SL の判定およびトレイリングの開始/更新/終了の判断はそれぞれチャート上の時間足が確定するタイミングでのみ行われます。
そのため、TradingViewtrail_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() 関数を呼び出しているのが原因なので無視していただいて問題はありません。(シグナルはすべて確定した足の情報に基づいているためリペイントはありません。)

画像49

以下はストラテジの設定ダイアログの例です。
共通の基本パラメーター以外に変更可能なものは Param1 (1~)Param2 (0~3) のようになっていて、それぞれ設定可能な値の範囲を表しています。
チャートの背景の薄い青色の期間はロング、赤色の期間はショートを保有していることを表しています。

画像50

アラート

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

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

はむとれで利用する場合はポジションがない状態まで待つか、チャート上のポジションと同数のロットを持った状態から開始する必要があります。(ToDoubles は使用しません。)

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

以下は各ストラテジーの TradingView によるバックテストの結果です。
横軸はトレード数、縦軸は毎回1BTCでトレードした場合の累積損益(円)になります。
TradingView ではどの時間足においても参照できる足の数が直近1万本程度であるため、バックテスト可能な期間としては時間足ごとに以下のようになっています。
  1分足(M1)        2020年3月16日~
  15分足(M15)    2019年12月~
  30分足(M30)    2019年1月~
  1時間足(H1)   2019年1月~
  68分足(M68)     2018年1月~
  4時間足(H4)    2015年11月~

以下の TradingViewによるバックテストでは、SFD GUARD / SFD BORDER の設定が有効になっています。乖離率が SFD GUARD の設定を超える場合トレード数が減っています。(続く MT4 による長期バックテストの方ではこれらの設定は無効になっています。)
(00Piについては、1分足で1度に2週間分ほどしか見ることができないため、TradingView のリプレイ機能を使って3月2日から2つにわけて結果を取得しました。)

1. 00Gamma (H1、2019年1月~)

画像28

2. 00Delta (M15、2019年12月~)

画像29

3. 00Zeta (H1、2019年1月~)

画像30

4. 00Theta (H4、2017年1月~)

画像31

5. 00Beta (M30、2019年1月~)

画像32

6. 00Lambda (H1、2019年1月~)

画像33

7. 00Rho (H4、2017年1月~)

画像34

8. 00Sigma (H1、2019年1月~)

画像35

9. 00Eta (M30、2019年1月~)

画像36

10. 00Phi (H4、2017年1月~)

画像37

11. 00Omega (H1、2019年1月~)

画像38

12. 00Kappa (H4、2017年1月~)

画像39

13. 00Tau (H1、2019年1月~)

画像40

14. 00Iota (M30、2019年1月~)

画像41

15-1. 00Pi (M1、2020年3月2日~)

画像42

15-2. 00Pi (M1、2020年3月16日~)

画像43

16. 00Mu (M68、2018年1月~)

画像44

17. 00Nu (M30、2019年1月~)

画像45

18. 00Xi (H4、2017年1月~)

画像46

19. 00Chi (H1、2019年1月~)

画像47

20. 00Psi (H4、2017年1月~)

画像48

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

TradingView では参照できる足の数の制限によりバックテストの期間が短くなってしまうため、MetaTrader4 (MT4) を使って2017年1月からのバックテストを行っています。(pine によるストラテジーを MQL4 で再現し、約定履歴から作った足を用いることでバックテストや最適化を行っています。)
グラフの横軸は時間、縦軸は累積利益率(%)になります。
累積利益率(%)はトレードごとの損益(%)を積み上げたもので、毎日UTC 0時(日本時間午前9時)基準でその時点の含み損益も合算して表示しています。
ドローダウン(DD)も同様に毎日UTC 0時時点のもので、日中にはこのグラフより深くなる場合もあるため注意が必要です。

1. 00Gamma (H1)

画像22

2. 00Delta (M15)

画像23

3. 00Zeta (H1)

画像24

4. 00Theta (H4)

画像25

5. 00Beta (M30)

画像26

6. 00Lambda (H1)

画像27

7. 00Rho (H4)

画像28

8. 00Sigma (H1)

画像29

9. 00Eta (M30)

画像30

10. 00Phi (H4)

画像31

11. 00Omega (H1)

画像32

12. 00Kappa (H4)

画像33

13. 00Tau (H1)

画像34

14. 00Iota (M30)

画像35

15. 00Pi (M1)

画像36

16. 00Mu (M68)

画像37

17. 00Nu (M30)

画像38

18. 00Xi (H4)

画像39

19. 00Chi (H1)

画像40

20. 00Psi (H4)

画像41

統計情報

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

画像48

  総取引数       総取引数
  平均取引数(/日)    1日あたりの平均取引数
  平均取引数(/年)    1年あたりの平均取引数
  PF          プロフィットファクター、総利益÷総損失
  ペイオフレシオ     平均利益÷平均損失
  勝率          勝ち取引数÷総取引数
  期待利得(/トレード)   総利益÷総取引数
  期待利得(/日)      総利益÷バックテスト日数
  標準偏差(/日)      期待利得(/日)の標準偏差
  シャープレシオ     期待利得(/日)÷標準偏差(/日)

損益についてはすべて損益率(%)で計算しています。
例えば、期待利得(/トレード) が 0.36%ということは 1BTCで運用した場合、1トレードあたり 0.36%の利益が得られたということになります。(1BTC=100万円の場合、3,600円の利益)
SFD が発動した場合、注文ごとに0.25%、1トレードあたり往復で最大0.5%徴収される可能性があります。(1BTC=100万円の場合、0.5%=5,000円)

相関係数

以下は各ストラテジーの日次損益率同士の相関係数です。
基本的にほぼすべて順張りのストラテジーであるため、その相関は高めになっています。

画像48

ポートフォリオ

以下は上記20ストラテジーのロットをすべて均等とした場合のバックテスト結果です。(3段目はDDの0%~10%の部分を拡大したものです。)

画像48

次は各ロットを下表の最適ロット配分*にした場合のバックテスト結果です。
(*: 最大/最小ロットを制限しつつ、はむとれストラテジー大会で採用された評価式 (SR*(PF-1)*RF)を最大化したもの。SR:シャープレシオ、PF:プロフィットファクター、RF:リカバリーファクター)

画像45

画像48


ここから有料部分となります。
TradingView のストラテジーとアラートのプライベートリンクのみが含まれています。(それぞれ「お気に入りスクリプトに追加」をチェックすることでインジケーターのお気に入りリストに出てくるようになります)

画像47

冒頭の「ご注意・免責事項」に同意いただける場合のみお進みください。

ここから先は

206字

¥ 5,980

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