for(i=0; i<50; i=i+10) //общий цикл для всех значений МАКД, шаг 10
{
int k = i;
for(k=i; k<i+10; k++) // цикл внутри десятки значений, шаг 1
{
x10[k] = MACD[k];// массив десяток
}
int IndexMAX = ArrayMaximum(x10); // найден индекс максимального значения внутри десятки int IndexMIN = ArrayMinimum(x10); // --//--
MAX[k] = MACD[IndexMAX]; // Рисуем найденное максимальное значение внутри десятки на k баре
MIN[k] = MACD[IndexMIN];
}
for(i=0; i<limit; i+=10) //общий цикл для всех значений МАКД, шаг 10
{
int k;
for(k=0; k<10; k++) // цикл внутри десятки значений, шаг 1
{
x10[k] = MACD[i+k];// массив десяток
}
int IndexMAX = ArrayMaximum(x10); // найден индекс максимального значения внутри десятки int IndexMIN = ArrayMinimum(x10); // --//--
MAX[k] = x10[IndexMAX]; // Рисуем найденное максимальное значение внутри десятки на k баре
MIN[k] = x10[IndexMIN];
}
しかし、なぜかEAが間違ったタイプの注文を開くことが多いのです
どこが間違いか教えてください!
SLで同じタイプの注文を、TPで反対のタイプの注文を出すこと。
しかし、なぜかEAが間違ったタイプの注文を開くことが多いのです
どこが間違いなのか、教えてください。
и не понятно, что именно вы хотите получить в массивах MAX и MINкакова размерность массива x10 ?
10?
Тогда надо так переписать:
もう一度説明します :)
MACD列のすべての値を含む配列が存在する。
それらの値から十数個の値を(順番に)取り出して、その中から最大値を探し、それぞれインジケータに描画する、ということを最後まで行う必要があります。
ここでもう一度、コードを見てみましょう。
私の見るところ、10を含む配列のインデックスと、MAKD値を含むメインの配列のこの値のインデックスが一致しないため、描画されないのです。
つまり、メインループでカウンタが例えば 30 に到達し、サブサイクルで 30-31-32...39 と進むと、関数 Arraymaximum(x10) がそれを見つけ、IndexMAX に HIS (x10) の配列の序数を正確に書きます。どうしたらいいのかわからない......。
もう一度説明します :)
MACD列のすべての値を含む配列が存在する。
その値を全部(順番に)十数個取って、その中から最大値を探して、インジケータに描いて、ということを最後までやらないといけない。
ここでもう一度、コードを見てみましょう。
私の見るところ、10を含む配列のインデックスと、MAKD値を含むメインの配列のこの値のインデックスが一致しないため、描画されないのです。
つまり、メインループでカウンタが例えば 30 に到達し、サブサイクルで 30-31-32...39 と進むと、関数 Arraymaximum(x10) がそれを見つけ、IndexMAX に HIS (x10) の配列の序数を正確に書きます。どうしたらいいのかわからない......。
インジケーターのコードを全て表示する
Весь код индикатора покажиもう一度説明します :)
こういう風に書いたつもりなんだろうけど。
あなたの目標は何ですか?
さて、何を手に入れたいか。数十に分解するのは無意味です。常に時間を移動しているのです。
мне кажется, Вы хотели написать вот так:
描画されない :((.
s.w. k=0 完成しました :)
А какую цель преследуешь?
Ну, что хочешь получить. Разбивать на десятки бесмысленно. Они все время передвигаются во времени.
10本ごとに最大値を表示させたいのですが・・・。