Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вариант OrderSend+Sleep(0) не работает медленней, чем OrderSend+OnTradeTransaction. Замерял. Поэтому второй вариант не для асинхронных транзакций не использую.
Вариант OrderSend+Sleep(0) - временный, т.к это недоратока разработчиков (не стоит приврдить это как пример :) ).
Кода поправят, останется только OrderSend
Это Вы так решили или инсайд?
Стесняюсь спросить, а разве "OrderSend+Sleep(0)" != "OrderSend" ?
Да, равенства нет.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: MT4Orders
fxsaber, 2016.11.14 13:33
// Add: Полная синхронизация OrderSend, OrderModify, OrderClose, OrderDelete с торговым окружением (реал-тайм и история) - как в MT4.
// Максимальное время синхронизации можно задать через MT4ORDERS::OrderSend_MaxPause в мкс. Среднее время синхронизации в MT5 ~1 мс.
Вариант OrderSend+Sleep(0) - временный, т.к это недоратока разработчиков (не стоит приврдить это как пример :) ).
Кода поправят, останется только OrderSend
Не поправят, т.к. не баг, а фишка.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Как правильно работать в MT5 с OrderSend
fxsaber, 2016.11.15 13:30
Попробуйте написать следующую функцию в советнике
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Как правильно работать в MT5 с OrderSend
fxsaber, 2016.11.15 14:14
Кто-то ее реализует сразу
#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);
}
А кто-то ждет маны небесной от разработчиков.
Подскажите как поставить стоп и тейк?
вот скрипт - Вам поможет. https://www.mql5.com/ru/code/17994