← К каталогу
Исходный код · ID 4548

#_buy_x_ orders_script_v1.mq4

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Этот скрипт для MetaTrader 4 предназначен для быстрого открытия серии рыночных ордеров на покупку. Он запускается вручную из окна терминала и при старте проверяет, включена ли автоматическая торговля и разрешены ли торговые операции. Если условия не выполнены, выводится предупреждающее сообщение и работа скрипта прекращается.

Перед отправкой ордеров выполняется проверка объёмов: если хотя бы один из заданных лотов больше нуля, но меньше минимально допустимого брокером объёма, скрипт подаёт звуковой сигнал и показывает сообщение об ошибке, после чего завершается. Уровни стоп-лосс и тейк-профит рассчитываются от текущей цены Ask только при положительных значениях соответствующих параметров; при нулевых значениях уровни не выставляются.

Далее скрипт последовательно отправляет до семи рыночных ордеров на покупку с объёмами, заданными в настройках Lots_1 ... Lots_7. Ордера с нулевым объёмом также отправляются, но фактически не открываются. После отправки воспроизводится звуковой сигнал, а при ошибке выводится её код в журнал. При успешной отправке последнего ордера скрипт делает паузу и завершает работу.

Скрипт не содержит торговой стратегии, анализа рынка или условий входа: он лишь выполняет разовую отправку ордеров с заданными параметрами.

Настройки программы

НастройкаОписание
s Текстовый параметр, задающий тип рыночных ордеров. В исходном коде значение по умолчанию — BUY, однако фактически при отправке всегда используется покупка.
Slippage Максимально допустимое отклонение цены исполнения в пунктах, передаваемое при отправке рыночных ордеров.
magicz Идентификатор (magic number), присваиваемый отправляемым ордерам для их последующей идентификации.
StopLoss Размер стоп-лосса в пунктах. При положительном значении уровень стоп-лосс рассчитывается от текущей цены Ask; при нуле уровень не выставляется.
TakeProfit Размер тейк-профита в пунктах. При положительном значении уровень тейк-профит рассчитывается от текущей цены Ask; при нуле уровень не выставляется.
Lots_1 Объём первого рыночного ордера на покупку. Если значение больше нуля и меньше минимального лота брокера, скрипт завершается с предупреждением.
Lots_2 Объём второго рыночного ордера на покупку. Проверяется на соответствие минимальному лоту брокера.
Lots_3 Объём третьего рыночного ордера на покупку. Проверяется на соответствие минимальному лоту брокера.
Lots_4 Объём четвёртого рыночного ордера на покупку. Проверяется на соответствие минимальному лоту брокера.
Lots_5 Объём пятого рыночного ордера на покупку. При нулевом значении ордер отправляется, но фактически не открывается.
Lots_6 Объём шестого рыночного ордера на покупку. При нулевом значении ордер отправляется, но фактически не открывается.
Lots_7 Объём седьмого рыночного ордера на покупку. При нулевом значении ордер отправляется, но фактически не открывается.
Получить полный код

Поиск по коду файла

#property version   "1.00"
#property strict

#property show_confirm
#property show_inputs

input string s = "BUY"; // Market Orders
input int Slippage  = 3; // Slippage
input int magicz = 12; // magic number
input int StopLoss = 0;
input int TakeProfit = 0;

input double Lots_1 = 0.01; // Order 1
input double Lots_2 = 0.02; // Order 2
input double Lots_3 = 0.03; // Order 3
input double Lots_4 = 0.04; // Order 4
input double Lots_5 = 0.00; // Order 5
input double Lots_6 = 0.00; // Order 6
input double Lots_7 = 0.00; // Order 7

int OT, ticket;
double OP;

double SLx, TPx;

void OnStart()
{
      // код доступен только после оплаты
   }
  if(!IsExpertEnabled())
  {
    MessageBox("You need to enable AutoTrading! "+" Check your Settings!");
    return;
  }

  if(!IsTradeAllowed())
  {
    MessageBox("You need to Allow Live Trading! "+" Check your Settings!"+"\n"+
                    "Common tab -> Live Trading -> Allow live trading");
    return;
  }

  double ML = MarketInfo(NULL,MODE_MINLOT);     

  if((Lots_1>0 && Lots_1<ML) || (Lots_2>0 && Lots_2<ML) || (Lots_3>0 && Lots_3<ML) || (Lots_4>0 && Lots_4<ML) || (Lots_5>0 && Lots_5<ML) || (Lots_6>0 && Lots_6<ML) || (Lots_7>0 && Lots_7<ML))

  {
    PlaySound("Alert.wav");
    MessageBox("Order lot/s value less than 

Показано первые 50% кода (символов: 1954)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
195,40₽ ≈ $2.39