как пререписать советник с Mql4 на Mql5
cpp
int OnInit()
{
// Инициализация советника
return(INIT_SUCCEEDED);
}
void OnTick()
{
// Обработка изменения цены
double ask = MarketInfo(Symbol(), MODE_ASK);
double bid = MarketInfo(Symbol(), MODE_BID);
// Торговые операции
if(ask > bid)
OrderSend(Symbol(), OP_BUY, 1, ask, 0, 0, 0, NULL, 0, NULL, 0);
else
OrderSend(Symbol(), OP_SELL, 1, bid, 0, 0, 0, NULL, 0, NULL, 0);
}
void OnDeinit(const int reason)
{
// Завершение работы советника
}
MQL5:
cpp
void OnTick()
{
// Обработка изменения цены
double ask = SymbolInfoDouble(Symbol(), SYMBOL_ASK);
double bid = SymbolInfoDouble(Symbol(), SYMBOL_BID);
// Торговые операции
if(ask > bid)
OrderSend(Symbol(), OP_BUY, 1, ask, 0, 0, 0, NULL, 0, 0, Green);
else
OrderSend(Symbol(), OP_SELL, 1, bid, 0, 0, 0, NULL, 0, 0, Red);
}
В приведенном примере вызовы функций MarketInfo и OrderSend заменены на функции SymbolInfoDouble и OrderSend соответственно. В параметры функции OrderSend добавлены новые аргументы для указания типа ордера (long или short) и цвета текста для отображения в торговой панели.
Таким образом, пререписка советника с MQL4 на MQL5 требует внесения изменений в объявления переменных, функций и структур данных, а также модификацию вызовов функций для работы с историческими данными, позициями и стандартным функциям и библиотекам. Необходимо также принимать во внимание небольшие, но важные отличия между MQL4 и MQL5, и вносить соответствующие изменения в код.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет