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

overlay positive hedging v1a_.mq4

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

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

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

О программе

Overlay Positive Hedging V1A — торговый советник для MetaTrader 4, работающий с двумя валютными парами. Советник открывает противоположные позиции по двум парам (покупку одной и продажу другой), формируя хеджинговую структуру. Лот второго инструмента рассчитывается на основе отношения средних дневных диапазонов (ADR) двух пар, что позволяет адаптировать размер позиции к волатильности каждого инструмента.

Советник поддерживает два торговых варианта (Couple 1 и Couple 2) с разным направлением открытия позиций. Доступен механизм наращивания слоёв при достижении заданного отрицательного плавающего результата, а также два варианта фиксации убытка: по пипсам и в долларовом эквиваленте. Количество слоёв ограничивается параметром MaximumLayer.

В качестве идентификатора ордеров используется магический номер, что позволяет советнику управлять только своими сделками. Текущие параметры и состояние позиций отображаются в комментарии на графике.

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

НастройкаОписание
Basic_Setting Текстовый разделитель для группы базовых настроек.
Lot Базовый объём позиции (в лотах) для основной валютной пары.
LayerDistance Расстояние в пипсах, при достижении отрицательного плавающего результата которого добавляется новый слой позиции.
UseTakeProfitByPip Переключатель фиксации убытка по пипсам. При активации позиции закрываются при достижении значения TakeProfit.
TakeProfit Значение фиксации убытка в пипсах, при достижении которого закрываются позиции.
UseTakeProfitByUSD Переключатель фиксации убытка в долларах. При активации позиции закрываются при достижении значения TakeProfitInUSD.
TakeProfitInUSD Значение фиксации убытка в долларовом эквиваленте, при достижении которого закрываются позиции.
MaximumLayer Максимальное количество слоёв (открытых позиций) для каждой пары.
Pair_Setting Текстовый разделитель для группы настроек пар.
Pair1 Код первой валютной пары (например, GBPUSD).
Pair2 Код второй валютной пары (например, EURUSD).
Note1 Текстовая заметка, описывающая направление торговой пары для первого варианта.
Note2 Текстовая заметка, описывающая направление торговой пары для второго варианта.
TradeCouple1 Переключатель активности первой торговой пары (покупка Пара 1 / продажа Пара 2).
TradeCouple2 Переключатель активности второй торговой пары (покупка Пара 2 / продажа Пара 1).
ADR_Setting Текстовый разделитель для группы настроек ADR.
ADR_Day Количество дней для расчёта среднего дневного диапазона (ADR) каждой валютной пары.
UseManual_ADR_Ratio Переключатель, определяющий, используется ли вручную заданное отношение ADR или оно рассчитывается автоматически на основе исторических данных.
ADR_Ratio Ручное значение отношения ADR для расчёта лота второй пары. Используется, если переключатель UseManual_ADR_Ratio активен.
MagicNo Магический номер для идентификации ордеров, открытых советником.
Получить полный код

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

/*
   Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
   Website: 
   E-mail : p******m*@gmail.com
*/

extern string Basic_Setting = "----------------- Basic Setting -----------------";
extern double Lot = 0.1;
extern int LayerDistance = 100;
extern bool UseTakeProfitByPip = TRUE;
extern int TakeProfit = 80;
extern bool UseTakeProfitByUSD = FALSE;
extern double TakeProfitInUSD = 100.0;
extern int MaximumLayer = 5;
extern string Pair_Setting = "----------------- Pairs Setting -----------------";
extern string Pair1 = "GBPUSD";
extern string Pair2 = "EURUSD";
extern string Note1 = "Couple 1: Buy Pair1 Sell Pair2";
extern string Note2 = "Couple 2: Sell Pair1 Buy Pair2";
extern bool TradeCouple1 = TRUE;
extern bool TradeCouple2 = FALSE;
extern string ADR_Setting = "------------------ ADR Setting ------------------";
extern int ADR_Day = 365;
extern bool UseManual_ADR_Ratio = TRUE;
extern double ADR_Ratio = 0.8;
extern int MagicNo = 90000;
int gi_196;

int init() {
      // код доступен только после оплаты
   }

int deinit() {
   Comment("");
   return (0);
}

int start() {
      // код доступен только после оплаты
   }

int PostBuy(string as_0, string a_symbol_8, double a_lots_16, int ai_24, int a_magic_28) {
   string l_comment_44 = as_0 + " - Layer " + ai_24;
   RefreshRates();
   double l_price_36 = NormalizeDouble(MarketInfo(a_symbol_8, MODE_ASK), MarketInfo(a_symbol_8, MODE_DIGITS));
   int l_ticket_32 = OrderSend(a_symbol_8, OP_BUY, a_lots_16, l_price_36, 5, 0, 0, l_comment_44, a_magic_28, 0, Blue);
   if (l_ticket_32 > 0) {
      if (OrderSelect(l_ticket_32, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order #", OrderTicket(), " opened at ", OrderOpenPrice());
   } else Print("#1: Error opening BUY order; Error Code: ", GetLastError(), ": ", ErrorDescription(GetLastError()));
   return (l_ticket_32);
}

int PostSell(string as_0, string a_symbol_8, double a_lots_16, int ai_24, int a_magic_28) {
   string l_comment_44 = as_0 + " - Layer " + ai_24;
   RefreshRates();
   double l_price_36 = NormalizeDouble(MarketInfo(a_symbol_8, MODE_BID), MarketInfo(a_symbol_8, MODE_DIGITS));
   int l_ticket_32 = OrderSend(a_symbol_8, OP_SELL, a_lots_16, l_price_36, 5, 0, 0, l_comment_44, a_magic_28, 0, Red);
   if (l_ticket_32 > 0) {
      if (OrderSelect(l_ticket_32, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order #", OrderTicket(), " opened at ", OrderOpenPrice());
   } else Print("#2: Error opening SELL order, Error Code: ", GetLastError(), ": ", ErrorDescription(GetLastError()));
   return (l_ticket_32);
}

int GetLastLayerBuy(string a_symbol_0, int a_ticket_8, int a_magic_12) {
   string ls_16;
   int l_str2int_24;
   if (OrderSelect(a_ticket_8, SELECT_BY_TICKET) == TRUE) {
      if (OrderS

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

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

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

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

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

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

Стоимость полного кода
2 013,80₽ ≈ $24.61