[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 300

 
コメントと編集の機能が壊れているのですが?トップオプションはありません。トップは完全に空白で、例えば写真を追加することはできません。これと何の関係があるのですか?
 
yosuf:
to Reshetov^ こんな感じ: int start() { Comment("Open positions: ", OrdersTotal()); string smb=Symbol(); int tf=Period(); gsID=smb+IsDemo()+IsTesting()+IsOptimization()+".OrdersTotal(); gsID=smb=Symbol()+IsTesting()+IsOptimization()+"."+Magic; inf=""; INF(TTS(TimeCurrent()), true); main(Magic, smb, tf); Comment(inf); と、どこでどのように数字が表示されるのでしょうか。
Ctrl+Alt+Mと便利なEnterキーという魔法の組み合わせがあり、対話者のビジョンを損なわないようにすることができます。視力の方が貴重なので、あなたのコードウォッシュについては具体的に何も答えられません。
 
EAでArrayMaximumを 使用する方法を教えてください。 インジケータでは動作し、配列とバッファをマークしましたが、EAでは明確ではありません。
 
Alexandr24:
EAでArrayMaximumを使用する方法を教えてください。 インジケータでは動作し、配列とバッファをマークしましたが、EAでは明確ではありません。


まず、アレイを用意する必要があります。MetaEditorのヘルプに記載されている スクリプトを試してみてください。

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start(){
  double num_array[15]={4,1,6,3,9,4,1,6,3,9,4,1,6,3,9};
  int    maxValueIdx=ArrayMaximum(num_array);
  Alert("Max value = ", num_array[maxValueIdx]);
  
  return(0);
}
//+------------------------------------------------------------------+
 
drknn:


まず、アレイを用意する必要があります。メタエディタのヘルプに記載されている スクリプトを試してみてください。

私のインジケータではこのようになります。

sm[i]=..................................;

double IndexMaxValue=ArrayMaximum(sm,n,shift)とする。

スクリプトに添付する方法がわからないのですが、Expert Advisorでどうすればいいのでしょうか?

iCustom経由でsm[i]を出力することはできますが、iCustomの変数をArrayMaximumに入れるにはどうしたらいいでしょうか。

 
Alexandr24:

しかし、iCustom変数は配列ではないので、どうやってArrayMaximumに入れるのでしょうか?

無駄にドキュメントを引用したわけではありません。関数の入力に渡すパラメータの記述というものがある。もし、そこにパラメータは配列名でなければならないと書かれていた場合、その場所に別の関数(iCustom())を押し込んでも、何の意味もありません。つまり、ArrayMaximum() を呼び出す前に、配列を宣言し、その配列に値を入れてからArrayMaximum()を呼び出す必要があります。
 
drknn:
無駄にドキュメントを引用したわけではありません。関数への入力として与えるべきパラメータの記述というものがある。そこに「パラメータは配列名でなければならない」と書いてあれば、他の関数(特にiCustom())を押し込んでも何もいいことはありません。つまり、ArrayMaximum()を呼ぶ前に配列を宣言し、その配列に値を入れてからでないと、ArrayMaximum() は呼べないということです。
インジケーターのコードをEAに 入れようとしましたが、何も動きません。インジケーターはバッファを示す必要があり、EAではそれを見たことがありません。それが、インジケーターが動いて、同じコードがEAで動かない理由です。周期sm[i]で満たされた配列があり、インジケータはそれを見ているが、同じコードのEAでは見ていない。もしかしたら、EAの配列はインジケータとは異なる方法で宣言されるべきなのかもしれません。
 
Alexandr24:
インジケーターのコードそのものをEAに入れてみましたが、何も動きません。IMHOのポイントは、インジケーターにはバッファを示す必要があり、EAではどこにも見当たりません。だからインジケーターは動くのに、同じコードがEAで動かないのです。周期sm[i]で満たされた配列があり、インジケータはそれを見ていますが、同じコードを持つEAは見ていません。もしかしたら、EAの配列はインジケータとは異なる方法で宣言されるべきなのかもしれません。

Work it out - no questions asked:https://www.mql5.com/ru/articles/mt4
 
ということで、インジケーターの書き方についてです。インジケータがあり、それは動作しますが、このインジケータのコードを持つExpert Advisorは望んでいません、それはsm[i]配列を見ません。
 
drknn:

この投稿を編集しました - 今は別のリンクがあります - もう一度クリックしてください - そこには非常に良いコースがあります - スクリプトを作成することから始めると良いでしょう。
ありがとうございます、空白を埋めます :)