#_buy_sell_x_ orders_script_v1.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «#_buy_sell_x_ orders_script_v1.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Это скрипт для MetaTrader 4, предназначенный для быстрого открытия серии рыночных ордеров одного направления. При запуске пользователь выбирает направление (покупка или продажа), после чего скрипт последовательно отправляет до семи ордеров с заданными объёмами. Перед отправкой выполняется проверка разрешения автоматической торговли и допустимости торговли в терминале, а также проверка соответствия объёмов минимальному лоту брокера.
Скрипт имеет настраиваемые параметры: направление сделки, допустимое проскальзывание, магический номер, уровни стоп-лосс и тейк-профит, а также семь отдельных значений лота. Ордера выставляются по текущей рыночной цене с одинаковыми уровнями защиты для всех позиций серии.
После отправки ордеров скрипт воспроизводит звуковой сигнал и выводит в журнал результат последней операции. При ошибке отправки в журнал записывается код ошибки. Скрипт не содержит логики сопровождения позиций и завершает работу после однократного выполнения.
Настройки программы
| Настройка | Описание |
|---|---|
| buy_sell | Выбор направления сделки: покупка (Buy) или продажа (Sell). Определяет тип и цену отправляемых ордеров. |
| Slippage | Максимально допустимое отклонение цены исполнения от запрошенной при отправке ордера, в пунктах. |
| magicz | Магический номер, присваиваемый отправляемым ордерам для их идентификации. |
| StopLoss | Размер защитного стоп-лосса в пунктах. При значении 0 стоп-лосс не устанавливается. |
| TakeProfit | Размер тейк-профита в пунктах. При значении 0 тейк-профит не устанавливается. |
| 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
enum bs
{
a = 0, // Buy
b = 1, // Sell
};
input bs buy_sell = a; // Selecton: Buy or Sell
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;
}
if(buy_sell == a)
{
OT = 0;
OP = Ask;
}
if(buy_sell == b)
{
OT = 1;
OP = Bid;
}
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 broker minimum " + DoubleToStr(ML,2) + " lots"); return;
}
if(buy_sell == a && StopLoss > 0) // Buy -> SL > 0
{
SLx = Ask - StoПоказано первые 50% кода (символов: 2375)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.