DNN18は、ディープ・ニューラルネットワーク(DNNと略称)を用いて専門知識なく18個のインジケーターを自由に組み合わせ、OPEN、CLOSE信号を出力します。DNNは入力層、隠れ層A、B、出力層の4層です。
新しいv724の簡単な操作方法です。
以下はv724以前のものです。取り扱いはほぼ同じです。(無料版はv724以前のものです。)
・・・・・・・・・・・・・・・・・・・・・・・・
シリーズとしては
☆DNN18OPTmt4 ニューラルネットワークの最適化。OPTと略称。Expertsフォルダーへ収納。
☆DNN18INDmt4 最適化データを使用して、矢印等表示。INDと略称。Indicatorsフォルダーへ収納。
☆DNN18OPTdemo4 OPTのデモ版(2023/5までを計算、他は制限なし)Expertsフォルダーへ収納。
☆DNN18INDdemo4 INDのデモ版(2023/5までを表示、他は制限なし)Indicatorsフォルダーへ収納。 2023/5近辺を表示して下さい。
の4つがあります。名称の
OPTはEAのバックテストで動作し、独自の遺伝的アルゴリズム:GAで最適化を実施します。
INDはインジケーター
demo4のdemoはデモ版
を指します。
【使用フォルダ】 \Terminal\Common\Files
ここはMT4 、MT5 全てのユーザーに許可された場所です。細部は【場所1】で説明します。
【使用感想】
例えば一目均衡表とADXとを組み合わせたインジケーターなんて、あまり考えたくありませんよね。それを勝手にDNN18がやってくれるのですから便利です。
DNN18もAI(人工知能)に含まれます。私は長年の研究雑感として、AIは「先入観がない専門家100万人以上をいっぺんに長時間働かせていることと同等」と感じています。しかし人間の英知を超える神のような結果はだせません。そう人が感じるのはAIに先入観がないからだと思います。
従って、DNN18は相性が悪いインジケーター同士でもなんとか最適化します。そして先入観なしで全ての可能性を統計的に追及するため、インジケーターの一般的な使い方とは異なった使い方をしている様にも見受けられます。そこが独自のインジケーターとなりえます。
しかし最終的に良い結果かどうかは、やはりエンドユーザーの人の判断が必要です。
【購入をお考えの方へ】 購入前に、ご自身のPCで可能か?、この通貨ペアは可能か?、証券会社は大丈夫か?デモ版で必ずチェックして下さい。
【無料】ディープ・ニューラルネットワーク18MT4
https://www.gogojungle.co.jp/tools/indicators/45629
EA版やMT5版も予定しています。
概要
下図のようにOPTで最適化データを作成しINDで表示します。
最適化データの中には、ニューラルネットワークの係数値と、最適化されたインジケーターのパラメーター値(変更可)が入っています。
初めての方は「2段階 ウ~~、面倒くさそう。」と思われるかもしれません。それを想定してシンプルに作ったつもりです。
【OPTを即実行したい】商品に添付してるファイル「DNN18OPTmt4_720.set」をエキスパート設定>パラメーターの入力から読み込んでください。そして下の「1.」「4.」を実行してください。最適化を実行します。
【INDを即実行したい】商品に添付してるファイル「RAIWPR」を【場所1】にコピペして、IND(demo4)をチャートにドラッグしてください。「RAIWPR」を自動で読み込んで、表示します。
【使用例を用いた取扱い説明】USDJPY H1 2022.06.01~2023.01,01をOPTでバックテストし、必要なら2023.03,01までの残り期間をフォワードテストします。そして最適化データを【場所1】へ書きだします。その後、INDで最適化データを読み込み、表示します。入力するインジケーターはRSIとWPRとします。 (この組み合わせは見たことがない=相性が悪いかもしれません。)
【OPT】
1.OPTはEAで作成されているため、エキスパートアドバイザーのバックテストとして以下のように設定して下さい。
そして右側のエキスパート設定をクリック。テスト設定は以下のように設定します。
2.以下①のようにYesが付いたRSIとWPRインジケーターを選択(チェックは入れない)
3.②のようにモード選択でGA最適化を選択し、左側のGA回数で✔を入れてスタート0、ステップ1、ストップ19000とします。
4.「1.」のセッティング画面で下図のように(チェック✔最適化)スタートをクリックすれば、最適化を実施します。設定はこれだけです。シンプルです。
経過観察
下側の最適化グラフメニューでは、当初こんな感じの図が得られます。
たまに、下図のように0のままの場合があります。OPTは毎回新しい乱数でパラメーターを初期化します。その際、インジケーターに合わない乱数の場合、0になりっぱなしです。または前回の履歴を消し忘れた場合も同様です。
この場合【場所1】【場所2】のファイルとフォルダーを全て削除して下さい。そして新規にスタートして下さい。
ではいつまで最適化を続けるか?
経験上、4万回ならとりあえずOKです。MT4の場合約2万回で下図のような訳が分からない表示となりMT4がポーズ?状態になります。
OPTが悪いわけではありません。他のEAや他の証券会社のMT4でも同様の結果となることを確認しています。安心してください。ストップをクリック。
―――最適化継続の場合―――
【場所2】にある「DNN18OPTmt4.***」を削除。そしてセッティングの(✔最適化)スタートをクリックしrます。
5.最適化を止めるには、ストップをクリックします。(または所定回数で自動で終了。)今回は19000回です。
ストップ後は最適化データの最後の1000ケースをOPTへ紐づけます。モード選択を「Normal_1000」、左側のNormal_1000を✔し、スタート0。ステップ1、ストップ999を設定します。
フォワードテストまで実施する場合は「1.」の終了日を2023.03,01に再設定します。バックテストのみの場合はそのままのセッティングで(✔最適化)スタートをクリック。1000ケースの最適化データができます。その場所は、【場所1】です。
6.次は最適化データ最後の1000個から好みのデータ1個を選択し、ファイルネームつけて保存する作業についてです。
まず最下の最適化結果メニューをクリックします。選択方法はお好みですが、最適化結果のプロフィットファクタ(もしくはOnTester)を大きい順にならべ、期間が約1年なので最低3桁の行をダブルクリックします。(最適化外して)スタートをクリックしてグラフメニューにします。幾つか選択してみてよさそうな中から1つ選択します。
OPTは「始値のみ」で動作するので、不整合チャートエラーはこの色です。無論、時間はかかりますが「全ティック」にしても同じ結果です。その場合は青色になりますが、実質意味はありません。
1つ選択の後、下図のようにモード選択を「File Save」、左側のNormal_1000の✔を外し、File Name に名前を入れます。今回は「RSIWPR」です。商品にも梱包しております。アルファベット入力です。
(最適化外し)スタートをクリックすると、Results_dataと同じ場所に、拡張子無しの最適化データができます。実はこのデータは、Results_data内の1つです。
――注意――
別のインジケーターへ変更し新規に最適化する場合は、必ず【場所1】【場所2】のファイルとフォルダーを削除してください。
7.ビジュアルモードで見るには。
パラメーター入力の全てのチェックを外し、モード選択をNormal_1000にしてからビジュアルモードで(✔外し)スタートさせます。下図のようになります。OPTのGAがどのようなパラメーターを設定したか、左側に表示します。 INDも同様に表示します。
【IND】
1.
即、動作させたいなら商品に添付してるファイル「RAIWPR」を【場所1】にコピペして下さい。OPTで最適化データを作成したならそのファイル名をFileNameへ入れてください。、
2.
あとは他商品のインジケーターと同様です。則、動作させたいなら何もいじりません。OPTのパラメーターを変更したなら、「パラメーターの入力」をOPTと同じに設定し直します。OPTと同じにすれば問題ありません。(面倒な場合、OPTのパラメーターを一度保存し、それをINDのパラメーター設定で読み込んでください。)既定値はFileNameがRSIWPR、RSI,WPRをYesに設定しています。
上段
黄色でこれからUPの見込み、赤色でこれからDOWNの見込み。白丸ではCLOSEすべき指示となっています。必ず白丸でCLOSEという訳ではなく、黄色の次に赤色が来たらCLOSEというパターンも含まれています。
下段
ここには、DNNの出力層の値がラインで表示されます。0.6を超えた場合、上段に黄色、赤色、白丸が出ます。
【OPT】【IND】パラメーター細部説明
パラメーターの入力が多いように思えますが、下図のように全く使用ないエリアがあります。上側から説明します。
〇「MAGIC(基本ナンバー)」:OPTはEAとして動作させますので設定してます。変更は無意味です。
〇「Lots」:MAGICに同じ。
〇「モード選択」:
GA最適化::MT4備え付けの遺伝的アルゴリズムではなく、OPT独自の遺伝的アルゴリズムGAによる最適化を実施。この時は必ず左側のGA回数を✔ * 0 1 19000 に設定します。(*:自由)2万回以上ではMT4が止めてしまいます。19000は任意。
Normal_1000::最適化データとMT4を紐づけます。最適化データを任意に選ぶことを可能にします。この時、1000ケース選ぶため、必ず左側のNormal_1000のみを✔ * 0 1 999 に設定します。
File Save::1000ケースの中から1個選んだ最適化データを、Filenameに従って保存します。必ず他の全ての✔を外します。 「1.」の(✔を外して)スタートをクリックします。
Normal_Filename::最適化データの読み込みです。Filenameにファイル名を記述し、「1.」の(✔を外して)スタートをクリックします。
〇「GA回数」:モード選択GA最適化に記述。
〇「Normal_1000」:モード選択Normal_1000に記述。
〇「Filename」:モード選択File Saveに記述。
〇「カスタム選択」:OPT独自のGAの評価、OnTesterの計算方法の選択。
_PROFIT::総損益
_PROFIT_FACTOR::プロフィットファクター
_EXPECTED_PAYOFF::期待利得
_BALANCE_DD::最大ドローダウン
_EQUITYDD_PERCENT::証拠金ベースの最大ドローダウン
_RECOVERY_FACTOR::リカバリーファクター
_RECOVERY_L1::リカバリーファクター+ カーブフィッティング防止L1正則化
_OrigL1::カーブフィッティング防止L1正則化も含めたオリジナルです。_PROFITも_RECOVERY_L1もよい結果を出しますが、今回はこれを使ってます。
_COMPLEXCRITERIONL1::(MT5用でMT4では不使用)
〇「---インジケーター Indicator」: OPTは「始値のみ」で動作します。以下インジケーターは全て共通で現通貨ペア、時間軸は現行のみ、PRICE_OPEN、MODE_SMAに固定してます。 Yes、Noで選択します。
〇「3つのMA(移動平均))」:MAを3つ含んでます。DNN18によって不必要なMAは他のMAと同じパラメーターにGAが自動で設定します。つまり、1~3個自動選択となります。
〇「RSI 1個目」:RSI 1個目です。
〇「RSI 2個目」:RSI 2個目です。1個目と同内容。重ねて使用可。
〇「RSI 3個目」:RSI 3個目です。1個目と同内容。重ねて使用可。
〇「RSI 4個目」:RSI 4個目です。1個目と同内容。重ねて使用可。
〇「BB ボリンジャーバンド」:ボリンジャーバンドです。標準偏差2に固定。
〇「ADX」:ADXです。
〇「MACD」:MACDです。シグナルライン期間は9に固定。
〇「Ichimoku 一目均衡表」:一目均衡表です。
〇「CCI(Commodity Channel Index)」:CCIです。
〇「Sto ストキャスティクス」:ストキャスティクスです。 価格欄の設定はLOWHIGH、移動平均の種別はSMAに固定です。
〇「Bears ベアパワー」:ベアパワーです。
〇「Bulls ブルパワー」:ブルパワーです。
〇「WPR ラリーウィリアムズ%R」:ラリーウィリアムズ%Rです。
〇「モメンタム 1個目」:モメンタム 1個目です。
〇「モメンタム 2個目」:モメンタム 2個目です。1個目と同内容。重ねて使用可。
〇「モメンタム 3個目」:モメンタム 3個目です。1個目と同内容。重ねて使用可。
〇「アリゲーター」:アリゲーターです。 平均化メソッドはSMAに固定です。
〇「---インジケータパラメータ 設定 If you wate fix the Indicator's parameter」 :説明文
〇「---通常は0: GAによる自動設定 1以上でマニュアル設定(1 or more set value)」: 説明文
以下は期間パラメーター等を設定したい場合、数値を入力します。0の場合、DNN18のGAが最適化した値となります。無論、インジケーターがYesになっていないと無意味です。
ここで入力した値を有効にするには、「7.」と同様にパラメーター入力の全てのチェックを外し、モード選択をNormal_1000にしてから(✔を外し)スタートしてください。「MA 1個目の平均期間」~「Alligatoジ平均化メソッド」間の説明は省きます。
〇「---NN各入力数 B層ノード数」:各インジケーターからは、平均で5個の数値データが出力されます。従って、もし2つのインジケーター使用なら「各入力バー数Bar numbers」3で5×2×3=30の入力数になります。A層のノードも同じ30に設定されます。ここでの3は3×H1=3H前からのデータ以上を含みます。以上と書いたのはインジケーターによっては、既に数バー含んでいるからです。無論、増加可能です。
〇「B Layer node」:出力層のノードが3なので最低は3です。無論、増加可能です。
何をどうしたら最適化グラフががどうなるか、独自のインジケータをお作り下さい。 無論18 個全てYesにできます。好みですが、3個前後のインジケーターが現実的かもしれません。あまり多いと、時間ばかり食います。(ちなみに、32エージェントが可能なパソコンを使用したMT5では、あっという間です。)
〇「_OrigL1用パラメーター」:以下は_OrigL1用パラメーターです。内容的にはもっと上側に設置すべきですが、少し煩雑になるため、以下で設定します。
〇「最低取引回数=100」:最低取引回数を設定します。必ずこの数値以上に結果がなるという訳ではなく、この値以上となる可能性が大きいという設定です。初期値100。高すぎる値もしくはそのようなケースが不可能な場合でも、それなりの最適値を出力します。
〇「最低プロフィットファクター=1.9」:初期値1.9。高すぎる値もしくはそのようなケースが不可能な場合でも、それなりの最適値を出力します。
〇「最大ドローダウン%=3.0」:初期値3。前述と同様。低すぎる値もしくはそのようなケースが不可能な場合でも、それなりの最適値を出力します。。
【IND】
OPTと同じです。相違点は、最後の「バー数・・」がどの程度の過去まで表示するかです。多いと、反応が重くなります。
追記
OPTは、独自の遺伝的アルゴリズムGAで動作します。GAには100個の個体が存在しています。1回の最適化で1個体しか最適化できません。従って1万回の最適化は実質100回(世代)程度の最適化でしかありません。最適化グラフを見ながらですが、数万回は必要かもしれません。(1000回までは色々策を講じているのでそれ以降が本当の最適化です。) また少し理解しがたい紐づけ作業ですが、DNN18の最適化データのパラメーター数は数万以上になります。それを番号のみMT4に覚えこませて実データをResults_data等に置くことを「紐づけ」と呼んでいます。
【場所1】
MT4左上の「ファイル」>「データフォルダを開く」>下図③をクリックし上のフォルダーへ。
そして>「Common」>「Files」>の下のフォルダーへ。DNN18により以下のファイルとフォルダーができます。
RSIWPRファイル(最適化データ)は、梱包されたZipから取り出し、ここに置きます。INDでは自動(もちろんINDの入力ファイル名はRSIWPRになっているはずです。)で読み込まれます。また、OPTでは、最適化データがここに指定したファイル名が作られます。
Results_dataフォルダーの中には1000ケース入っています。 他のOnD_data.OnI_data、PC.csvはGAのための作業用です。新規で最適化スタートするときは【場所1】【場所2】の内容共に全て削除してください。
【場所2】
MT4左上の「ファイル」>「データフォルダを開く」> 「testerフォルダー」をクリック>「caches フォルダー」をクリック
ここにできるファイルはMT4 、MT5が同じパラメーターで作業をしようとすると、すぐに「ピュー」と音を出して終わるためのものです。最適化継続の時はパラメーターが同じですので「DNN18OPTmt4***」の削除が必要となります。新規で最適化スタートするときは【場所1】【場所2】共に全て削除してください。
GogoJungleを初めてご利用する方へ商品のご利用まではかんたん3ステップ!
GogoJungleでは、会員様向けに、あなたの投資生活を豊かにするサービスをご用意しております。また、商品のご購入は通常会員様に限られさせていただいております。今すぐ会員登録をして、Gogojungleを活用してみませんか!