int GetRecalcIndex(int& total, constint ratesTotal, constint prevCalculated)
{
total = ratesTotal - 2 - barsig;
if (cb > 0 && cb < total)
total = MathMin(cb, total);
if (prevCalculated < ratesTotal - 1)
{
InitializeBuffers(); // Это функция, которая должна заново инициализировать все индикаторные буфера, т. к. имеем дело с первой загрузкой индикатора или подкачкой историиreturn (total);
}
return (MathMin(ratesTotal - prevCalculated, total));
}
以下のようにお使いください。
int total;
int limit = GetRecalcIndex(total, rates_total, prev_calculated);
for (int i = limit; i >= 0; --i)
{
...
}
まだ蹴り出し中です。
i+1] がある場合、さらに+2チェックする必要があります。
一般的には、次のようにします。
チェックが根本的に間違っているからです。Barsが1000を返し、cbも1000を返すとします。そして、最初の反復のループで、私は値1000を取得します。ループ本体の最初の条件では
インデックス1000のバーとインデックス1001のバーにアクセスし、一度に2つの配列の外に 出る。例えば、チャートに1000本のバーがある場合、最初のバーのインデックスは0、最後のバーのインデックスは999となります。
さらにループ体を進むと、歴史の中でさらに遠い小節への言及がある。
これらすべてを考慮した上で、初期チェックを行う必要があります。
適切な確認方法は、MQL4リファレンスのIndicatorCounted()関数の例をご覧ください。今だけ、IndicatorCounted()は、共有rates_total(これはBars)とprev_calculated(これはIndicatorCounted())に置き換えられるべきである。
ありがとう、見つけました。
例ではlimitで始まって いますが、何と比較すればいいのでしょうか?
limit=Bars-counted_bars;
この "cb "は何と比較すればいいのでしょうか?
ありがとうございます、見つけました。
何と比較すればいいのか? 例では、limitから始まって います。
この "CB "を何と比較すればいいのか?
インジケーターのデータを表示するバーの数を 制限したい場合は、このようにするのが良いでしょう。
以下のようにお使いください。
合計値は、ヒストリーの中で最も深いバーのインデックスであり、インジケーターの設定値に基づいてアクセスすることが可能です。i+1] がある場合、さらに+2チェックする必要があります。
一般的には、次のようにします。
そのようにしたのですが、...HiLo.mq4'(122,15)の配列が範囲外です、と表示されます。
さらに+2して確認すべきことは何ですか?
インジケーターデータを表示するバーの 数を制限したい場合は、そのようにするとよいでしょう。
以下のようにお使いください。
totalの値は、ヒストリーの中で最も深いバーのインデックスであり、インジケーターの設定の値に基づいて呼び出すことができます。コンパイラは悪態をつく。
'InitializeBuffers' - function not defined HiLo.mq4 161 7.
についてコンパイラが文句を言う。
'InitializeBuffers' - function not defined HiLo.mq4 161 7.
コメントで、これはすべてのインジケータバッファを初期化する関数であると書きました。カスタム機能である。こんな感じで持っています。
バッファが違うので、違うものが出てきます。グラフィカルなオブジェクトで動作する インジケーターの場合、読み取りの初期描画を行うため、ここですべてのオブジェクトを削除する必要があります。
コメントで、これはすべてのインジケータバッファを初期化する関数であると書きました。カスタム機能である。こんな感じで持っています。
バッファーが違うので、違うものが出てきます。グラフィカルなオブジェクトで 動作するインジケーターの場合、読み取りの初期描画を行うため、ここですべてのオブジェクトを削除する必要があります。
HiLo.mq4 "の配列が範囲外(130,15)になっています。
.どうしたんですか?
ありがとうございます。でも、何も変わっていないんです。どうしたんですか?
もちろん、結果は変わりません。結局、主な理由(CBループ)を削除していないんですね。このループの構成は間違っています。
取り外して、リミットループに交換する必要があります。 どちらの場所でも。
もちろん、結果は変わりません。結局、主な理由(CBループ)を削除していないんですね。このループの構成は間違っています。
取り外して、リミットループに交換する必要があります。 どちらの場所でも。
このようなループが3つあります。交換したら、端末がハングアップした。
やってみたところ、フリーズもクラッシュもしないのですが、最初のバッファ(fx2)にprice, 0.0, 164874239.218492の3つの値が存在します。
値 sell_1_B!=EMPTY_VALUE と sell_1_B!=0 の場合、価格があることを意味しない。
どうすれば電波が届くのか?