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

Gold Breakout Master EA

gold breakout.mq5
Вы автор или правообладатель?

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

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

О программе

Это торговый советник, разработанный для стратегии пробоя (breakout) на рынке золота. Он основан на определении зон поддержки и сопротивления на основе исторических данных. Советник анализирует ценовое движение относительно этих зон для поиска возможностей для входа в сделку.

Стратегия учитывает различные условия, включая подтверждение пробоя (требуется 1 или 2 бара), возможность входа после ретеста зоны, а также фильтры по объему и времени торгов. Управление рисками реализовано через настройку процента риска от капитала и использование фиксированных стоп-лоссов и тейк-профитов в точках.

Советник поддерживает функции трейлинг-стопа для защиты прибыли и имеет настройки для ограничения торговой активности в определенные сессии (например, Лондон и Нью-Йорк). Он также ограничивает количество сделок в течение одного дня.

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

НастройкаОписание
InpLookback Количество баров для расчета зоны (Lookback).
InpZoneBufferPoints Буфер зоны поддержки/сопротивления в пунктах.
InpConfirmBreakout Требуется ли подтверждение пробоя на двух барах.
InpRetestEnabled Включить ли вход в сделку после повторного касания пробитой зоны.
InpTakeProfitPoints Тейк-профит в пунктах.
InpStopLossPoints Стоп-лосс в пунктах.
InpUseTrailingStop Включить ли функцию трейлинг-стопа.
InpTrailTriggerPoints Порог прибыли, при достижении которого активируется трейлинг-стоп в пунктах.
InpTrailOffsetPoints Смещение трейлинг-стопа в пунктах.
InpRiskPercent Процент риска от капитала, используемый для расчета размера лота.
InpUseVolumeFilter Включить ли фильтр по объему торгов.
InpVolumeMultiplier Пороговое значение для фильтра по объему (множитель от среднего объема).
InpMaxTradesPerDay Максимальное количество сделок, разрешенное в течение дня.
InpTradeOnlyNyLondon Ограничить торговлю только сессиями Нью-Йорка и Лондона.
InpSessionStartHour Час начала торговой сессии по серверному времени.
InpSessionEndHour Час окончания торговой сессии по серверному времени.
InpMagicNumber Магическое число для идентификации советника.
Получить полный код

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

#property version   "1.01" // Version updated
#property description "Breakout strategy for Gold on M15 based on support/resistance zones."

#include <Trade\Trade.mqh>

input group           "Zone & Breakout Settings"
input int             InpLookback = 150;                          // Zone Lookback (bars)
input double          InpZoneBufferPoints = 300;                  // Zone Buffer (in Points)
input bool            InpConfirmBreakout = true;                  // Require 2-bar Breakout Confirmation
input bool            InpRetestEnabled = true;                    // Enable Retest Entry after Breakout

input group           "Risk Management"
input double          InpTakeProfitPoints = 4000;                 // Take Profit (in Points)
input double          InpStopLossPoints = 2000;                   // Stop Loss (in Points)
input bool            InpUseTrailingStop = true;                  // Enable Trailing Stop
input double          InpTrailTriggerPoints = 2000;               // Trail Start (in Points)
input double          InpTrailOffsetPoints = 1500;                // Trail Offset (in Points)
input double          InpRiskPercent = 1.0;                       // Lot Size Risk (% of Equity)

input group           "Trade Filters"
input bool            InpUseVolumeFilter = true;                  // Enable Volume Spike Filter
input double          InpVolumeMultiplier = 1.5;                  // Volume Spike Threshold (x Avg Vol)
input int             InpMaxTradesPerDay = 3;                     // Max Trades per Day
input bool            InpTradeOnlyNyLondon = true;                // Trade Only NY + London Sessions
input int             InpSessionStartHour = 7;                    // Session Start Hour (Server Time)
input int             InpSessionEndHour = 18;                     // Session End Hour (Server Time)

input group           "EA Settings"
input ulong           InpMagicNumber = 13579;                     // EA Magic Number

CTrade        trade;                                    // Trading object
int           h_resistance, h_support, h_avg_vol;       // Indicator handles
double        resistance_val, support_val, avg_vol_val; // Indicator values

bool          long_zone_broken = false;
bool          short_zone_broken = false;
int           trades_today = 0;
datetime      current_day_start = 0;

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

void OnDeinit(const int reason)
{

   IndicatorRelease(h_resistance);
   IndicatorRelease(h_support);
   IndicatorRelease(h_avg_vol);
}

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

void CheckForNewTrade()
{

   if(PositionSelect(_Symbol))
   {
      return;
   }

   double res_buffer[1], sup_buffer[1], vol_buffer[1];
   if(CopyBuffer(h_resistance, 0, 0, 1, res_buffer) <= 0 ||
      CopyBuffer(h_support, 0, 0, 1, sup_buffer) <= 0 ||
      CopyBuffer(h_avg_vol, 0, 1, 1, vol_buffer) <= 0)
   {
      printf("Error copying indicator buffers");
      return;
   }
   resistance_val = res_buffer[0];
   support_val = sup_buffer[0];
   avg_vol_val = vol_buffer[0];

   MqlRates rates[3];
   if(CopyRates(_Symbol, _Period, 0, 3, rates) < 3)
   {
      printf("Error copying rates");
      return;
   }

   double close1 = rates[2].close;
   double close2 = rates[1].close;
   double open1 = rates[2].open;
   MqlTick last_tick;
   SymbolInfoTick(_Symbol, last_tick);
   long current_volume = (long)rates[2].tick_volume;

   double res_top = resistance_val;
   double res_bot = resistance_val - (InpZoneBufferPoints * _Point);
   double sup_top = support_val + (InpZoneBufferPoints * _Point);
   do

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

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

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

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

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

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

Стоимость полного кода
718,20₽ ≈ $8.78