artmedia70>>: А кто сказал, что именно тот кусочек работает неправильно? Если б я выложил весь код - места бы не хватило... Сначала вызываете на общение, потом в кусты... :)
Вообще, чтоб найти ошибку, нужно заблокировать некоторые участки кода. Например, код состоит из следующих блоков:
- Блок проверки наличия торгового сигнала
- Блок открытия/закрытия/переворота ордеров
- Блок сопровождения открытых позиций.
Блокируем при помощи многострочного комментария /**/ два последних блока, запускаем советника и с помощью принта или алерта снимаем значения ключевых переменных - просто убеждаемся, что этот блок работает корректно. Если натыкаемся на ошибку, то исправляем её. Затем снимаем блокировку со следующего блока кода и повторяем процедуру. И так далее до тех пор, пока весь код ни окажется отлажен. Другой путь будет более утомителен.
Andrei01>>: Скажите, должны ли рисоваться графические объекты советником в тестере не в ценовом окне, а в отдельном? Почему-то это не работает при замене нуля на единицу при создании объекта.
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;
}
4051エラーとは何ですか?
https://docs.mql4.com/ru/constants/errors
ERR_INVALID_FUNCTION_PARAMVALUE 4051 関数パラメーターの値が無効です。
А кто сказал, что именно тот кусочек работает неправильно? Если б я выложил весь код - места бы не хватило...
Сначала вызываете на общение, потом в кусты... :)
いいえ、私は動作しないコードの一部を分解することを提案しました。細部まで分解してみる。その代わりに、あなたはコード全体をレイアウトしたのです。:)
藪の中に隠れるつもりはない。>>引用します。
>>正しく動作しないコードの一部を一行ずつ分解してみましょう...。
>> しようか?
以下は私の言葉です。動かない作品ではなく、関数の集合体というわけのわからないものを出してきたのですね。そこが嫌なんです。
一般的に、エラーを発見するためには、コードの一部を遮断する必要があります。例えば、コードは以下のブロックで構成されています。
- 売買シグナルのブロックチェック
- ブロック・オープニング/クローズ/リバース・オーダー
- オープンポジションを維持するブロック
複数行のコメント/**/を使用して最後の2つのブロックをブロックし、EAを実行し、printまたはalertを使用してキー変数の値をチェックします - このブロックが正しく動作することを確認するためです。エラーに遭遇したら、それを修正する。次に、次のコードブロックのロックを解除し、この手順を繰り返します。そして、コード全体がデバッグされるまで、その作業を続けるのです。他の方法だと、もっと面倒なことになります。
Вообще, чтоб найти ошибку, нужно заблокировать некоторые участки кода. Например, код состоит из следующих блоков:
- Блок проверки наличия торгового сигнала
- Блок открытия/закрытия/переворота ордеров
- Блок сопровождения открытых позиций.
Блокируем при помощи многострочного комментария /**/ два последних блока, запускаем советника и с помощью принта или алерта снимаем значения ключевых переменных - просто убеждаемся, что этот блок работает корректно. Если натыкаемся на ошибку, то исправляем её. Затем снимаем блокировку со следующего блока кода и повторяем процедуру. И так далее до тех пор, пока весь код ни окажется отлажен. Другой путь будет более утомителен.
Скажите, должны ли рисоваться графические объекты советником в тестере не в ценовом окне, а в отдельном? Почему-то это не работает при замене нуля на единицу при создании объекта.
別ウィンドウで空のiCustomインジケータを作成し、EAから呼び出します。
ウィンドウがない場合は、描画のためのコマンドを与えるので、その必要はない。
注意すべきは、目盛りだけです。
最も簡単な方法は、2つのバッファを背景色に設定することです。
一方のウィンドウでmax、もう一方のウィンドウでminを割り当てると、インジケータの外部パラメータから調整できて便利です。
подскажите пожалуйста как вписать индюк в эксперт чтоб снимал данные с тф н4 ???
int counted_bars=IndicatorCounted(); тоже в эксперте не потянет