¿Cómo implementar el cierre de posiciones de una en una después de N minutos? - página 3

 
Ihor Herasko:

Disculpen. La línea:

necesita ser reescrito así:


(OrderCloseTime()> 0) funciona, lo dejaré así entonces

Gracias de nuevo))

Renat Akhtyamov:

закрытие по тикету, переделайте под свой

También se cierra bien, pero después de cerrar escribe el error 4108"Número de ticket no válido".


 
Natalya Dzerzhinskaya:

(OrderCloseTime()> 0) funciona, lo dejaré así entonces

Gracias de nuevo))


También se cierra bien, pero después de cerrarse dice error 4108"Número de ticket incorrecto".


Así que está muy mal, no miento.

Mira la lógica de tu código.

¿Y haces un comando para cerrar o dos?

Si se cierra una vez, no hay nada que hacer para la segunda, y el billete anterior ya no será válido.

 
Renat Akhtyamov:

Así que está muy mal, no miente.

Mira la lógica de tu código.

¿Ejecutas un comando de cierre o dos?

Si se cierra una vez, no hay nada que hacer para la segunda, y la entrada anterior ya será incorrecta.


La variable"close" de tu código nunca será menor que cero, lee la ayuda.

 
Ihor Herasko:

Los puntos anteriores son justos. ¿Por qué volver a hacer todos los pedidos si el billete ya se conoce?

Es posible cerrar las órdenes inmediatamente, cuando se sobrepasan.
¿Por qué buscar el tiempo? Comparar - cerrar - siguiente.
 
Taras Slobodyanik:

la variable "close" de su código nunca será inferior a cero, lea la ayuda

léalo usted mismo...

-----------

Valor de retorno

Devuelve true si la función se completó con éxito o false si hubo un error. Para obtener la información del error hay que llamar a GetLastError().

Коды возврата торгового сервера - Коды ошибок и предупреждений - Стандартные константы, перечисления и структуры - Справочник MQL4
Коды возврата торгового сервера - Коды ошибок и предупреждений - Стандартные константы, перечисления и структуры - Справочник MQL4
  • docs.mql4.com
GetLastError() - функция, возвращающая коды ошибок. Кодовые константы ошибок определены в файле stderror.mqh. Для вывода текстовых сообщений следует использовать функцию ErrorDescription(), определенную в файле stdlib.mqh.
 
Renat Akhtyamov:

lea usted mismo...

-----------

Valor devuelto

Devuelve true si la función se ha completado con éxito o false en caso de error. Para obtener información sobre el error, llame a GetLastError().


ni siquiera sabes la diferencia entre tipos de variables)

necesitas aprender.

 
Taras Slobodyanik:

por lo que ni siquiera conoce los tipos de variables)

Tienes que aprender.


Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

¿Cómo implementar el cierre de posiciones una a una después de N minutos?

Natalya Dzerzhinskaya, 2017.11.22 19:17


(OrderCloseTime()> 0) funciona, lo dejaré así entonces

Gracias de nuevo))


También se cierra bien, pero después de cerrar escribe el error 4108"Número de ticket no válido".


¿Es del cielo o algo así?

)

¡Buena suerte con tus estudios!
 
Renat Akhtyamov:

¿Sale del cielo o algo así?

)

¡Buena suerte con tus estudios!

¿En qué condiciones podría funcionar, incluso una vez cada 100 años?

                  if(OrderSelect(MyTicketBuy, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(MyTicketBuy,OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,clrRed);
                     if(close<0){if(Fun_Error(GetLastError())==1)return;}
                  }
                  if(OrderSelect(MyTicketSell, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(MyTicketSell,OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,clrBlue);
                     if(close<0){if(Fu n_Error(GetLastError())==1)return;}
                  }
 
Vitaly Muzichenko:

¿En qué condiciones podría funcionar, incluso una vez cada 100 años?

Bueno Vitaly, no sé...............

Lo tienes en tu puesto de trabajo ......

Cuidado, la función está en la página anterior.
 
Renat Akhtyamov:

Bueno Vitaly, no sé...............

Lo tienes en tu correo electrónico ......

Cuidado, la función está en la página anterior.

Lo que quiero decir es quecerrar sólo puede ser 0(falso) o 1(verdadero), no hay otra cosa.

Lo mismo, para la fiabilidad es mejor escribir:

close=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,clrRed);
Razón de la queja: