if(fdelH==0) // проверить на близость при отсутствии уровня в массиве удаленных
{
int cH=countH-1; // предыдущее значение счетчика
...
fcorH=1; // перезапись уровня в массиве
}
if(f1==0) // если занесение хая в массив разрешено
{
if(fcorH==1) countH=cH; // если разрешена перезапись уровня, то счетчик отматывается на один назад
...
}
2.別の変数TimeResで同じ話をする。
for(int y2=0;y2<finish;y2++) // поиск ближайших уровней
{
double Level=SupRes[y2][0]; // выбор проверяемого уровняdouble rL=Level-Bid; // разность цены и уровняif((rL<dPlus && rL>0) || (rL>0 && dPlus==0)) // при наличии положительной разницы
{
dPlus=rL; // фиксировать ее
Res=NormalizeDouble(SupRes[y2][0],_Digits); // уровень сопротивленияdatetime TimeRes=SupRes[y2][1]; // время сопротивления
}
}
ObjectSetInteger(0,oRes,OBJPROP_TIME,TimeRes); // отрисовка ближайшего сопротивления
質問:信号が入らないようにするには、何をどこに設定すればよいのでしょうか?私はどのシグナルも購読していません。
ターミナルで信号 タブを+、無効にする。
ターミナルで信号 タブを+、無効にする。
こんにちは!!!
mql5を理解し、バージョン4からEAを書き直そうとしているのですが、いくつかの問題にぶつかりました。
1.変数が代入されているにもかかわらず、コンパイラはif(fcorH==1) countH=cH; の行に 'cH' - 未宣言の識別子を書き込んでいます。キャッチは何ですか?
2.別の変数TimeResで同じ話をする。
しかし、それとは別に、2番目の例では、datetime 行のTimeRes=SupRes[y2][1]に「型変換によるデータ損失の可能性」という警告が表示されているのです。
グローバルレベルの配列は、このような形で結合されます - double SupRes[][2];
これらのエラーや警告を修正するには、どうしたらよいか教えてください。
こんにちは!!!
mql5を理解し、バージョン4からEAを書き直そうとしているのですが、いくつかの問題にぶつかりました。
1.if(fcorH==1) countH=cH; では、変数は代入されているのに、コンパイラは 'cH' - 未宣言の識別子を書き込んでいます。キャッチは何ですか?
2.もう一つの変数TimeResでも同じ話。
どちらの場合も、条件/サイクルの内部で変数を宣言していることになります。つまり、条件を満たさない場合は、変数は定義されません。
変数の定義を関数の先頭に置くか、グローバル化する。
しかし、それ以外に、2番目の例では、datetime 行のTimeRes=SupRes[y2][1]で「 型変換によるデータ損失の可能性」の警告が発生します。
グローバルレベルでの配列は、このような形で結合されます - double SupRes[][2];
これらのエラーや警告を修正するために何をすべきかアドバイスをお願いします。
または1つのタイプに変換する
または、最初に配列と変数を同じ型として定義する。どちらの場合も、条件/サイクルの内部で変数を宣言していることになります。つまり、条件を満たさない場合は、変数は定義されません。
変数定義は関数の最初に置くか、グローバルにする。
変数定義を関数の先頭に置いたのですが、cHとTimeResの変数で「初期化されていない変数の使用の可能性」の警告が発生しました。
datetime行のTimeRes=SupRes[y2][1];で「型変換によるデータ損失の可能性」の警告が出るがどうするのか?
変数を定義したところ、「初期化されていない変数 'cH' を使用している可能性があります」という警告が表示されました。
これはいいのですが、初期化値を与えていますか?
結局、コードで値を読み取っているわけで、そこに何もなければ何を読み取れるというのでしょう。ここでは警告である。まあ、同じようなタイプに減らすか
または、最初に配列と変数を同じ型として定義します。datetime TimeRes=(datetime)SupRes[y2][1];
また、配列に含まれるレベルがdoubleで、そのレベルの時刻がdatetimeである場合、同じ型の配列と変数をどのように定義すればよいのでしょうか。
この場合、doubleとdatetimeの2つの配列が必要になります。
そして、レベルが見つかって1番目の配列に書き込まれたら、時間を 取得して2番目の配列に書き込む必要があります。
ありがとうございます、あなたのヒントが役に立ちました。(datetime)SupRes[y2][1];の型定義はどこで読めますか?
種類を持ち込む