mearichi (1)_5940281546685553607.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «mearichi (1)_5940281546685553607.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник предназначен для работы с инструментом XAUUSD и реализует стратегию сетки ордеров — размещение Buy Stop ордеров выше текущей цены и Buy Limit ордеров ниже неё с заданным шагом.
Советник поддерживает два режима управления тейк-профитами: индивидуальный TP для каждого ордера и Basket TP — суммарную целевую прибыль по всей корзине ордеров. При достижении целевой прибыли в режиме Basket TP все открытые позиции закрываются.
В качестве обработчиков событий используются OnInit при запуске и start (в MQL4 выполняет роль обработчика тиков), которые обеспечивают поддержание сетки и проверку условий закрытия. Функция OnTester в текущей реализации не содержит тестовой логики и возвращает нулевое значение.
Настройки программы
| Настройка | Описание |
|---|---|
| TradeSymbol | Символ инструмента, на котором работает советник. |
| Lots | Объём позиции в лотах для каждого размещаемого ордера. |
| StepUSD | Разница в USD между уровнями сетки ордеров. |
| TP_USD | Уровень прибыли в USD для индивидуального тейк-профита каждого ордера при отключённом Basket TP. |
| LevelsAbove | Количество Buy Stop ордеров, размещаемых выше текущей цены. |
| LevelsBelow | Количество Buy Limit ордеров, размещаемых ниже текущей цены. |
| Slippage | Допустимое отклонение цены при размещении ордеров и закрытии позиций. |
| MagicNumber | Идентификатор для распознавания ордеров, принадлежащих данному советнику. |
| UseBasketTP | true — суммарный TP по корзине ордеров, false — индивидуальный TP для каждого ордера. |
| BasketTarget | Целевая общая прибыль в USD для закрытия всех позиций при активном режиме Basket TP. |
Поиск по коду файла
#property version "1.00"
#property strict
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
// код доступен только после оплаты
}
double OnTester()
{
double ret=0.0;
return(ret);
}
#property strict
extern string TradeSymbol = "XAUUSD"; // Символ
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;
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,
Показано первые 50% кода (символов: 2553)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.