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

Sweet_Spot_Extreme

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

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

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

О программе

Sweet_Spot_Extreme — торговый советник для MetaTrader 4, использующий индикатор CCI и скользящие средние EMA для анализа ценовых данных и автоматического открытия позиций. Советник рассчитывает оптимальный объём сделки с учётом риска и истории убытков, а также управляет закрытием позиций по заданным условиям.

Продукт работает на платформе MetaTrader 4 в среде MQL4. Обработка событий происходит через обработчик start(), характерный для советников MQL4. Торговые операции выполняются с использованием стандартных функций OrderSend и OrderClose.

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

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

НастройкаОписание
MAGIC_NUMBER Магический номер — Магический номер для идентификации позиций, открытых данным советником.
MaxTradesPerSymbol Максимальное число сделок на символ — Максимальное количество одновременных сделок на один торговый символ.
Slippage Допустимое проскальзывание — Допустимое отклонение цены исполнения от запрашиваемой цены.
Lots Начальный объём сделки — Начальный объём сделки, используемый при расчёте оптимального лота.
MaximumRisk Максимальный риск — Доля риска от свободного маржинального баланса, используемая при расчёте объёма сделки.
DecreaseFactor Коэффициент уменьшения лота — Коэффициент уменьшения лота при наличии серии убыточных сделок в истории.
Stop Стоп-лосс в пунктах — Стоп-лосс в пунктах для открытых позиций.
MAPeriod Период скользящей средней тренда — Период экспоненциальной скользящей средней, используемой для определения тренда.
CloseMa Период скользящей средней закрытия — Период скользящей средней, используемой для определения текущего состояния цены закрытия.
MinLot Минимальный лот — Минимально допустимый объём сделки.
buyccilevel Порог CCI для покупки — Пороговое значение CCI для открытия покупательской позиции.
sellccilevel Порог CCI для продажи — Пороговое значение CCI для открытия продавательской позиции.
price Смещение цены для CCI — Смещение цены, используемое при расчёте индикатора CCI.
Получить полный код

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

extern int    MAGIC_NUMBER       =  613;
extern int    MaxTradesPerSymbol =    3;
extern int    Slippage           =    2;
extern double Lots               =    1.00;
extern double MaximumRisk        =    0.05;
extern double DecreaseFactor     =    6;
extern double Stop               =   10;
extern double MAPeriod           =   85;
extern double CloseMa            =   70;
extern double MinLot             =    0.1;

extern double buyccilevel        = -200.00;
extern double sellccilevel       =  200.00;
extern int price                 =    0;
int init(){
      // код доступен только после оплаты
   }

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

 double Alpha = iCCI(NULL, 30, 12, price, 0);  // links to 30 minutes chart

 double MA = iMA(NULL,15,MAPeriod,0,MODE_EMA,PRICE_MEDIAN,1); // Links to 15 minutes chart for shorttearm accuracy
 double MAprevious = iMA(NULL,15,MAPeriod,0,MODE_EMA,PRICE_MEDIAN,2); // Links to 15 minutes chart for shorttearm accuracy

 double MAClose0 = iMA(NULL,15,CloseMa,0,MODE_EMA,PRICE_MEDIAN,0); // Links to 15 minutes chart for shorttearm accuracy
 double MAClose1 = iMA(NULL,15,CloseMa,0,MODE_EMA,PRICE_MEDIAN,1); // Links to 15 minutes chart for shorttearm accuracy

  int trades = 0;
  for(int cnt1 = 0; cnt1 < OrdersTotal(); cnt1++){
   if(!OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES)) continue;
   if(OrderMagicNumber() != MAGIC_NUMBER) continue;

   if(StringFind(OrderSymbol(), Symbol(), 0) != -1) {

    Print("symbol "+Symbol());
    trades++;
    if(cnt1 == OrdersTotal()-1) Print("Trades: "+trades);
   }
  }

   if(AccountFreeMargin()<(100*Lots)){
    Print("We have no money. Free Margin = ", AccountFreeMargin());
    return(0);  
   }

  if(trades < MaxTradesPerSymbol){  

   if(AccountFreeMargin()<(100*Lots)){
    Print("We have no money. Free Margin = ", AccountFreeMargin());
    return(0);  
   }

   int ticket = -10;

   if((MA>MAprevious) && (MAClose0 > MAClose1)&&(Alpha < buyccilevel))
    ticket=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask, Slippage,0,0,"Sweet_Spot_Extreme", MAGIC_NUMBER,0,Aqua);

   if((MA<MAprevious) && (MAClose0 < MAClose1) && (Alpha > sellccilevel) )
    ticket=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid, Slippage, 0,0,"Sweet_Spot_Extreme", MAGIC_NUMBER,0,Coral);         

  }

 for(int cnt=0;

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

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

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

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

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

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

Стоимость полного кода
339,10₽ ≈ $4.14