[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 548

 
artmedia70 писал(а)>>
4051エラーとは何ですか?


https://docs.mql4.com/ru/constants/errors

ERR_INVALID_FUNCTION_PARAMVALUE 4051 関数パラメーターの値が無効です。

 
artmedia70 >>:
А кто сказал, что именно тот кусочек работает неправильно? Если б я выложил весь код - места бы не хватило...
Сначала вызываете на общение, потом в кусты... :)


いいえ、私は動作しないコードの一部を分解することを提案しました。細部まで分解してみる。その代わりに、あなたはコード全体をレイアウトしたのです。:)

藪の中に隠れるつもりはない。>>引用します。

>>正しく動作しないコードの一部を一行ずつ分解してみましょう...。

>> しようか?

以下は私の言葉です。動かない作品ではなく、関数の集合体というわけのわからないものを出してきたのですね。そこが嫌なんです。

 

一般的に、エラーを発見するためには、コードの一部を遮断する必要があります。例えば、コードは以下のブロックで構成されています。

- 売買シグナルのブロックチェック

- ブロック・オープニング/クローズ/リバース・オーダー

- オープンポジションを維持するブロック

複数行のコメント/**/を使用して最後の2つのブロックをブロックし、EAを実行し、printまたはalertを使用してキー変数の値をチェックします - このブロックが正しく動作することを確認するためです。エラーに遭遇したら、それを修正する。次に、次のコードブロックのロックを解除し、この手順を繰り返します。そして、コード全体がデバッグされるまで、その作業を続けるのです。他の方法だと、もっと面倒なことになります。

 
drknn >>:

Вообще, чтоб найти ошибку, нужно заблокировать некоторые участки кода. Например, код состоит из следующих блоков:

- Блок проверки наличия торгового сигнала

- Блок открытия/закрытия/переворота ордеров

- Блок сопровождения открытых позиций.

Блокируем при помощи многострочного комментария /**/ два последних блока, запускаем советника и с помощью принта или алерта снимаем значения ключевых переменных - просто убеждаемся, что этот блок работает корректно. Если натыкаемся на ошибку, то исправляем её. Затем снимаем блокировку со следующего блока кода и повторяем процедуру. И так далее до тех пор, пока весь код ни окажется отлажен. Другой путь будет более утомителен.

はい、ありがとうございます。もう慣れました...。少し知識が不足しています。そして、すべてのコードを掲載したのは、単にどの部分が動作しないのかがわからないからです。必ずしも最初に投稿されたものである必要はありません。ご参加ありがとうございました...:)
 
Expert AdvisorにCF H4のデータを取得するインジケータを追加する方法をご教示ください。
#property copyright "Krokus"
#property link      ""
//----
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//----
extern int       N=20; // период канала 
//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
   int limit;
   double upPrice,downPrice;
//---- 
   if (counted_bars==0) limit=Bars-N;
   if (counted_bars>=0) limit=Bars-counted_bars;
   limit--;
   for(int i=limit;i>=0;i--)
     {
      upPrice=High[iHighest(Symbol(),0,MODE_HIGH,N,i)];//максимум за N баров 
      downPrice=Low[iLowest(Symbol(),0,MODE_LOW,N,i)]; //минимум за N баров 
      ExtMapBuffer1[i]=(upPrice-downPrice)/Point;

     }
//---- 
   return(0);
  }
//+------------------------------------------------------------------+
 
を試験官のコードに、ではなく、呼び出しに。
 
Andrei01 >>:
Скажите, должны ли рисоваться графические объекты советником в тестере не в ценовом окне, а в отдельном? Почему-то это не работает при замене нуля на единицу при создании объекта.

別ウィンドウで空のiCustomインジケータを作成し、EAから呼び出します。

ウィンドウがない場合は、描画のためのコマンドを与えるので、その必要はない。

注意すべきは、目盛りだけです。

最も簡単な方法は、2つのバッファを背景色に設定することです。

一方のウィンドウでmax、もう一方のウィンドウでminを割り当てると、インジケータの外部パラメータから調整できて便利です。

 
sllawa3 >>:
подскажите пожалуйста как вписать индюк в эксперт чтоб снимал данные с тф н4 ???
for(int i=limit;i>=0;i--)
     {
      int ii=iBarShift(Symbol(), 240, i);//Symbol() или NULL

      upPrice=iHigh( NULL, 240,  iHighest(NULL, 240 ,MODE_HIGH,N, ii) );//максимум за N баров 
      downPrice=iLow( NULL, 240,  iLowest(NULL, 240 ,MODE_LOW, N, ii) ); //минимум за N баров 

      ExtMapBuffer1[i]=(upPrice-downPrice)/Point;

     }
右のTF(H4)をチャートとは別に計算するために、以下のような
 
これは使えない...上限が決まっていないのですが、どうしたらいいのでしょうか?
int    counted_bars=IndicatorCounted();
тоже в эксперте не потянет
 
BARBARA!!!オープンポジションは それぞれトラブりながら、「他人の」TPとSLでクローズする...。その結果、散々な目に...。どうすれば勝てるのか?