![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
A opção OrderSend+Sleep(0) não é mais lenta do que a OrderSend+OnTradeTransaction. Eu o medi. Portanto, não utilizo a segunda variante não para transações assíncronas.
A variante OrderSend+Sleep(0) é temporária, porque é uma falha dos desenvolvedores (não a use como exemplo :) ).
Quando for fixado, somente o OrderSend será deixado
É essa a sua decisão ou a opinião de um informante?
Tenho vergonha de perguntar, faz "OrderSend+Sleep(0)" !
Sim, não há igualdade.
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
Bibliotecas: MT4Orders
fxsaber, 2016.11.14 13:33
// Add: Полная синхронизация OrderSend, OrderModify, OrderClose, OrderDelete с торговым окружением (реал-тайм и история) - как в MT4.
// Максимальное время синхронизации можно задать через MT4ORDERS::OrderSend_MaxPause в мкс. Среднее время синхронизации в MT5 ~1 мс.
A variante OrderSend+Sleep(0) é temporária, porque é uma falha dos desenvolvedores (não a traga como exemplo :) ).
Quando corrigido, somente OrderSend será deixado
Não corrigido, porque não é um bug, mas uma característica.
Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos
Como trabalhar corretamente em MT5 com OrderSend
fxsaber, 2016.11.15 13:30
Tente escrever a seguinte função em sua EA
Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos
Como trabalhar corretamente em MT5 com OrderSend
fxsaber, 2016.11.15 14:14
Alguém o implementa imediatamente
#property strict
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006
void Func( const string &Symbols[] )
{
const int Total = ArraySize(Symbols);
for (int i = 0; i < Total; i++)
{
const double Price = SymbolInfoDouble(Symbols[i], SYMBOL_ASK);
const int digits = (int)SymbolInfoInteger(Symbols[i], SYMBOL_DIGITS);
if (!OrderSelect(OrderSend(Symbols[i], OP_BUY, 1, Price, 100, 0, 0, DoubleToString(Price, digits)), SELECT_BY_TICKET) ||
(NormalizeDouble(Price - OrderOpenPrice(), digits) != 0)) // если не получилось открыть или есть проскальзывание - выходим
break;
}
}
void OnStart() // OnTick
{
const string Symbols[] = {"EURUSD", "GBPUSD", "AUDUSD", "USDCAD", "USDJPY"};
Func(Symbols);
}
E alguém está esperando a mana dos desenvolvedores.
Você pode me dizer como estabelecer uma parada e uma tomada?
aqui está um roteiro para ajudar você.https://www.mql5.com/ru/code/17994