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

icwr ea.mq4

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

ares_indicator.pineTradingView · 1 общих теговgold_trend_revers.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 1 общих тегов! cycle-identifier.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 1 общих теговprecisionflowea.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный исходный код представляет собой торгового советника для платформы MetaTrader 4, написанный на языке MQL4. Советник использует индикатор RSI с периодом 1440 и пользовательский индикатор ICWR для анализа ценовых данных, а также считывает графический объект Activewave для определения активного волнового диапазона. На основе комбинации этих данных и уровней ретрейсмента советник принимает решения о открытии и закрытии позиций в-buy и sell. Размер лота рассчитывается исходя из свободного маржи счёта, заданного процента риска и параметра маржи на лот, с последующим уменьшением при серии убыточных сделок.

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

НастройкаОписание
%account balance to risk per position (MaximumRisk) Максимальный риск — Процент свободного капитала счёта, рискуемый на одну позицию
lot size divisor(reducer) during loss streak (DecreaseFactor) Фактор уменьшения — Делитель, на который уменьшается размер лота при серии убыточных сделок
Magic Магический номер — Уникальный номер для идентификации ордеров, открытых данным советником
comment Комментарий — Текст комментария, добавляемый к названию тикета при открытии ордера
Получить полный код

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

extern double     MaximumRisk       =0.02;   //%account balance to risk per position
extern double     DecreaseFactor    =3;      //lot size divisor(reducer) during loss streak
extern double     Lot.Margin        =50;     //Margin for 1 lot   

extern int        Magic             =69;
extern string     comment           ="m icwr ea";

double   spread;  spread      =Ask-Bid;
int      slip;    slip        =spread/Point;

int RequiredWaveHeight,b,s,cnt,b.ticket,s.ticket;
double rsi,SL,ICWR,ICWRv0,awp1,awp2,active.high,active.low,high.c,high.r,low.r,low.c;
datetime awt1,awt2,a.high.shift,a.low.shift,shift;

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

   PosCounter();  
   rsi=iRSI(Symbol(),1440,14,PRICE_CLOSE,0);

   if(Period()==5) {RequiredWaveHeight=40;SL=50*Point;} 
   if(Period()==240) {RequiredWaveHeight=150;SL=100*Point;}
   ICWR=iCustom(Symbol(),Period(),"ICWR",10,5,3,RequiredWaveHeight,0,0);
   ICWRv0=iCustom(Symbol(),Period(),"ICWR v0","ZigZag",10,5,3,"ActiveWave",50,RequiredWaveHeight,0,0);

   awt1=ObjectGet("Activewave",OBJPROP_TIME1);
   awp1=ObjectGet("Activewave",OBJPROP_PRICE1);
   awt2=ObjectGet("Activewave",OBJPROP_TIME2);
   awp2=ObjectGet("Activewave",OBJPROP_PRICE2);

   if(awp1>awp2)  {
      active.high=awp1;
      a.high.shift=iBarShift(Symbol(),Period(),awt1);
      active.low=awp2;
      a.low.shift=iBarShift(Symbol(),Period(),awt2);}
   else  {
      active.high=awp2;
      a.high.shift=iBarShift(Symbol(),Period(),awt2);
      active.low=awp1;
      a.low.shift=iBarShift(Symbol(),Period(),awt1);}

   if(a.high.shift<a.low.shift) shift=a.high.shift;
   else shift=a.low.shift;

   high.c=NormalizeDouble(active.low+((active.high-active.low)*0.75),Digits);
   high.r=NormalizeDouble(active.low+((active.high-active.low)*0.618),Digits);
   low.r=NormalizeDouble(active.low+((active.high-active.low)*0.382),Digits);
   low.c=NormalizeDouble(active.low+((active.high-active.low)*0.25),Digits);

   if(rsi>50)  {
      for(int i=0;i<shift;i++)   {
         if(Close[i]<high.r && Close[i]>low.r && Low[1]>high.c && b==0) {
            b.ticket=OrderSend(Symbol(),
                              OP_BUY,
                              LotsOptimized(),
                              Ask,
                              slip,
                              Ask-SL,
                              0,
                              Period()+comment,
                              Magic,0,Blue);
                              if(b.ticket>0)   {
                                 if(OrderSelect(b.ticket,SELECT_BY_TICKET,MODE_TRADES))
                                       {   Print(b.ticket);   }
                                 else Print("Error Opening BuyStop Order: ",GetLastError());
                              return(0);}}}}

   if(rsi<50 && rsi>0)  {
      for(int ii=0;ii<shift;ii++)   {
         

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

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

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

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

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

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

Стоимость полного кода
393,50₽ ≈ $4.81