皆さん初めまして!makoto(@Makoto_beginner)です!
Ver1.03のOptimaHeatにてTradingViewにログインできないという情報をいただいたため、コードを改良しました。
具体的には、ロボット認証画面が出てきてログインをはじかれるようです。これにより、プログラム動作のみでのログイン突破が難しくなりました。
そのため、Ver1.04以降からOptimaHeatを起動した最初の時にTradingViewへの手動ログインが必要となります。
また、ログイン情報を格納するプロファイルの保存先のフォルダも指定する必要があります。
その他については何も変更はないため通常通りご使用ください。
詳細な更新内容についてはダウンロードページよりご覧ください。
1,TradingViewの準備をする
OptimaHeatはTradingViewからデータをダウンロードするのでTradingView側でも準備が必要になります。
しかし、簡単な操作なのでご安心ください!
①パフォーマンスサマリーの画面を開く
まずは、なんでもよいのでストラテジーを開いてパフォーマンスサマリーの画面を開いてください。下部の「ストラテジーテスター」のタブをクリックすると「パフォーマンスサマリー」が出てくるのでこれをクリックします。以下の画像のようになれば準備OKです!
このとき、パフォーマンスサマリーの画面がチャート画面を覆ってしまわないようにしてください。
このように、パフォーマンスサマリーの画面がチャートを覆ってしまっている場合は、チャートが半分程度出るようにパフォーマンスサマリーの画面を縮小してください。
②パラメーターの画面を表示する
次に、ストラテジーの歯車のボタンを押して出てくる画面で「パラメーター」のタブを選択してください。
以下のように、設定画面でパラメーター画面が出ていればOKです!
③タイムフレームのお気に入り登録を解除する
TradingViewでは、タイムフレームのお気に入り登録ができ、これを行うとチャート上にこのようにお気に入りしたタイムフレームが並んで表示されます。
しかし、現在のOptimaHeatの仕様ではエラーが出てしまうためお気に入りを解除して、以下の画像のように一つのタイムフレームしか表示されていない状態にしてください。
④TradingViewの言語設定を英語にする
次にTradingViewの言語設定を英語にしてください。
TradingViewの左上のメニューから、「言語」「English」を選択してください。
⑤最後に保存する
ここまで準備できたら、右上にある雲のボタンを押し保存してください。
雲のボタンにチェックマークがつけば設定完了です!
2,必要事項を入力する
(1)プロパティ
プロパティは、OptimaHeatを動かす際に必要となる情報を入力する箇所です。
下部にある「設定を保存」ボタンを押すことで、次回以降起動時に入力された状態となります。
①TradingViewのID・②TradingViewのパスワード
Ver1.04では不要となりました。その代わり、初期起動時に手動でログイン処理を実施していただく必要があります。
③ダウンロードデータの保存先パス
TradingViewからダウンロードされたデータが保存されるフォルダのパスを入力してください。
設定などを変えていない限り、基本的にパソコンの「ダウンロード」フォルダが指定されていることが多いです。windowsではShiftキーを押しながら対象のフォルダを右クリックするとメニューに「パスのコピー」が出てくるので、これを押すとパスをコピーできます。
パスを入力する際は¥を¥¥に変換して入力してください。
例えば、パスが
C:¥〇〇¥▽▽▽¥◇◇◇
だった場合は、
C:¥¥〇〇¥¥▽▽▽¥¥◇◇◇
と入力してください。
④プロファイル保存パス
Ver1.04から新たに追加となった部分です。
初回起動時にTradingViewに手動ログインしますが、この情報を保存する先のフォルダを指定します。
適当にデスクトップなどにフォルダを作成して、そのフォルダを指定しても構いません。
⑤ヒートマップの保存先パス
出力されたヒートマップを保存したいフォルダのパスを入力してください。
これも同様に、¥を¥¥に変換するのをお忘れなく!
(2)シンボル&タイムフレーム
①シンボル名
ストラテジーを適応させたいシンボルを入力してください。シンボルの入力は、ブローカー名と銘柄をコロンで繋いで、
ブローカー名:銘柄
のように入力してください。
例えば、ビットフライヤーのBTCJPYにストラテジーを適応する場合は、
BITFLYER:BTCJPY
と入力してください。
カンマ(,)で区切ることで複数の銘柄に適応することができます。
②タイムフレーム
タイムフレームを指定します。1m(一分足)から1M(一月足)まで指定できます。
カンマ(,)で区切ることで複数のタイムフレームに適応することができます。
(3)パラメーター設定
①ストラテジー名
ヒートマップを作成したいストラテジー名を入力します。大文字小文字含め、正しいストラテジー名を入力してください。(※今のところ日本語には対応していません。日本語のストラテジーの場合は英語に変換してから使用してください)
カンマ(,)で区切ることで複数のタイムフレームに適応することができます。
②パラメーター
Y1,X1,Y2,X2
変化させたいパラメーターを入力する画面です。入力するパラメーターをカンマ(,)で区切って入力してください。
No.
パラメーターを入力する箇所を指定する番号です。下図のように、ストラテジーのオプションを開いて、入力欄が何番目にあるかを指定します。
ラベル名
ヒートマップに表示するラベル名(下図青枠)を入力します。(※今のところ日本語には対応していません)
(4)出力するヒートマップ
出力したいヒートマップを選択します。プロパティと同様、下部にある「設定を保存」ボタンを押すことで、次回以降起動時に入力された状態となります。
(5)その他の設定
①ヒートマップに値を表示
チェックを入れると下の画像のように、ヒートマップに数値を表示することができます。
チェックマークを外すと以下の画像のように、数値が表示されていないヒートマップが出力されます。
②0を基準にする
0を基準としてヒートマップを描画することができます。この機能により、正の値はオレンジで負の値は青色で描画されるようになるため、値の正負の判断がより簡単になりました。
例えば、以下の結果であればすべての値が正であることがわかります。
(6)処理実行ボタン・設定を保存ボタン・進捗バー
処理実行ボタン
このボタンを押すと処理を開始します。
設定を保存ボタン
・プロパティ
・出力するヒートマップ
の二項目に関して次回立ち上げた際に設定を引き継ぐために、現在の設定を保存するボタンです。
進捗バー
全体の処理に対してどの程度進捗しているかを示すバーです。
3,処理実行ボタンを押してあとは待つだけ!
処理実行ボタンを押すと、Chromeが立ち上がり勝手にTradingViewにアクセスしてデータのダウンロードが始まります。
ただし、Ver1.04以降、初回立ち上げ時のみTradingViewへの手動ログインをお願い致します。
ログイン作業はいつも通りです。
以下画面の右上の人型マークをクリックし、
サインインをクリック
お好きなログイン方法でログインをお願い致します。
ログイン後、通常通り自動操作が始まります。
すべてのデータのダウンロードが完了するとヒートマップを作成する処理を実行し、すべての処理が完了したらChromeが閉じます。
この間、パソコンがスリープ状態にならないようにしてください。(スリープ状態ではTradingViewのページがうまく動作せずOptimaHeatも動作が止まってしまいます)
もしパソコンをつけっぱなしにしたくない!なんて方がいれば、VPSを契約してその環境からOptimaHeatを起動してください。
ConoHaなどで契約すればすぐに稼働できます。
4,IDに関して
OptimaHeatは起動すると、先ほどの画面に加えコンソールが立ち上がります。
このコンソールはエラーが発生した際にメッセージを出力してくれるので、今後のエラー対応に使用する予定ですが合わせてIDが表示されます。
このIDは各個人に割り当てられた番号で、この番号を示すことで新たなOptimaシリーズが出た際に割引した価格で購入できるようにしたいなと思っています。
それゆえ、大切な証明番号となりますので第三者に教えないようにお願いいたします。
5,今後のアップデートに関して
このOptimaHeat、結構力を入れて作成したソフトではあるのですがまだまだ使いにくい箇所があるかと思います。
今後は以下の点に関してアップデートを検討しています。(計画なので急遽変更や休止する可能性があります。ご了承ください)
・動作の高速化(約5%程度)
→処理のアルゴリズムを変更して動作の高速化を検討しています。
・ヘッドレスモードの実装
→現在はOptimaHeatを実行するとChromeの画面が立ち上がり動作をしますが、正直邪魔だと思います。これをChromeを立ち上げない状態でバックグラウンドで処理できないか検討中です。
その他、皆さんからの意見をうけて改良ができればと思っています。
(しかし、最近本業が忙しい為、あまり期待しないでください・・・)
ではまた!
本記事を気に入っていただけたらブックマークお願いします!また、ツイッターもやってるのでフォローよろしくお願いいたします!
Twitter : makoto(@Makoto_beginner)
また、記事中で不明なことや間違い等ありましたら以下のコメント欄からコメントいただけると幸いです。
皆様のコメントをもとにどこよりもわかりやすいブログを目指していきます。
こんにちは。
購入させていただきましたが、手順通りに実行してもうまくいきません。以下のあたりのメッセージが怪しいと思うんですが、改善策をご教授ください。
よろしくお願いします。
selenium.common.exceptions.WebDriverException: Message: unknown error: Could not remove old devtools port file. Perhaps the given user-data-dir at “(ファイル名)” is still attached to a running Chrome or Chromium process
KJさま
この度はご購入いただきありがとうございます。
ご連絡いただいているエラーはプロファイルの保存先として指定しているフォルダ名が無効である場合に出力されるエラーとなりますので、以下の点についてご確認をお願い致します。
1,プロファイルの保存先として指定しているフォルダパスが間違っていないか
2,プロファイルの保存先として指定しているフォルダパスの初めに半角スペースなどの文字が入っていないか
3,プロファイルの保存先として指定しているフォルダパスを”(ダブルクオーテーション)で括っていないか
以上、ご確認を宜しくお願い致します。
ご回答ありがとうございます。
3のとおり、「””」で区切っておりました。
初歩的な質問失礼いたしました。
何度も失礼します。
おかげさまでフォルダパス名を修正し、自動でChromeが開き、Tradingviewにログインし、設定したストラテジーを開くまでは動作しましたが、その後何も起きません。
ヒートマップが保存されるファイル内も空です。
恐らく、この後各パラメーターを総当たりしてバックテストをしていくような感じがするんですが。。。
エラーメッセージは最後に以下のように出てきております。
[9404:17868:0209/230525.431:ERROR:gpu_init.cc(454)] Passthrough is not supported, GL is disabled, ANGLE is
KJさま
返信が遅れて申し訳ありません。
現在、TradingViewの仕様変更の影響により動作が不安定になっているようです。
現在更新プログラムを作成しておりますので、いましばらく待ちください。
承知しました。
botの検証をいろいろしたいので、心待ちにしております!
KJさま
励みになるコメントありがとうございます!
プログラム修正頑張ります!