cambie cerrar por abrir. Si empieza a contar por abierto, entonces indaga en esta dirección cómo cambiar este valor. Ahora no puedo ejecutar el terminal beta para mirar a través de su editor.
Cambia el valor aquí de antemano:
//--- counting from 0 to rates_totalArraySetAsSeries(ExtLineBuffer,false);
ArraySetAsSeries(close,false);
//--- first calculation or number of bars was changed
Escribí un EA, pero no funciona en todo)))) o no funciona correctamente. he estado hurgando, arreglando muchas cosas, pero sin embargo, el EA no funciona.
aquí se muestra un fragmento del cálculo de las decisiones de trading basadas en el indicador RSI :
int Ticket1_RSI=-1, Ticket2_RSI=-1; // Номера открытых ордеровexterndouble Lot=0.01; // Объем лотаint RSI() // Функция RSI
{
double T, P;
double RSI_0, RSI_1, RSI_2; // Значения индикатора RSI//------------------Значения индикатора---------------------------------------
RSI_0=iRSI(Symbol(), 0, 14, PRICE_CLOSE, 0); // Получаем данные от RSI
RSI_1=iRSI(Symbol(), 0, 14, PRICE_CLOSE, 1); // Получаем данные от RSI
RSI_2=iRSI(Symbol(), 0, 14, PRICE_CLOSE, 2); // Получаем данные от RSI //------------------Условие на продажу--------------------------------- if (RSI_1 > RSI_0 > 70 && RSI_1 > RSI_2) // Если индикатор превышает значение 70 и виден поворот вниз
{
if (Ticket2_RSI > 0) // Если имеется ордер на покупку
OrderClose(Ticket2_RSI, OrderLots(), Bid, 0, 0); // Закрытие ордера на покупкуif (Ticket1_RSI <= 0) // Если ордера на продажу нет
{
Ticket1_RSI=OrderSend(Symbol(), OP_SELL, Lot, Bid, 2, 0, 0); // Открытие ордера на продажуif (OrderSelect(Ticket1_RSI, SELECT_BY_TICKET)==true)
{
T=OrderOpenTime();
P=OrderOpenPrice();
ObjectCreate("Arrow", 22, 0, T, P); // Создание индикатора ордера
ObjectSet("Arrow", OBJPROP_COLOR, IndianRed); // Изменение цвета в мутно-красноватый
ObjectSet("Arrow", OBJPROP_ARROWCODE, 242); // Направление стрелки внизObjectCreate("Text", 21, 0, T, P); // Создание текстового объекта
ObjectSetText("Text", "Open sell-order by RSI", 6, "Times New Roman", Navy); // Текст, шрифт, стиль, цвет
}
}
}
//-------------------Условие на покупку-------------------------------- if (RSI_1 < RSI_0 < 30 && RSI_1 < RSI_2) // Если индикатор ниже значения 30 и виден поворот вверх
{
if (Ticket1_RSI > 0) // Если имеется ордер на продажу
OrderClose(Ticket1_RSI, OrderLots(), Ask, 0, 0); // Закрытие ордера на продажуif (Ticket2_RSI <= 0) // Если ордера на продажу нет
{
Ticket2_RSI=OrderSend(Symbol(), OP_BUY, Lot, Ask, 2, 0, 0); // Открытие ордера на покупкуif (OrderSelect(Ticket2_RSI, SELECT_BY_TICKET)==true)
{
T=OrderOpenTime();
P=OrderOpenPrice();
ObjectCreate("Arrow", 22, 0, T, P); // Создание индикатора ордера
ObjectSet("Arrow", OBJPROP_COLOR, LawnGreen); // Изменение цвета в ярко-зеленый
ObjectSet("Arrow", OBJPROP_ARROWCODE, 241); // Направление стрелки вверхObjectCreate("Text", 21, 0, T, P); // Создание текстового объекта
ObjectSetText("Text", "Open buy-order by RSI", 6, "Times New Roman", Navy); // Текст, шрифт, стиль, цвет
}
}
}
//-------------------------------------------------------------------- return;
}
El caso es que el EA abre inmediatamente una orden de compra, a pesar del valor del indicador, y no quiere cerrarla. Los objetos como el texto y las flechas no aparecen.
Escribí un EA, pero no funciona en todo)))) o no funciona correctamente. he estado hurgando, arreglando muchas cosas, pero sin embargo, el EA no funciona.
aquí se muestra un fragmento del cálculo de las decisiones de trading basadas en el indicador RSI :
El caso es que el EA abre inmediatamente una orden de compra, a pesar del valor del indicador, y no quiere cerrarla. Los objetos como el texto y las flechas no aparecen.
Ayúdame a resolver esto)) solo soy nuevo en esto
if (RSI_1 > RSI_0 && RSI_0 > 70 && RSI_1 > RSI_2) // Если индикатор превышает значение 70 и виден поворот вниз
Entonces, ¿hay que escribir cada desigualdad por separado en las condiciones? Si se generaliza de alguna manera, se verá como un error? Entonces, ¿por qué el programa dice que no hay errores al compilar?
Entonces, ¿hay que escribir cada desigualdad por separado en las condiciones? Si se generaliza de alguna manera, se percibirá como un error? Entonces, ¿por qué el programa dice que no hay error al compilar?
No hay ningún error, simplemente no se obtiene el resultado esperado.
Integer: No tiene sentido cambiar Cerrar por Abrir, habrá poco cambio. Es más fácil no molestarse con esas tonterías, sino tomar los datos de la barra formada.
No hay ningún error, simplemente no se obtiene el resultado que se esperaba.
Me di cuenta)) una orden se abrió inmediatamente sin más cambios, porque tuve que escribir NULL en lugar de Symbol() en la línea:
RSI_1=iRSI(Symbol(), 0, 14, PRICE_CLOSE, 1); // Получаем данные от RSI
Tienes que escribir NULL en lugar de Symbol(), porque hay una discrepancia en los tipos de variables. Debido a esto, vi RSI como un valor nulo, así que inmediatamente lo abrí, porque la condición funcionó.
Ahora lo he arreglado y todo está bien.
El único problema es que los objetos sólo se crean una vez en la primera operación.
En esta situación hay que añadir al código. Cree una variable externa, por ejemplo, Appled_Price.
Y cambias todos los PRICE_CLOSE en el código por Appled_Price.
Ah, sí, lo siento, me refería a las nuevas construcciones, y hay un código un poco inusual.
Esa es la cuestión, el código no tiene precio de forma libre, todo está en arrays, simplemente no se puede cambiar, lo he probado (((
Y si funcionara, ¿cómo hacer una selección de una lista desplegable (como en la imagen de mi pregunta)?
Esa es la cuestión, no hay precio libre en el código, no puedes sustituirlo(((
Pruebe aquí
cambie cerrar por abrir. Si empieza a contar por abierto, entonces indaga en esta dirección cómo cambiar este valor. Ahora no puedo ejecutar el terminal beta para mirar a través de su editor.
Cambia el valor aquí de antemano:
Saludos a todos))
Escribí un EA, pero no funciona en todo)))) o no funciona correctamente. he estado hurgando, arreglando muchas cosas, pero sin embargo, el EA no funciona.
aquí se muestra un fragmento del cálculo de las decisiones de trading basadas en el indicador RSI :
//--------------------Данные------------------------------------
El caso es que el EA abre inmediatamente una orden de compra, a pesar del valor del indicador, y no quiere cerrarla. Los objetos como el texto y las flechas no aparecen.
Ayúdame a resolver esto)) solo soy nuevo en esto
Saludos a todos))
Escribí un EA, pero no funciona en todo)))) o no funciona correctamente. he estado hurgando, arreglando muchas cosas, pero sin embargo, el EA no funciona.
aquí se muestra un fragmento del cálculo de las decisiones de trading basadas en el indicador RSI :
//--------------------Данные------------------------------------
El caso es que el EA abre inmediatamente una orden de compra, a pesar del valor del indicador, y no quiere cerrarla. Los objetos como el texto y las flechas no aparecen.
Ayúdame a resolver esto)) solo soy nuevo en esto
Entonces, ¿hay que escribir cada desigualdad por separado en las condiciones? Si se generaliza de alguna manera, se verá como un error? Entonces, ¿por qué el programa dice que no hay errores al compilar?
Entonces, ¿hay que escribir cada desigualdad por separado en las condiciones? Si se generaliza de alguna manera, se percibirá como un error? Entonces, ¿por qué el programa dice que no hay error al compilar?
No hay ningún error, simplemente no se obtiene el resultado esperado.
...¿Cómo se busca la causa en una situación como ésta?
Lo encontré por casualidad. Hay que simplificar las cosas. Comentar todo, descomentar la primera importación, compilar, llamar a las funciones, etc.
No tiene sentido cambiar Cerrar por Abrir, habrá poco cambio. Es más fácil no molestarse con esas tonterías, sino tomar los datos de la barra formada.
No hay ningún error, simplemente no se obtiene el resultado que se esperaba.
Me di cuenta)) una orden se abrió inmediatamente sin más cambios, porque tuve que escribir NULL en lugar de Symbol() en la línea:
Tienes que escribir NULL en lugar de Symbol(), porque hay una discrepancia en los tipos de variables. Debido a esto, vi RSI como un valor nulo, así que inmediatamente lo abrí, porque la condición funcionó.
Ahora lo he arreglado y todo está bien.
El único problema es que los objetos sólo se crean una vez en la primera operación.