[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 66
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
De hecho, en estos casos suelo intentar utilizar GetLastError() de forma más amplia. Por supuesto, no soy un profesional.
Entiendo que GetLastError() se supone que debe decir por qué no se hace algo, por ejemplo si un hilo está ocupado, ¡pero no tengo nada en absoluto!
¿Supongo que sólo se necesitan 3 órdenes para abrir diferentes instrumentos? Por qué no hacer una variable de bandera, por ejemplo
En las variables globales crear
int flag=0;
string Symb;
///////////////
entonces
int start()
{
if (условие открытия)
{flag=1;}
if (flag==1)
{
Symb="EURUSD";
OrderSend(Symb,...)///Открываем, переносим флаг во 2 состояние для открытия след ордера и
flag=2; ///выходим тк больше мы ни чего не можем сделать
return(0);
}
if (flag==2)
{
Symb="AUDUSD";
OrderSend(Symb,...)
flag=3;
return(0);
}
if (flag==3)
{
Symb="USDJPY";
OrderSend(Symb,...)
flag=0;//Возвращаем флаг в начальное состояние..
return(0);
}
return(0);}
También sería bueno añadir la comprobación de la apertura y sólo después de que la comprobación tenga éxito mover la bandera.
¡Muchas gracias! ¡Lo probaré!
}
else Print ("Error al abrir una posición larga:",GetLastError());
devuelve un error si OrderSelect() falla.
if(OrderSend(Symbol(), OP_SELLSTOP, getLots, Bid, 0, 0, 0, WindowExpertName(),Magic, 0, Red) < 0)
Print("Error Open Sellstop = ",GetLastError());
Devuelve un error si OrderSend() falla.hay una versión que es OrderSend() que no funciona
¿alguna idea de por qué funciona en el probador?
¿alguna idea de por qué funciona en el probador?
No. Pero lo que digo es que al usar la función Print más extensamente (aunque sin el posterior GetLastError),
se puede ver mucho mejor cómo el EA está operando.
por ejemplo, así:
if(MA1>MA2 && StochPrev<StohCur && StochPrev<SignPrev )
{
print(" Se cumple la condición para una orden de compra");
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,",16895,0,DeepSkyBlue);if(ticket>0)
}