アイデア提供者: Igor
コード作者: barabashkakvn
このEAは、マルチシンボル型で、EURUSD (シンボル #1)、GBPJPY (シンボル #2)、AUDNZD (シンボル #3)の3つのシンボルで同時に動作します。シンプルなニューラルネットワーク(パーセプトロン)を使用しており、インジケーターのiAC(加速/減速オシレーター)に基づいています。
最適化モードでは、存在しないシンボルを変数シンボル #に割り当てることで、一部のシンボルを無効にすることが可能です。
ポジションサイズの設定
このEAでは、ポジションのボリュームを設定するために、一般的ではないパターンを使用しています。最小ロット数は、シンボル #の変数に指定されます。例えば、シンボル #1の最小ロットサイズは0.1、シンボル #2の最小ロットサイズは0.01で、つまり、10倍の差があります。したがって、両方のシンボルで変数シンボル #の最小ロット数が10に設定されている場合、シンボル #1では1.0ロット(0.1 x 10)、シンボル #2では0.10ロット(0.01 x 10)がオープンされます。
パーセプトロンブロック
新しいバーが形成されるたびに、使用されている各シンボルのインジケーター値の配列(array)がパーセプトロンブロックに設定されます:
//+------------------------------------------------------------------+ //| Perceptron | //+------------------------------------------------------------------+ double Perceptron(double &array[],int y1,int y2,int y3,int y4) { double w1 = y1 - 100; double w2 = y2 - 100; double w3 = y3 - 100; double w4 = y4 - 100; double a1 = array[0]; double a2 = array[7]; double a3 = array[14]; double a4 = array[21]; return(w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4); }
各シンボルに対して連続的に最適化を行うことをお勧めします。まず、シンボル #1を最適化し、次にシンボル #2とシンボル #3を無効にします。すべてのシンボルに対して、パラメーターxを0から100の範囲で設定し、SL(ストップロス)とTP(テイクプロフィット)はお好みで設定してください。シンボルを無効にするには、変数シンボル #に存在しないシンボルを割り当てるだけで十分です。
コメント 0