#_buy_x_ orders_script_v1.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «#_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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.