mearichi_5940281546685553606.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «mearichi_5940281546685553606.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный советник для MetaTrader 4 реализует стратегию сеточной торговли (Grid BUY Bot). При запуске он автоматически размещает отложенные ордера Buy Stop выше текущей цены и Buy Limit ниже неё, формируя сетку с заданным шагом в долларах. Количество уровней сверху и снизу настраивается отдельно.
Советник поддерживает два режима управления прибылью: индивидуальный тейк-профит для каждого ордера (по умолчанию) и корзинный тейк-профит, при котором все открытые позиции закрываются, когда суммарная прибыль корзины достигает заданной цели. Символ для торговли определяется автоматически по текущему графику.
Внутренняя логика включает проверку существующих отложенных ордеров для предотвращения дублирования, размещение новых ордеров через торговый API и периодическое обслуживание сетки на каждом тике. Параметры объёма, шага, уровней, проскальзывания и магического числа полностью настраиваются пользователем.
Настройки программы
| Настройка | Описание |
|---|---|
| Lots | Объём лота для каждого размещаемого ордера. |
| StepUSD | Шаг в долларах (USD) между соседними уровнями сетки. |
| TP_USD | Расстояние до индивидуального тейк-профита в долларах (USD) от цены ордера. Используется при отключённом режиме корзинного тейк-профита. |
| LevelsAbove | Количество уровней Buy Stop ордеров, размещаемых выше текущей цены. |
| LevelsBelow | Количество уровней Buy Limit ордеров, размещаемых ниже текущей цены. |
| Slippage | Допустимое проскальзывание цены при размещении ордеров и закрытии позиций. |
| MagicNumber | Магическое число для идентификации ордеров, принадлежащих данному советнику. |
| UseBasketTP | Переключатель режима тейк-профита: true — корзинный тейк-профит (закрытие всех позиций при достижении BasketTarget), false — индивидуальный тейк-профит для каждого ордера (TP_USD). |
| BasketTarget | Целевая общая прибыль в долларах (USD), при достижении которой все открытые позиции закрываются в режиме корзинного тейк-профита. Работает только при включённом параметре UseBasketTP. |
Поиск по коду файла
#property strict
extern double Lots = 0.01; // Обем на ордерите
extern double StepUSD = 5.0; // Стъпка между нивата (USD)
extern double TP_USD = 5.0; // Индивидуален TP (USD)
extern int LevelsAbove = 6; // Брой Buy Stop над цената
extern int LevelsBelow = 6; // Брой Buy Limit под цената
extern int Slippage = 30; // Слипидж
extern int MagicNumber = 888001; // Magic за разпознаване
extern bool UseBasketTP = false; // true = Basket TP, false = Individual TP
extern double BasketTarget = 20.0; // Целева обща печалба (USD)
int _digits;
double _point;
string TradeSymbol; // автоматично ще се задава
double NormalizePrice(double p){ return NormalizeDouble(p, _digits); }
bool IsMine(){ return (OrderMagicNumber()==MagicNumber && OrderSymbol()==TradeSymbol); }
bool PendingExists(double level, int type){
double tol = _point * 20;
for(int i=0;i<OrdersTotal();i++){
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if(IsMine() && OrderType()==type){
if(MathAbs(OrderOpenPrice()-level) <= tol) return true;
}
}
}
return false;
}
bool PlacePending(int type, double level){
double tp = 0.0;
if(!UseBasketTP){ // индивидуален TP
tp = NormalizePrice(level + TP_USD);
}
int ticket = OrderSend(TradeSymbol, type, Lots, level, Slippage, 0, tp,
"GridBUY", MagicNumber, 0,
(type==OP_BUYLIMIT)?clrGreen:clrBlue);
if(ticket<0){
Print("OrderSend error ", GetLastError(), " @", DoubleToString(level,_dПоказано первые 50% кода (символов: 2444)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.