Los valores calculados de los precios en una orden comercial deben ser normalizados a Dígitos. No sólo eso, sino que debe coincidir con los requisitos de StopLevel (no lo hizo aquí)
El OrderMagicNumber() es el número mágico del pedido preseleccionado. Debe establecerlo con un valor específico, o calcularlo en el EA para que sea único para él.
Antes de esa comprobación, desimprime todos los valores de todas las condiciones que se comprueban aquí. Entonces tendrá claro dónde buscar.
Los valores de los precios calculados en su orden de operación deben ser normalizados a Dígitos. No sólo eso, sino que debe cumplir los requisitos de StopLevel (no lo hizo aquí)
OrderMagicNumber() es el número mágico de un pedido preseleccionado. Deberías establecerlo como un valor específico, o calcularlo en el EA, para que sea único para él.
Antes de esa comprobación, desimprima todos los valores de todas las condiciones que se comprueban aquí. Entonces tendrá claro dónde buscar.
Sí, probando en AUDUSD
OrderSend("AUDUSD",OP_BUY,Lot,Ask,slippage,Ask-SL*Point,0,NULL,OrderMagicNumber(),0,Green);-esta línea funcionó en el probador sin problemas, hasta que añadimos las condiciones
OrderSend("AUDUSD",OP_BUY,Lot,Ask,slippage,Ask-SL*Point,0,NULL,OrderMagicNumber(),0,Green);-esta línea funcionó en el probador sin problemas, hasta que se añadieron las condiciones
Sobre esta cadena ya te he escrito. Entonces, cuando tengas errores 130 no preguntes cuál es el problema.
Leo59: Si alguien ha encontrado un código para calcular la reducción de la renta variable (absoluta y relativa), por favor, que me dé un enlace.
¡Cuando lo necesité, busqué, pero no lo encontré, porque necesitaba no en el pasado, como en el probador, sino en el futuro, poner SL en una posición abierta para anticipar el posible drawdown, si la posición se cierra en SL, mostrando los datos en el comentario en el gráfico, lo que hice, y se hizo muy conveniente para ver todos los posibles problemas por adelantado en Real, como te deseo! Al mismo tiempo, al haberlo hecho yo mismo, he aprendido mucho, lo que es más valioso. Buena suerte.
es decir, el error 130 puede que no se produzca durante mucho tiempo, pero luego sí...
No soy telépata, ni soy Nostradamus. No puedo decirte exactamente cuándo aparecerá el error 130. Pero puedo decirte que aparecerá. Hasta que no normalice todos los precios calculados en las órdenes comerciales y compruebe los precios sl y tp en la orden comercial para ver si son correctos en relación con los requisitos de StopLevel de su empresa de corretaje, obtendrá el error 130.
Existe un código de función de este tipo. En MT4 beta, al compilarlo, me aparece la advertencia "expresión no booleana" en las líneas marcadas con una flecha. ¿Puede sugerir cómo solucionarlo?
void WindowCaptions()
{
int hwnd = GetAncestor(WindowHandle(Symbol(),Period()),1);
int ret = GetWindowLongA( hwnd, GWL_STYLE );
if (ret & WS_MAXIMIZE) return; //<---if (ret & WS_DLGFRAME) ret -= WS_DLGFRAME; else ret += WS_DLGFRAME; //<---//это если совсем без рамочек // if (ret & WS_THICKFRAME) ret -= WS_THICKFRAME; else ret += WS_THICKFRAME;
SetWindowLongA( hwnd, GWL_STYLE, ret );
SetWindowPos ( hwnd, 0,0,0,0,0, 39);
}
¿Lo estás probando en el AUDUSD?
Los valores calculados de los precios en una orden comercial deben ser normalizados a Dígitos. No sólo eso, sino que debe coincidir con los requisitos de StopLevel (no lo hizo aquí)
El OrderMagicNumber() es el número mágico del pedido preseleccionado. Debe establecerlo con un valor específico, o calcularlo en el EA para que sea único para él.
Antes de esa comprobación, desimprime todos los valores de todas las condiciones que se comprueban aquí. Entonces tendrá claro dónde buscar.
¿Estás probando el AUDUSD?
Los valores de los precios calculados en su orden de operación deben ser normalizados a Dígitos. No sólo eso, sino que debe cumplir los requisitos de StopLevel (no lo hizo aquí)
OrderMagicNumber() es el número mágico de un pedido preseleccionado. Deberías establecerlo como un valor específico, o calcularlo en el EA, para que sea único para él.
Antes de esa comprobación, desimprima todos los valores de todas las condiciones que se comprueban aquí. Entonces tendrá claro dónde buscar.
Sí, probando en AUDUSD
OrderSend("AUDUSD",OP_BUY,Lot,Ask,slippage,Ask-SL*Point,0,NULL,OrderMagicNumber(),0,Green);-esta línea funcionó en el probador sin problemas, hasta que añadimos las condiciones
como
iOpen("AUDJPY",PERIOD_M1,1)>iClose("AUDJPY",PERIOD_M1,1)...
Repito que todo funciona en la cuenta... no en el probador...
OrderSend("AUDUSD",OP_BUY,Lot,Ask,slippage,Ask-SL*Point,0,NULL,OrderMagicNumber(),0,Green);-esta línea funcionó en el probador sin problemas, hasta que se añadieron las condiciones
Ya le he escrito sobre esta línea. Luego, cuando aparezca el error 130, no me preguntes cuál es el problema.
Entonces,¿el error 130 puede no producirse durante mucho tiempo y luego sí?
Si alguien ha encontrado un código para calcular la reducción de la renta variable (absoluta y relativa), por favor, que me dé un enlace.
Ya está escrito.
Genial, muchas gracias por este material, ahora será mucho más efectivo para limitar las pérdidas y aumentar los beneficios.
es decir, el error 130 puede que no se produzca durante mucho tiempo, pero luego sí...
Existe un código de función de este tipo. En MT4 beta, al compilarlo, me aparece la advertencia "expresión no booleana" en las líneas marcadas con una flecha. ¿Puede sugerir cómo solucionarlo?