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

traffic_light_strategy.mq4

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

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

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

О программе

Данный продукт представляет собой торгового советника для платформы MetaTrader 4, написанный на языке MQL4. Советник анализирует ценовые данные с помощью нескольких скользящих средних (iMA) с различными периодами и методами расчёта, формируя сигналы для открытия и закрытия торговых позиций.

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

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

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

НастройкаОписание
s1 s1 — Групповой заголовок для параметров управления риском и параметрами ордеров
????? ???? MM (MM_Lots) MM_Lots — Фиксированный размер лота при торговле
0 MM ???????? 1 ??????? (MM_Mode) MM_Mode — Режим расчёта лота: фиксированный размер или на основе процента риска от баланса
???????? ??????? 0/1/2 ?????? ????? ??????? (LotsDecimal) LotsDecimal — Количество знаков после запятой при расчёте размера лота
???? ?? ?????? (RiskPercent) RiskPercent — Процент риска от баланса счёта, используемый для расчёта размера лота в режиме MM_Mode = 1
?????????? ????? (MagicNumber) MagicNumber — Магический номер для идентификации ордеров, созданных советником
s2 s2 — Групповой заголовок для параметров торговли
????? ???????? 0 ?????????????? 1 ??????????? (StyleTrade) StyleTrade — Стиль торговли, определяющий способ формирования условий входа в позицию
???????? ??????? 0 ??????? ??? 1 ????? ??? (TimeOpenBar) TimeOpenBar — Флаг ограничения открытия ордеров: 0 — открытие разрешено в любое время, 1 — только в определённый бар
?????????? ? ??????? (TakeProfit) TakeProfit — Уровень тейк-профита для ордеров
???????? ? ??????? (StopLoss) StopLoss — Уровень стоп-лосса для ордеров
???????? ??????? ?? iMA 1 ???. (CloseProfit) CloseProfit — Условие закрытия позиции на основе сравнения значений индикатора iMA
???????? ??????? 1 ????? ??? 0 ??????? ??? (TimeCloseBar) TimeCloseBar — Флаг ограничения закрытия ордеров: 0 — закрытие разрешено в любое время, 1 — только в определённый бар
s3 s3 — Групповой заголовок для параметров индикаторов сигналов
??????? iMA (RedMA) RedMA — Период красной скользящей средней iMA, используемой в качестве одного из сигналов для торговых решений
?????? iMA (YellowMA) YellowMA — Период жёлтой скользящей средней iMA, используемой в качестве одного из сигналов для торговых решений
??????? iMA (GreenMA) GreenMA — Период зелёной скользящей средней iMA, используемой в качестве одного из сигналов для торговых решений
????? iMA (BlueMA) BlueMA — Период синей скользящей средней iMA, используемой в качестве одного из сигналов для торговых решений
Получить полный код

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

#property version   "1.0"
#property strict

extern string s1="Risk MM and parameters orders";
extern double      MM_Lots            = 0.1;    // ????? ???? MM
extern int         MM_Mode            = 1;      // 0 MM ???????? 1 ??????? 
extern int         LotsDecimal        = 1;      // ???????? ??????? 0/1/2 ?????? ????? ???????
extern double      RiskPercent        = 1;      // ???? ?? ??????
extern int         MagicNumber        = 134201; // ?????????? ????? 

extern string s2="Trading options";
extern int         StyleTrade         = 0;      // ????? ???????? 0 ?????????????? 1 ???????????
extern int         TimeOpenBar        = 0;      // ???????? ??????? 0 ??????? ??? 1 ????? ??? 
extern double      TakeProfit         = 120;    // ?????????? ? ???????
extern double      StopLoss           = 60;     // ???????? ? ???????
extern int         CloseProfit        = 1;      // ???????? ??????? ?? iMA 1 ???. 
extern int         TimeCloseBar       = 1;      // ???????? ??????? 1 ????? ??? 0 ??????? ???

extern string s3="Signals Indicators";
extern int         RedMA              = 120;    // ??????? iMA
extern int         YellowMA           = 55;     // ?????? iMA
extern int         GreenMA            = 5;      // ??????? iMA
extern int         BlueMA             = 24;     // ????? iMA

bool Sg_IMA_Buy=False,Sg_IMA_Sell=False;
bool OrderBuy=False,OrderSell=False;
bool Sg_Init=False;
bool TradeBuy,TradeSell;

double Lots,MaxLots,MinLots;
double PunktSize;

int Slip=3.0;
int total,ticket,Order_id;
datetime TimeNewOpenBar=0,TimeNewCloseBar=0;

string s="Traffic light_m00012 capsule : ";

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

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

   double TP=0;
   double SL=0;
   double Spread=MarketInfo(Symbol(),MODE_SPREAD)*Point;
   double StopLevel=MarketInfo(Symbol(),MODE_STOPLEVEL);

   double SignalBlueiMAHigh=iMA(Symbol(),NULL,BlueMA,0,MODE_EMA,PRICE_HIGH,0);
   double SignalBlueiMALow=iMA(Symbol(),NULL,BlueMA,0,MODE_EMA,PRICE_LOW,0);
   double SignalYellowiMA=iMA(Symbol(),NULL,YellowMA,0,MODE_SMA,PRICE_CLOSE,0);
   double SignalRediMA=iMA(Symbol(),NULL,RedMA,0,MODE_SMA,PRICE_CLOSE,0);
   double SignalGreeniMA=iMA(Symbol(),NULL,GreenMA,0,MODE_EMA,PRICE_CLOSE,0);

   TradeBuy=False;
   TradeSell=False;

   total=CountTrades();

   if(total==0)
     {

      if(StyleTrade == 0 && Bid < SignalRediMA && Bid > SignalYellowiMA) Sg_Init=TRUE;
      if(StyleTrade == 0 && Bid < SignalYellowiMA && Bid > SignalRediMA) Sg_Init=TRUE;
      if(StyleTrade!=0 && Bid<SignalBlueiMAHigh && Bid>SignalBlueiMALow) Sg_Init=TRUE;
     }

   if(Sg_Init)
     {
      if(MM_Mode==0 || StopLoss==0) Lots=MM_Lots;
      else
        {
         Lots=NormalizeDouble((AccountBalance()*RiskPercent/100.0)/(PunktSize*StopLoss),LotsDecimal);
         if(Lots < MinLots) Lots = MinLots;
         if(Lots > MaxLots) Lots = MaxLots;
        }
     }

   if(total==0)
     {

      if(TakeProfit==0 && StopLoss==0 && CloseProfit==0) return;

      if(SignalGreeniMA>SignalBlueiMAHigh && S

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

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

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

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

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

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

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