Cómo trabajar correctamente en MT5 con OrderSend - página 7

 
fxsaber:

Supongo que un ejemplo como éste es ilustrativo.

Si no se hace Sleep, a menudo se produce una situación en la que el historial no ha tenido tiempo de actualizarse después de OrderClose y OrderCommission devuelve un valor como si OrderClose no se hubiera realizado.

Tenga en cuenta que se trata de un script y no puede haber ningún Event-overs. La única salida es un Sueño tonto.

Si reescribes este script con SB, nada cambiará.

No confunda MT4 con MT5
 
prostotrader:
No confunda MT4 con MT5

Esto y MT5

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006
 
fxsaber:

Eso y MT5

OP_BUY

No existe tal cosa en MT5.

Funcionan de forma completamente diferente.

 
prostotrader:
OP_BUY

No existe tal cosa en MT5.

Funcionan de forma completamente diferente.

En lugar de ejecutar el código anterior en MT5, usted está perdiendo su tiempo con la charla ociosa.
 

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

Bibliotecas: MT4Orders

fxsaber, 2016.11.14 13:33

// 13.11.2016:
//   Add: Полная синхронизация OrderSend, OrderModify, OrderClose, OrderDelete с торговым окружением (реал-тайм и история) - как в MT4.
//        Максимальное время синхронизации можно задать через MT4ORDERS::OrderSend_MaxPause в мкс. Среднее время синхронизации в MT5 ~1 мс.
 
fxsaber:
En base a lo anterior, ¿se debe poner Sleep(1) después de cada operación?
 
Alexey Kozitsyn:
En base a lo anterior, ¿se debe fijar Sleep(1) después de cada operación?
No, el tiempo de sincronización es flotante. Mira
static bool MT4ORDERS::OrderSend( const MqlTradeRequest &Request, MqlTradeResult &Result );
 
fxsaber:
No, el tiempo de sincronización es flotante. Ver
static bool MT4ORDERS::OrderSend( const MqlTradeRequest &Request, MqlTradeResult &Result );

La práctica demuestra que Sleep(1) es suficiente en la gran mayoría de los casos.

En general, es bastante extraño recibir una respuesta de OrderSend sobre un entorno comercial modificado, cuando este entorno modificado no puede leerse todavía.

 
Vasiliy Sokolov:

La práctica demuestra que Sleep(1) es suficiente en la gran mayoría de los casos.

A veces también basta con Sleep(0). Pero debe haber una solución que funcione para todos los casos y para que el tiempo de espera sea mínimo.
 
fxsaber:
A veces también basta con Sleep(0). Pero debe haber una solución que funcione para todos los casos y para que el tiempo de espera sea mínimo.

¿Por qué los desarrolladores tienen que arreglar el error de "Mr. Balloon"?

y además, existe OrderSendAsync().

Razón de la queja: