記事"取引戦略におけるファジー論理"についてのディスカッション - ページ 6

 
Maxim Dmitrievsky:

https:// www.mql5.com/en/articles/3856

また、新しい記事が近々出るかもしれないし、出ないかもしれない。

ハイ、マキシム

素晴らしいサンプルをありがとう

このEAをデバッグするとき


ファジーロジック(ファジートレーダー用)_v02.mq5

または他のファジーロジックのサンプル

mqlリターンエラー

ポインタの不正なキャスト(RuleParser.mqhの712行目

このバグの修正をお願いします。

私のコンパイラのバージョンは

バージョン5 ビルド2340 2020年2月21日

ありがとうございました

 
これはすごい...。トリプルチャネルの平均回帰戦略で、(著者が提案したルールを補完するような)いくつかの小さな追加を加えて実装し、そのパフォーマンスを月まで向上させました...共有してくれてありがとう。
 
マキシムに感謝します!
 

私は、あなたの1つのファジーシステムの例で始まった次のコードを持っています。

double CalculateMamdani()
{
// 正規化されたバッファと配列
 CopyBuffer(hnd1,0,0,1,arr1);
 NormalizeArrays(arr1);
   
 CopyBuffer(hnd2,0,0,1,arr2);
 NormalizeArrays(arr2);
    
 CopyBuffer(hnd3,0,0,1,arr3);
 NormalizeArrays(arr3);

 CopyBuffer(hnd4,0,0,1,arr4);
 NormalizeArrays(arr4);
   
 CopyBuffer(hnd5,0,0,1,arr5);
 NormalizeArrays(arr5);
    
 CopyBuffer(hnd6,0,0,1,arr6);
 NormalizeArrays(arr6);

 CopyBuffer(hnd7,0,0,1,arr7);
 NormalizeArrays(arr7);
   
 CopyBuffer(hnd8,0,0,1,arr8);
 NormalizeArrays(arr8);
    
 CopyBuffer(hnd9,0,0,1,arr9);
 NormalizeArrays(arr9);

// 入力 - 最初のファジーシステム [RSI] 
 firstTerm.SetAll(firstInput,arr1[0]);
 secondTerm.SetAll(secondInput,arr2[0]);
 thirdTerm.SetAll(thirdInput,arr2[0]);
 // 第2のファジィシステム[CCI]の入力]
 fourthTerm.SetAll(fourthInput,arr4[0]);
 fifthTerm.SetAll(fifthInput,arr5[0]);
 sixthTerm.SetAll(sixthInput,arr6[0]);
 // 入力-第3のファジィシステム[確率的]
 seventhTerm.SetAll(seventhInput,arr7[0]);
 eighthTerm.SetAll(eighthInput,arr8[0]);
 ninthTerm.SetAll(ninthInput,arr9[0]);
 
 Inputs.Clear();
 // 用語の追加 - 最初のファジーシステム[RSI]]]。
 Inputs.Add(firstTerm);
 Inputs.Add(secondTerm);
 Inputs.Add(thirdTerm);
// 項目の追加 - 2番目のファジーシステム [CCI} 
 Inputs.Add(fourthTerm);
 Inputs.Add(fifthTerm);
 Inputs.Add(sixthTerm);
 // 項目の追加 - 第3のファジィ・システム [ストキャスティック]
 Inputs.Add(seventhTerm);
 Inputs.Add(eighthTerm);
 Inputs.Add(ninthTerm);
 
 CList *FuzzResult=OurFuzzy.Calculate(Inputs);

 Output=FuzzResult.GetNodeAtIndex(0); // 出力が1つではなく、3つになるようアップデートが必要だ!
 
double res = Output.Value();

// 重みを使った3つの出力に対する集計メソッドのコードを追加する。

delete FuzzResult;

 return(res);
}

私は、3つの別々のファジィ・システムを扱えるように再コード化しています。

明らかに、3つのファジィ・システムからの出力を考慮する必要があります。

重みを使って3つの出力を集約したい

このコードを完成させるための提案をお願いします。

ボブ M

ダニーデン

ニュージーランド