В качестве первого операнда – "выражение1" – может быть использовано любое выражение, результатом которого является значение типа bool. Если результат равен , то выполняется третий операнд – "выражениеЗ". Второй и третий операнды, то есть "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void...
В качестве первого операнда – "выражение1" – может быть использовано любое выражение, результатом которого является значение типа bool. Если результат равен , то выполняется третий операнд – "выражениеЗ". Второй и третий операнды, то есть "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void...
このエントリーの意味を教えてください。
int i,limit=prev_calculated==0 ?rates_total-1 : rates_total-prev_calculated;
"==" , "?", ": "
?
イゴールさん、ありがとうございます。正しく定式化できていない。指定した本数(ここでは50本)のバーを 対象に、別ウィンドウで計算・描画するインジケーターです。MAを表示するには、始値ではなく、その日の最初のバーが必要です。でも、とにかく、ありがとうございました。
read SetIndexDrawBegin() - これはインジケータバッファを描画するための制限であり、決して使用されません。
とか、私の例ではそのようにすることができます。
すなわち、インジケータ・バッファの計算をBarCountの 設定に制限する。
このエントリーの意味を教えてください。
int i,limit=prev_calculated==0 ?rates_total-1 : rates_total-prev_calculated;
"==" , "?", ": "
?
https://docs.mql4.com/ru/basis/operators/ternary
最初のバージョンでは、TFを切り替えると正しく動作しないので、dayopenとlastdayをリセットする必要があります。
参照渡しされた関数パラメータ内のインデックスも返します。
返却されました。
double GetPatt5barsDN()
{
double low3 = 0;
int index = 0;
for(int i=1; i<20; i++)
{
もし
((Close[i]>Open[i])&&(Close[i])です。
(Close[i+1] > Open[i+1]) && (Close[i+1] > Open[i+1])
(Close[i+2] > Open[i+2]) && //このローソク足でLow[i+2]が必要です。
(Close[i+3] < Open[i+3]) && (Close[i+3] < Open[i+3])
(クローズ[i+4] < オープン[i+4])
Low3 = Low[i+2];
index = i+2 とする。
}
return(low3)です。
return(index)です。
}
次に何をすればいいのでしょうか?
返却されました。
double GetPatt5barsDN()
{
double low3 = 0;
int index = 0;
for(int i=1; i<20; i++)
{
もし
((Close[i]>Open[i])&&(Close[i])です。
(Close[i+1] > Open[i+1]) && (Close[i+1] > Open[i+1])
(Close[i+2] > Open[i+2]) && //このローソク足でLow[i+2]が必要です。
(Close[i+3] < Open[i+3]) && (Close[i+3] < Open[i+3])
(クローズ[i+4] < オープン[i+4])
Low3 = Low[i+2];
index = i+2 とする。
}
return(low3)です。
return(index)です。
}
次に何をすればいいのでしょうか?
それでは取り返しがつかない。
こんな感じ。
さらに
double min = Low[GetPatt5barsDN()];
返却されました。
double GetPatt5barsDN()
{
double low3 = 0;
int index = 0;
for(int i=1; i<20; i++)
{
もし
((Close[i]>Open[i])&&(Close[i])です。
(Close[i+1] > Open[i+1]) && (Close[i+1] > Open[i+1])
(Close[i+2] > Open[i+2]) && //このローソク足でLow[i+2]が必要です。
(Close[i+3] < Open[i+3]) && (Close[i+3] < Open[i+3])
(クローズ[i+4] < オープン[i+4])
Low3 = Low[i+2];
index = i+2 とする。
}
return(low3)です。
return(index)です。
}
次に何をすればいいのでしょうか?
パラメータを参照してインデックスを返すのはどこだ?
そして、コードを正しく挿入してください。
MQL4には、小数点以下5桁や4桁といった口座タイプから相場を特定できる機能はありますか?例えばEURJPYは小数点以下2桁、EURUSDは小数点以下4桁といったように、資産の小数点以下のゼロの数を特定する方法は何でしょうか?
https://docs.mql4.com/ru/predefined/digitsvar
パラメータを参照してインデックスを返すのはどこだ?
そして、コードを正しく挿入してください。
私は今、それを手に入れたようです。
しかし、コンパイル時に「行内で型変換を行うため、データが失われる可能 性がある」という警告が発生します。
index = GetPatt5barsDN(index);
コンパイル時に関数ヘッダ(または関数自体)にエラーはない。