見出し画像

TradingViewストラテジー最適化支援ツール OptimaHeat

※【重要】サポートの終了について

OptimaHeatについては、2023年3月末を持ってpath_listをはじめとするサポートを終了することにいたしました。そのため、現在購入いただいた場合、2023年3月以降使用できなくなる可能性がありますので、その内容をご理解されたうえでご購入をお願い致します。

今後はよりメンテナンスの手間がかからないアプリの制作に時間を使います。

0、はじめに

初めまして!Makoto(@Makoto_beginner)と申します。

今回は、TradingViewストラテジーの最適化支援ツールOptimaHeatの紹介をします。

高機能チャート描画ツールであるTradingViewは、Pineスクリプトというオリジナルの言語を使用することで独自の売買戦略(以下、ストラテジーと記述します)をバックテストすることが可能です。

もちろん、バックテストはあくまでも過去の相場に対して行うものなので、未来の相場に通用するとは限りませんが、様々なパラメーターでどのような相場の時に利益を出すことができるのか知ることはストラテジーの長所・短所を分析するために必要です。

しかし、TradingViewではパラメーターの最適化が行えない為いったいどのようなパラメーターの時に利益やその他のパラメーターが最大、もしくは最小になるのかを一つ一つ手動で設定を変更して試す必要がありました。

Pythonなどのプログラミング経験がある方はコードを書くことでパラメータの最適化を行えますが、何百行ものコードを記述しないといけないうえストラテジーごとにコードを書き換える必要がありました。

そこで、今回は特別なプログラミングの知識がなくても簡単にストラテジーの最適化が行えるようにOptimaHeatというソフトウェアを作製しました。

なるべく誰にでも使用できるような仕様としておりますので、以下に記述する目的やマニュアル、注意点を読まれたうえで「使ってみたい!」という方がいらっしゃれば是非購入をご検討ください。

【更新履歴】
・(2021/11/28)「4-④タイムフレームのお気に入り登録を解除する」を追記

・(2021/12/16)Ver1.02のベータ版を公開
【アップデート内容】
1,chromedriverのダウンロードが不要になりました
2,ヒートマップ上の数値出力の有無を選択可能としました
3,ヒートマップの出力サイズが組み合わせパターン数により変化するようになりました
4,ヒートマップの1マスが正方形になるようにしました

・(2021/12/27)Ver1.03のベータ版を公開しました。
今後、正式版として値上げのうえ販売させていただきます。※マニュアルは正式版リリースまでに改定します。
【アップデート内容】
1,ストラテジーを複数指定してヒートマップを作成する場合にバグが発生していたため、修正しました。
2,ヒートマップを作成する際、0を基準にすることが可能となりました。
今までは値の幅をもとに自動的に色の濃さを変えていましたが、このオプションを指定すると正の値はオレンジ色寄りに、負の値は青色寄りで描画され
るようになります。そのため、今までより値の正負の判断が簡単になりました。

・(2021/12/29)Ver1.03のマニュアルを整備しました

(2022/01/26)Ver1.04を公開しました。
【アップデート内容】
TradingViewにログインする際、ロボット認証によりはじかれるとの情報をいただいたため、初回立ち上げ時に手動ログインする仕組みにしました。

・(2022/01/31)Ver1.04-1を公開しました。
アップデート内容
TradingViewの仕様変更により使えなくなっていたため、プログラムコードを修正しました。(Ver1.04-1)

(2022/04/07)Ver1.05を公開しました。
【アップデート内容】
1,TradingViewの仕様変更により使えなくなっていたため、プログラムコードを修正しました。(Ver1.05)
2,処理の方法を変えてより高速に処理が行えるようになりました。

(2022/09/04)Ver2.00を公開しました。
【アップデート内容】
【機能面】
(1)TradingViewのページの仕様変更が発生した場合に、”path_list.csv”ファイルを更新することで皆様自身で不具合への対応が可能になりました
(2)テストモードを実装しました
(3)プログラムの動作速度を各自で設定できるようになりました
【作業面】
(4)TradingViewへのログイン方法が若干変化しました

・(2022/12/30)Ver2.01を公開しました。
【アップデート内容】
(1)バグを修正しました。


1、OptimaHeatでできること・できないこと

まずは、OptimaHeatでできること・できないことを紹介します。

(1)できること
OptimaHeatでできることは、与えられた条件下で最適なパラメーターを探し出すことです。

TradingViewで作成した「EMA-CROSS」というストラテジーがあったとします。このストラテジーに設定できるパラメータの数は2つありますが、一体どんなパラメータの組み合わせが最適なのかわかりません。また、適応する銘柄や適応するタイムフレームも変えることができるため、これらの組み合わせで最も利益が出る組み合わせを調べたい状況だとします。こういった場面でOptimaHeatを使用すれば簡単にヒートマップを作成することができます。
以下のヒートマップは、

・ストラテジー名:EMA-CROSS
・銘柄 : BYBIT:BTCUSD
・タイムフレーム : 1H
・パラメーター1 : Short_termというパラメーターを50から180まで10ずつ増加
・パラメーター2 : Long_termというパラメーターを100から400まで30ずつ増加


という条件を設定した際に出力された総利益のヒートマップです。

画像4

このストラテジーの場合は、Short_termを180、Long_termを400にした時に最大の利益が出たことがわかります。
また、今回は最大利益のヒートマップを出力しましたが他にも23種類(合計24種類)の指標のヒートマップが出力可能です。
例えば、同じストラテジーのプロフィットファクターを見てみましょう。

画像5

プロフィットファクターについても、またもやShort_termを180、Long_termを400にした時に最大であることがわかります。
「このパラメーター最強なんじゃね?」と言いたいところですが、取引回数をみてみましょう。

画像6

他のパラメーターと比較して取引回数が”19回”と少ないことがわかりますね。
このように、取引回数が少ないストラテジーの場合は高い利益率、勝率、プロフィットファクターが出ることがあります。
そのようなことを防ぐためにも、必ず他の指標と合わせてストラテジーを評価することが大切です。
そのため、OptimaHeatでは全24種類の指標に関してヒートマップを作成できるようにしています。
出力できるヒートマップは、以下の24種類です(TradingViewの表記に合わせています)

・「純利益」 ・「総利益」 ・「総損失」 ・「最大ドローダウン」
・「シャープレシオ」 ・「ソルティノレシオ」・「プロフィットファクター」
・「最大保有数」 ・「未決済の損益」 ・「支払い済み手数料」
・「終了したトレードの合計」 ・「未決済トレードの合計」 
・「勝ちトレード数」 ・「負けトレード数」 ・「勝率」 ・「平均トレード」
・「平均勝ちトレード」 ・「平均負けトレード」 ・「ペイオフレシオ」
・「最大勝ちトレード」 ・「最大負けトレード」 
・「トレードでの平均バー数」 ・「勝ちトレードでの平均バー数」
・「負けトレードでの平均バー数」

(2)できないこと

次にできないことですが
1、与えられたパラメーター以外の検証は不可能
2、高速な処理実施

です。


1、与えられたパラメーター以外の検証は不可能

先ほどの例を再度あげますが、

・ストラテジー名:EMA-CROSS
・銘柄 : BYBIT:BTCUSD
・タイムフレーム : 1H
・パラメーター1 : Short_termというパラメーターを50から180まで10ずつ増加
・パラメーター2 : Long_termというパラメーターを100から400まで30ずつ増加


という条件設定をしました。
しかし、仮に本ストラテジーの最大利益が出るパラメーターの組み合わせが、
・パラメーター1 : Short_termが55
・パラメーター2 : Long_termが112
等であった場合は見逃してしまうことになります。
このようにOptimaHeatはあくまでも、
与えられた条件下で最適なパラメーターを探し出す
ツールであることをご理解ください。

2、高速な処理実施

OptimaHeatはTradingViewからデータを自動でダウンロードして処理を実施するソフトウェアです。そのため最適化にかかる時間だけで言えば、Pythonなどで最適化を実施する場合よりも長い時間が処理に必要となります。
しかし、そもそもPythonでTradingViewなどのストラテジーを最適化しようとすると、ストラテジーを1つずつPython用に変換したり手間がかかるので、その時間と比較すればこちらの方が高速で処理が行えます。

「兼業トレーダーの方で、仕事に行ってる間に自動で検証したい」
「今から少しお出かけするので、その間に自動で検証したい」


なんて方にオススメです!
あなたが思う存分買い物を楽しんでいる間にOptimaHeatがせっせと働いてくれます。

画像7


2、OptimaHeatの仕組み

得体の知れないソフトウェアを動かすのは気がひけますので、どのような仕組みでOptimaHeatが動いているのかを簡単に説明いたします。

名称未設定2.001

①OptimaHeatからChrome WEBドライバーを駆動する
②Chrome WEBドライバーからChromeを操作する
③ChromeでTradingViewにアクセスして、与えられたパラメーターを使用してストラテジーの成績をCSV形式でダウンロード
④全てのパラメーターのデータをダウンロードしたら、OptimaHeatがフォルダ内のデータを読み込む
⑤読み込んだデータをもとにヒートマップを作成して指定のフォルダへ画像を保存する


このような流れで処理をしています。
そのため本ソフトウェアを動かす際は、
Chromeが使用できる環境であること
ことが必須条件となりますのでご注意ください。


3、ヒートマップの出力ルールについて

次に、どのようにして1枚のヒートマップが出力されるかについて説明します。
OptimaHeatで指定できる条件は、
1、シンボル
2、タイムフレーム
3、ストラテジー
4、ストラテジーの各種パラメーター
の4つがありますが、「シンボル」「タイムフレーム」「ストラテジー」の組み合わせごとにヒートマップが出力されます。
イメージを図で表すとこんな感じです。

スクリーンショット 2021-11-28 10.00.14

上図のように、シンボルを2つ・タイムフレームを1つ・ストラテジーを2つ指定した場合は、計4ペアのヒートマップが出力されます。


フォルダ自動作成機能について

OptimaHeatは、作成したヒートマップを簡単に見つけられるようにフォルダ自動作成機能を実装しています。先ほどのように、様々な条件を指定した場合には多くのヒートマップが出力されます。
そこで、後から簡単にヒートマップにアクセスできるようにフォルダの自動作成機能を実装しております。

先ほどと同様の条件だと、”プロパティ”にて指定したヒートマップ保存先フォルダの中に以下のようにフォルダが作成されます。

名称未設定4.001

4、OptimaHeatの操作マニュアル

では、実際にOptimaHeatを使ってみましょう。写真付きで手順を1から解説するので一緒にやってみてくださいね!

(2022/09/04)マニュアルは見やすさと更新の手間を考えて以下のページにて一元管理することとしました。

【OptimaHeatマニュアル】
【操作マニュアル】OptimaHeatを使ってみよう!(Ver2.00)

5、購入にあたっての注意点

最後にご購入いただくにあたっての注意点です。
内容をよくお読みいただき理解された上でご購入をお願いいたします。

○動作について
・現在、OSはWindowsのみ対応しています。
・以下の環境で動作を確認しています
    OS  :  windows10 64bit 
    CPU  :  intel core i7

・販売形式上、動作しない場合であっても返金はできませんのでご了承ください。
TradingViewの仕様変更により使用不可、もしくは正しいヒートマップが出力されなくなる場合がございます。
本製品を使用したことによる機器の破損、その他損害について保証はできません。あくまでも自己責任でご使用願います。

○返金対応について
 ・販売形式の都合上いかなる場合であっても返金はできませんのでご了承ください

○サポートについて
・TradingViewの仕様変更により使用不可、もしくは正しいヒートマップが出力されなくなった場合、エラー等が発生した場合は極力対応しますが、本業との兼ね合いにより対応が遅れる場合がありますので、サポートについては基本的にないものと思っていただけますと幸いです。

○動作エラーや改良の要望に関して
動作エラーやソフトウェアの改良要望等がありましたら、私のブログの記事(【操作マニュアル】OptimaHeatを使ってみよう!(Ver2.00)にコメント、もしくはTwitter(@Makoto_beginner)宛てにご連絡いただけますと幸いです。またエラーが発生した際は、コンソール上に表示されているエラーメッセージも併せて送っていただけますと幸いです。

○使用用途について
・本製品はあくまでもストラテジー選定をサポートする目的でご使用ください。最終的な投資決定は自己責任でお願いします。

○販売停止及び価格の変更について
・本ノートは事前の連絡なく販売停止する可能性がありますがご了承ください
・本ノートは事前の連絡なく値上げする可能性があります。ご了承ください。

○売上金の使用用途について
・売り上げは今後の開発費用に当てさせて頂きます

○その他
ソフトウェアを無断で配布、改造することは禁止します。

以上の内容をご理解いただいた方のみご購入をお願い致します。

以下、有料パートになります。

ここから先は

748字

¥ 9,500

期間限定 PayPay支払いすると抽選でお得に!

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