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

BreakdownLevelCandleMA

breakdownlevelcandlema.mq4

Похожие материалы по тегам

#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 1 общих теговsma crossover scalper ea for mt4.mq4MQL4 / MetaTrader 4 · 1 общих теговr15 pivot points expert advisor by @fundedmillionairess.mq4MQL4 / MetaTrader 4 · 1 общих теговnewstrader.mq5MQL5 / MetaTrader 5 · 1 общих теговmm3.0_flip_codepro_v3.1_with_cooldown@lifeindreamsworld.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

BreakdownLevelCandleMA — торговый советник для платформы MetaTrader 4 на языке MQL4. Советник анализирует ценовой уровень предыдущей свечи на выбранном таймфрейме и открывает позиции при пробое этого уровня с заданным смещением. Для фильтрации направления сделок используются скользящие средние, а также реализованы функции управления позициями: трейлинг-стоп, защита от безубыточности и массовое закрытие при достижении целевой прибыли.

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

НастройкаОписание
_ Информационный текст — Текстовая строка, отображающая соответствие таймфреймов их числовым значениям для справки пользователя.
????????? ?????, ??????? ????????? 0 ??????? ?? (TimeCandle) Таймфрейм свечи — Таймфрейм анализируемой свечи, на основе которой определяется уровень пробоя; значение 0 заменяется текущим периодом графика.
???????????? ?????? ??? risk = 0 (Lot) Размер лота — Фиксированный размер лота для открытия сделок; при ненулевом параметре risk размер рассчитывается автоматически.
???????????? ???-?? ??????? ?????? ??????????? (MaxOrders) Максимум ордеров — Максимальное количество одновременно открытых позиций одного направления, ограничивающее число сделок.
???? ???? (color_BAR) Цвет уровня — Цвет графического объекта прямоугольника, отображающего зону уровня пробоя на графике.
????????? ??? ?????? ??? ????????? ??????? (ProfitClose) Прибыль для закрытия — Суммарная прибыль в денежных единицах, при достижении которой все позиции закрываются автоматически.
?????? ?? ?? ???? Fast ? Slow = 0 ?? ??? ??????? (periodFastMA) Период быстрой MA — Период быстрой скользящей средней, используемой для подтверждения направления тренда при открытии сделок.
???? Fast > Slow ?? ????????? ?????? Buy ????? ?????? Sell (periodSlowMA) Период медленной MA — Период медленной скользящей средней; при условии Fast > Slow сделки открываются только на покупку, при Fast < Slow — только на продажу.
Получить полный код

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

extern string  _="M15 15 | M30 30 | H1 60 | H4 240 | D1 1440 | W1 10080 | MN1 43200";
extern int    TimeCandle   = 240;      //????????? ?????, ??????? ????????? 0 ??????? ??
extern int    Delta        = 10,       //???? ??? ???? ??????????? ???
              SL           = 120,      //???????? ? ???????
              TP           = 90,       //?????????? ? ???????
              risk         = 0,        //???? 0 ?? ?? ?????????????? ????
              NoLoss       = 0,        //???? 0 ?? ??? ????????? ?????????
              trailing     = 0;        //???? 0 ?? ??? ?????????
extern double Lot          = 0.10;     //???????????? ?????? ??? risk = 0
extern int    MaxOrders    = 10;       //???????????? ???-?? ??????? ?????? ???????????
extern color  color_BAR    = DarkBlue; //???? ????
extern double ProfitClose  = 100;      //????????? ??? ?????? ??? ????????? ???????

extern string  ??????..??="???? FastMA ???? SlowMA ?? ?????? Buy";
extern int     periodFastMA         = 0 ;     //?????? ?? ?? ???? Fast ? Slow = 0 ?? ??? ???????
extern int     periodSlowMA         = 0 ;     //???? Fast > Slow ?? ????????? ?????? Buy ????? ?????? Sell

double        MaxPrice,MinPrice;
int           STOPLEVEL,magic=123321,tip,TimeBarBay,TimeBarSell,LastDay;
string txt;

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

int start()
{
      // код доступен только после оплаты
   }
   double Profit;
   if (Profit>=ProfitClose) CLOSEORDER();

   int bay,sel;
   for (int i=0; i<OrdersTotal(); i++)
   {  if (OrderSelect(i, SELECT_BY_POS))
      {  
         if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic) continue;
         tip=OrderType();
         if (tip==0) {bay++; Profit+=OrderProfit();}
         if (tip==1) {sel++; Profit+=OrderProfit();}
      }   
   }
   Comment(txt,"\n?????? ",DoubleToStr(AccountBalance(),2),"\n?????? ",DoubleToStr(AccountEquity(),2),"\n?????? ",DoubleToStr(Profit,2),"\nBuy ",bay,"\nSel ",sel);
   if (bay>0 || sel>0) 
   {
      if (trailing!=0) TrailingStop(trailing);
      if (NoLoss!=0) No_Loss(NoLoss);
   }
   bool BUYOK=true,SELLOK=true;
   if ( periodFastMA!=0 && periodSlowMA!=0 )
   {
      double FastMA = iMA(NULL,0,periodFastMA,0,MODE_EMA,PRICE_OPEN,0);
      double SlowMA = iMA(NULL,0,periodSlowMA,0,MODE_EMA,PRICE_OPEN,0);
      BUYOK = (FastMA>SlowMA);
      SELLOK = (FastMA<SlowMA);
   }
   double TrPr,StLo;
   MaxPrice=NormalizeDouble(iHigh(NULL,TimeCandle,1)+Delta*Point,Digits);
   MinPrice=NormalizeDouble(iLow(NULL,TimeCandle,1)-Delta*Point,Digits);
   if (risk!=0) Lot = LOT(); 
   if (bay<MaxOrders && TimeBarBay!=iTime(NULL,TimeCandle,0) && BUYOK && Ask>=MaxPrice)
   {
      if (TP!=0) TrPr = NormalizeDouble(MaxPrice + TP * Point,Digits);                 
      if (SL!=0) StLo = NormalizeDouble(MaxPrice - SL * Point,Digits);                 
      if (!OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),3,StLo,TrPr,"BreakdownLevelCandleMA",magic,0,Blue))
         Print("Error BUYSTOP ",GetLastError(),"   ",Symbol(),"   Lot ",Lot,"   Price ",MaxPrice,"   SL ",StLo,"   TP ",TrPr);
      else TimeBarBay=iTime(NULL,TimeCandle,0);
   }
   if (sel<MaxOrders && TimeBarSell!=iTime(NULL,TimeCandle,0) && SELLOK && Bid<=MinPrice)
   {
      if (TP!=0) TrPr = NormalizeDouble(MinPrice - TP * Point,Digits);                 
      if (SL!=0) StLo = NormalizeDouble(MinPrice + SL * Point,Digits);   
      if (!OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),3,StLo,TrPr,"BreakdownLevelCandleMA",magic,0,Red ))
         Print("Error SELLSTOP ",GetLastError(),"   ",Symbol(),"   Lot ",Lot,"   Price ",MinPrice,"   SL ",StLo,"   TP ",TrPr);
      else TimeBarSell=iTime(NULL,TimeCandle,0);
   }
   if (bay<MaxOrders && sel<MaxOrders)
   {
      ObjectDelete("bar0");
      ObjectCreate("bar0", OBJ_RECTANGLE, 0, 0,0, 0,0);
      ObjectSet   ("bar0", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet   ("bar0", OBJPR

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

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

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

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

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

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

Стоимость полного кода
640,40₽ ≈ $7.83