Если нужны скрипты для открытия. То я пользуюсь этими:
https://www.mql5.com/ru/code/7983
PipsingV2_...
//-------------------------------------------------------------------- // openbuy.mq4 // Предназначен для использования в качестве примера в учебнике MQL4. //--------------------------------------------------------------- 1 -- int start() // Спец.функция start { int Dist_SL =10; // Заданный SL (pt) int Dist_TP =3; // Заданный TP (pt) double Prots=0.35; // Процент своб. ср. string Symb=Symbol(); // Финанс. инструмент //--------------------------------------------------------------- 2 -- while(true) // Цикл открытия орд. { int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// Мин. дистанция double Min_Lot=MarketInfo(Symb,MODE_MINLOT);// Мин. стоим. лотов double Step =MarketInfo(Symb,MODE_LOTSTEP);//Шаг изменен лотов double Free =AccountFreeMargin(); // Свободн средства double One_Lot=MarketInfo(Symb,MODE_MARGINREQUIRED);//Стоим.лота //--------------------------------------------------------- 3 -- double Lot=MathFloor(Free*Prots/One_Lot/Step)*Step;// Лоты if (Lot<Min_Lot) // Если меньше допуст { Alert(" Не хватает денег на ", Min_Lot," лотов"); break; // Выход из цикла } //--------------------------------------------------------- 4 -- if (Dist_SL<Min_Dist) // Если меньше допуст. { Dist_SL=Min_Dist; // Установим допуст. Alert(" Увеличена дистанция SL = ",Dist_SL," pt"); } double SL = Ask + Dist_SL * Point; // Заявленная цена SL //--------------------------------------------------------- 5 -- if (Dist_TP<Min_Dist) // Если меньше допуст. { Dist_TP=Min_Dist; // Установим допуст. Alert(" Увеличена дистанция TP = ",Dist_TP," pt"); } double TP = Ask - Dist_TP * Point; // Заявленная цена ТР //--------------------------------------------------------- 6 -- Alert("Торговый приказ отправлен на сервер. Ожидание ответа.."); int ticket=OrderSend(Symb, OP_SELL, Lot, Bid, 2, SL, TP); //--------------------------------------------------------- 7 -- if (ticket>0) // Получилось :) { Alert ("Открыт ордер Sell ",ticket); break; // Выход из цикла } //--------------------------------------------------------- 8 -- int Error=GetLastError(); // Не получилось :( switch(Error) // Преодолимые ошибки { case 135:Alert("Цена изменилась. Пробуем ещё раз.."); RefreshRates(); // Обновим данные continue; // На след. итерацию case 136:Alert("Нет цен. Ждём новый тик.."); while(RefreshRates()==false) // До нового тика Sleep(1); // Задержка в цикле continue; // На след. итерацию case 146:Alert("Подсистема торговли занята. Пробуем ещё.."); Sleep(500); // Простое решение RefreshRates(); // Обновим данные continue; // На след. итерацию } switch(Error) // Критические ошибки { case 2 : Alert("Общая ошибка."); break; // Выход из switch case 5 : Alert("Старая версия клиентского терминала."); break; // Выход из switch case 64: Alert("Счет заблокирован."); break; // Выход из switch case 133:Alert("Торговля запрещена"); break; // Выход из switch default: Alert("Возникла ошибка ",Error);// Другие варианты } break; // Выход из цикла } //--------------------------------------------------------------- 9 -- Alert ("Скрипт закончил работу -----------------------------"); return; // Выход из start() } //-------------------------------------------------------------- 10 --
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что необходимо изменить в скрипте openbuy.mq4 чтобы получился opensell.mq4?
Скрипт взят из