La cuestión es que la función OrderClose() que cierra la orden toma el número de orden como primer parámetro, y el número de orden sólo se puede obtener llamando a OrderSelect() en las órdenes existentes, por lo que en el caso general el cierre se ve así...
Si OrdersTotal() = 0, es decir, si no hay órdenes abiertas, el bucle for se termina inmediatamente.
Gracias por la respuesta, ¿puedes escribir el principio de la función OrderSend? debería ir justo después de los últimos corchetes????
tomando cualquier signo de desigualdad y corriendo
>> en el probador se puede obtener un positivo
el resultado con algún nivel, y no importa qué nivel
positivo o negativo. Y cuando se le preguntó
si se toma el nivel con o sin el menos,
no hay una distinción clara, por desgracia.
Puede que haya cometido un error..........
La cuestión es que el principiante está preguntando lo que NO SABE. Este ejemplo de códigos sirve para entender la estructura (estructura correcta) de la EA.
Y lo que hay en esta pieza de código se basa en un principio de comercio CLÁSICO. Tanto el propio Asesor Experto como los ejemplos de código sirven para estudiar los principios, y no para pinchar a alguien o pillarle en algo....... Lo que pregunto es que no está claro. Al fin y al cabo, hay que entender teóricamente el qué y el cómo. Y luego crear, esculpir, inventar........
keekkenen 25.02.2009 11:34 1) Por favor, explique, la función OrderSend(...) tiene tipo int, y usted la define como tipo bool, mientras que el tipo bool no tiene valor -1, ¿qué tan correcto es? 2) En la función KimIV de apertura de posición la repetición se hace a través de for(...), mientras que en la suya a través de while(...).
1. esto es un error... tienes que declarar res como int y añadir otra variable de tipo bool para devolver el valor de éxito/fracaso al abrir la orden...
2. También utilicé antes una de las implementaciones de la función OpenPosition() de Igor, pero después cambié la función para que fuera más fácil detectar e informar de los errores...
el resultado es la siguiente estructura
while( try !=0){// определение условий для открытыия позиции//..// открытие позициц
res =OrderSend(...);if( res >0){PlaySound("alert.wav");
try =0;Comment("Ордер открыт !");Sleep(2000);
ret =true;}else{/* блок определения ошибок и возврат
err - уровень критичности ошибки (0,1,2,3)
msg - описание ошибки (если showErrors = true)
уровни определяются по номеру ошибки
0-нет ошибки, 1-надо ждать и обновлять,
2-сделка бракуется,3-фатальная ошибка*/
ErrorBlock( showErrors, err, msg);if( err >1) try =0;// в данном случае 2 и 3 критичныComment("Ошибка - ", msg);Sleep(2000);}}
Si he entendido bien en tu función, si hay requotes continuos, entonces el número de intentos es ilimitado, a diferencia de la función de Igor? ¿Es necesaria alguna limitación en este caso?
La cuestión es que la función OrderClose() que cierra la orden toma el número de orden como primer parámetro, y el número de orden sólo se puede obtener llamando a OrderSelect() en las órdenes existentes, por lo que en el caso general el cierre se ve así...
Si OrdersTotal() = 0, es decir, si no hay órdenes abiertas, el bucle for se termina inmediatamente.
Gracias por la respuesta, ¿puedes escribir el principio de la función OrderSend? debería ir justo después de los últimos corchetes????
Gracias por la respuesta, ¿puedes escribir el principio de la función OrderSend? debería ir justo después de los últimos corchetes????
Bueno, aquí hay un ejemplo
¿Pueden decirme qué función devuelve el valor del nivel de margen (en porcentaje) para las órdenes abiertas, que se muestra en la pestaña "Comercio"?
En la Ayuda, ninguna de las funciones enumeradas devuelve este valor.
AccountMargin
AccountFreeMargin
AccountFreeMarginCheck
AccountFreeMarginMode
Se puede utilizar el indicador Damiani_Volt.
Un material interesante, gracias.
ahí está
Gracias
¿Qué te hace pensar que estoy enfadado?
Es sólo mi manera de explicar que
tomando cualquier signo de desigualdad y corriendo
>> en el probador se puede obtener un positivo
el resultado con algún nivel, y no importa qué nivel
positivo o negativo. Y cuando se le preguntó
si se toma el nivel con o sin el menos,
no hay una distinción clara, por desgracia.
Puede que haya cometido un error..........
La cuestión es que el principiante está preguntando lo que NO SABE. Este ejemplo de códigos sirve para entender la estructura (estructura correcta) de la EA.
Y lo que hay en esta pieza de código se basa en un principio de comercio CLÁSICO. Tanto el propio Asesor Experto como los ejemplos de código sirven para estudiar los principios, y no para pinchar a alguien o pillarle en algo....... Lo que pregunto es que no está claro. Al fin y al cabo, hay que entender teóricamente el qué y el cómo. Y luego crear, esculpir, inventar........
1. esto es un error... tienes que declarar res como int y añadir otra variable de tipo bool para devolver el valor de éxito/fracaso al abrir la orden...
2. También utilicé antes una de las implementaciones de la función OpenPosition() de Igor, pero después cambié la función para que fuera más fácil detectar e informar de los errores...
el resultado es la siguiente estructura