¡En el SL, el EA debe abrir una orden del mismo tipo y en el TP del tipo contrario! Pero, por alguna razón, el EA suele abrir un pedido del tipo equivocado.
Kogalym писал(а)>> ¡En el SL el EA debe abrir una orden del mismo tipo y en el TP del tipo contrario! ¡Pero por alguna razón el EA suele abrir el pedido del tipo equivocado!
Quien sabe si este indicador sirve para un EA, encontré una estrategia donde lo aplica el autor, se puede escribir en el EA y como hacerlo, por ejemplo, me puedes mostrar un ejemplo. He comprobado que el histograma es verde y si la línea está por debajo del histograma, da una señal de compra. Lo mismo para vender.
и не понятно, что именно вы хотите получить в массивах MAX и MIN
Déjeme explicarle de nuevo :)
Hay un array que contiene todos los valores de las columnas del MACD.
Tenemos que tomar una docena de todos esos valores (en orden) y buscar el valor máximo en ellos, y dibujarlo en el indicador, y así hasta el final.
Aquí está el código una vez más:
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];
}
Según veo, no se dibuja porque el índice del array con decenas no coincide con el índice de este valor en el array principal con valores MAKD.
En otras palabras, cuando el contador llega, digamos, a 30 en el bucle principal, entonces en el subciclo irá a 30-31-32...39 (supongamos, el máximo de ellos será el valor 34), la función Arraymaximum(x10) lo encontrará, pero escribirá en IndexMAX exactamente el número ordinal en su array (x10), es decir, en realidad el valor verdadero será 34, pero escribirá algún otro (de 0 a 9, porque es un array de decenas). No sé qué hacer...
Hay un array que contiene todos los valores de las columnas del MACD.
Tenemos que tomar de todos esos valores una docena de valores (en orden) y buscar el valor máximo en ellos, y respectivamente dibujarlo en el indicador, y así hasta el final.
Aquí está el código una vez más:
Según veo, no se dibuja porque el índice del array con decenas no coincide con el índice de este valor en el array principal con valores MAKD.
En otras palabras, cuando el contador llega, digamos, a 30 en el bucle principal, entonces en el subciclo irá a 30-31-32...39 (supongamos, el máximo de ellos será el valor 34), la función Arraymaximum(x10) lo encontrará, pero escribirá en IndexMAX exactamente el número ordinal en su array (x10), es decir, en realidad el valor verdadero será 34, pero escribirá algún otro (de 0 a 9, porque es un array de decenas). No sé qué hacer...
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];
}
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Pero, por alguna razón, el EA suele abrir un pedido del tipo equivocado.
Por favor, dígame dónde hay un error.
¡En el SL el EA debe abrir una orden del mismo tipo y en el TP del tipo contrario!
¡Pero por alguna razón el EA suele abrir el pedido del tipo equivocado!
¿Puede decirme dónde está el error?
и не понятно, что именно вы хотите получить в массивах MAX и MINкакова размерность массива x10 ?
10?
Тогда надо так переписать:
Déjeme explicarle de nuevo :)
Hay un array que contiene todos los valores de las columnas del MACD.
Tenemos que tomar una docena de todos esos valores (en orden) y buscar el valor máximo en ellos, y dibujarlo en el indicador, y así hasta el final.
Aquí está el código una vez más:
Según veo, no se dibuja porque el índice del array con decenas no coincide con el índice de este valor en el array principal con valores MAKD.
En otras palabras, cuando el contador llega, digamos, a 30 en el bucle principal, entonces en el subciclo irá a 30-31-32...39 (supongamos, el máximo de ellos será el valor 34), la función Arraymaximum(x10) lo encontrará, pero escribirá en IndexMAX exactamente el número ordinal en su array (x10), es decir, en realidad el valor verdadero será 34, pero escribirá algún otro (de 0 a 9, porque es un array de decenas). No sé qué hacer...
Déjeme explicarle de nuevo :)
Hay un array que contiene todos los valores de las columnas del MACD.
Tenemos que tomar de todos esos valores una docena de valores (en orden) y buscar el valor máximo en ellos, y respectivamente dibujarlo en el indicador, y así hasta el final.
Aquí está el código una vez más:
Según veo, no se dibuja porque el índice del array con decenas no coincide con el índice de este valor en el array principal con valores MAKD.
En otras palabras, cuando el contador llega, digamos, a 30 en el bucle principal, entonces en el subciclo irá a 30-31-32...39 (supongamos, el máximo de ellos será el valor 34), la función Arraymaximum(x10) lo encontrará, pero escribirá en IndexMAX exactamente el número ordinal en su array (x10), es decir, en realidad el valor verdadero será 34, pero escribirá algún otro (de 0 a 9, porque es un array de decenas). No sé qué hacer...
Mostrar todo el código del indicador
Весь код индикатора покажиDéjeme explicarle de nuevo :)
Creo que querías escribir así:
¿Cuál es su objetivo?
Bueno, qué quieres conseguir. Desglosarlo en decenas no tiene sentido. Se mueven en el tiempo todo el tiempo.
мне кажется, Вы хотели написать вот так:
No dibuja :((.
s.w. k=0 lo he terminado :)
А какую цель преследуешь?
Ну, что хочешь получить. Разбивать на десятки бесмысленно. Они все время передвигаются во времени.
Sí, el objetivo es literal... Quiero que el máximo se muestre entre cada 10 barras...