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

 
Vitaly Muzichenko:

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

Intentaré mostrar de nuevo la función, la he dado hoy, ha funcionado hoy y lo dejaré así.

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

¿Cómo implementar el cierre de una posición 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 dice error 4108"Número de billete no válido".



 
Vitaly Muzichenko:

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

Lo mismo, para la fiabilidad, es mejor escribir:

para estar a salvo.

siempre debe(!!!) utilizar el valor encontrado para ello en la función, para asegurarnos de que utilizamos los parámetros correctos y necesarios de la función

 
Renat Akhtyamov:

Una vez más, esta es la función, te la he dado hoy, la has resuelto hoy y se acabó.

Dar las gracias no significa que tengas razón, eres un adulto y deberías darte cuenta de ello.

Esto es como ir a una estación de servicio y dar las gracias al reparador, diciendo que el coche conduce bien después de la reparación, pero las válvulas están golpeando. ¿Lo entiendes?

Eso es todo, se ha ido).

 

los profesores están por todas partes.... todos los que se preocupan....

soy el único que sabe que no hay que meterse con las funciones de comercio

todo debe hacerse 5+

Cada error es una pérdida de dinero.

 
Taras Slobodyanik:
Es posible cerrar las órdenes inmediatamente si las ha buscado.
¿Por qué debemos buscar el tiempo? Comparar - cerrar - siguiente.

La condición es encontrar una sola orden que esté abierta primero. Y sin una búsqueda completa de órdenes es imposible saber que tal o cual orden es la más antigua.

 
Renat Akhtyamov:

los profesores están por todas partes.... todos los que se preocupan....

soy el único que sabe que no hay que meterse con las funciones de comercio

Todo tiene que ser 5+.

¡cada error es una pérdida de dinero!

Renat, esta condición no se mantendrá ni siquiera en el apocalipsis, puedes comprobarlo:

                  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(Fun_Error(GetLastError())==1)return;}
                  }
 
Vitaly Muzichenko:

Renate, esta condición no se mantiene ni siquiera en un apocalipsis, puedes comprobarlo:

¡¡¡¡Bueno, el hombre utilizó mi código !!!!

el error apareció?????

Vitaly, para...

o ve a torturarte si no me crees.

 
Ihor Herasko:

La condición es encontrar una sola orden que esté abierta primero. Y sin una búsqueda completa de órdenes es imposible averiguar que tal o cual orden es la más antigua.

Según la condición, no puede estar abierto más de 5 minutos, es decir, se puede buscar libremente en orden, y cerrar más antiguo que 5 minutos, será el más antiguo.

 
Renat Akhtyamov:

¡¡¡¡Bueno, el hombre usó mi código !!!!

el error salió?????


Esa es la cuestión, (el error) nunca será visible. Aunque parezca. La variable close debe ser del tipo bool, que nunca tiene un valor menor que cero.

 
Renat Akhtyamov:

¡¡¡¡Bueno, el hombre usó mi código !!!!

error lanzado up?????

No se trata de usar o no usar.

Una vez más:

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

¿Cómo implementar el cierre de la posición después de N minutos?

Vitaly Muzichenko, 2017.11.22 20:28

¿En qué condiciones puede funcionar esto, al menos 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;}
                  }