チャートに設定されたインジケーターバッファの読み取り - ページ 10

 
[Удален]:

サービスデスクからMT5への解決策を提示

MT4については、質問を受け付けています。

ここでは、何とか出来そうです(リンクは削除しました、宣伝ではありません、ただ、どのように行われるか知りたいだけです、MT2Binary_Auto.ex4 またはMT2Trading_Auto.ex4 で検索できます)。チャート上のすべてのインジケータの 矢印バッファの数字、矢印の種類を読み取ります(問題ありません)。そして、これらのバッファの値をデフォルト以外の設定で信号化するのです!MT4のバッファの値をどうやって取得したのか、誰が知っているのでしょうか?dllは一切使っていないと思います

 

どの指標がチャート上にあるかを理解するために、テンプレートを使うことができます。kodobaseのfxsaverに例があります。私の知る限り、iCustom経由で多数のパラメータを持つインジケータを実行することはまだ不可能です。

 

はい、テンプレートによって、どの指標がチャートに表示されているか、そのバッファやパラメータ、その値はどうなっているかを把握することができます。しかし、バッファの値はどのように取得するのでしょうか?パラメータの数に応じて、ケース経由でiCustomを呼び出す

Sofiia Butenko:

kodobaseにfxsaverの例があります。

MT4の例?見つからないのですが、リンクは張れますか?

 
Ivan Titov:

はい、テンプレートによって、どの指標がチャートに表示されているか、そのバッファやパラメータ、その値はどうなっているかを把握することができます。しかし、バッファの値はどのように取得するのでしょうか?パラメータの数に応じて、ケースを通してiCustomを呼び出す

MT4の例?見つからないのですが、リンクは張れますか?

ニックネームで誤字脱字がありましたが、ご承知おきください。Expert Advisorで考えていた です。

パラメータを変えてiCustomを呼び出すには、すべてのバリエーションを処方する必要がありますが(種類の違う設定が60個くらいありそうです)、数が多すぎて現実的ではありません。おそらく、5~10個のパラメータを持つ指標にバリアントを登録することは可能であるが、これは普遍的な解決策ではない。

あるいは、ガスケットのインジケーターとして使用できるコードを生成することもできます。しかし、DLLがないとインストールできない(必要なフォルダに移動してコンパイルする)のも事実です。

EAの説明書、面白い情報をありがとうございます。

Expert
Expert
  • www.mql5.com
Все остальные файлы на данной странице описания библиотеки являются ее примерами/сценариями применения и не нужны для работы самой библиотеки. Возможности Примеры К описанию прикреплены примеры/сценарии ее использования. ExpertsRemove.mq5 ExpertsReopen.mq5 ChartsClose.mq5 ExpertLoader_Example.mq5 ExpertsChange_Example.mq5 Это самые...
 
Sofiia Butenko:

iCustomを異なるパラメータで呼び出すためには、すべてのバリエーション(設定自体が約60種類あり、異なるタイプもある)を規定する必要があり、その数は多く、現実的でありません。

そう、そんなピラミッドマヤをすでに作っているのです。すべての文字列パラメータを渡すことができ、それは理解される。MT4のChartIndicatorGetや CopyBufferはもちろん、冬にサービスデスクに雪を頼めないことを考慮すると、そう時間はかからなかった。

パラメータで60以上は無理だろうな、同情するけど。

 
Ivan Titov:

パラメータはすべて文字列でOK。

文字列パラメータで呼び出すと、対応する型から呼び出す場合とは異なり、インジケータが初期化されます。

ここでは、パラメータを変えて指標値を比較しています。インジケータ自体には、初期化および削除のためのアラートがあります。

int OnInit(){
   
   for(int i=0;i<3 ;i++){
      double b0 =  iCustom(_Symbol, PERIOD_CURRENT, "_test_HMA",  15 , 3 , 0 ,  2.1,  "11", 0, i);  
      double b1 =  iCustom(_Symbol, PERIOD_CURRENT, "_test_HMA", "15","3","0", "2.1", "22", 0, i);  
      Alert(i+" --> "+DoubleToString(b0,_Digits)+" - "+DoubleToString(b1,_Digits));}
      
  return(INIT_FAILED);}

で、次のように動作します。


 
Sofiia Butenko:

文字列パラメータで呼び出すと、対応する型を使って呼び出す場合とは異なり、インジケータが初期化されるからです。

知りませんでした、ありがとうございます、深く掘り下げていますね)。まあ、数値が正しくて、お客さんがスピードに文句を言わない限りは--ピラミッドは作らないよ。