# Доработка ботов (советников, индикаторов)

Раздел: Язык программирования MQL4
Автор темы: machzelet
Создана: 2010-02-26 20:00
Ответов: 12060 | Просмотров: 1841774
Страница 194 из 604
Источник: https://forexsystemru.com/threads/61956/page-194

---

## HeadbaY — 2013-01-14 14:36

Кто нибудь может доработать сову, что бы она открывала сделки не на открытии 4 свечи после сигнала, а на первой(тоесть сразу после поступления сигнала)?

Или в таком видео, подскажите что поменять?

//+------------------------------------------------------------------+
//|                                                    StudySEFC.mq4 |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""

extern int     SEFCPeriod      = 32;    //Period for SEFC088 indicator
extern int     StopLoss        = 9999;  //Stop in points
extern int     TakeProfit      = 9999;  //Target in points
extern int     HourFrom        = 0;     //Start trade time filter
extern int     HourTo          = 23;    //End trade time filter

extern double  Lots            = 0.01;  
extern int     Slippage        = 2;  
extern int     MagicNumber     = 101;

int Signal()
  {
   int Result=-1;
   double sefcLime=iCustom(NULL,0,"SEFC088",SEFCPeriod,1,2);
   double sefcRed =iCustom(NULL,0,"SEFC088",SEFCPeriod,2,2);
   if(sefcLime!=0)
      Result=OP_BUY;
   else
   if(sefcRed!=0)
      Result=OP_SELL;
   return(Result);
  }

int EntrySignal()
  {//Check for buy/sell conditions
   int Result=Signal();
   return(Result);
  }

int ExitSignal()
  {//Check for exit conditions
   int Result=-1;
   int st=Signal();
   if(st==OP_BUY)
      Result=OP_SELL;
   else    
   if(st==OP_SELL)
      Result=OP_BUY;
   return(Result);
  }
  
bool IsTradeTime()
  {//Trade time filter
   bool Result=false;
   if((HourFrom<=HourTo && Hour()>=HourFrom && Hour()<=HourTo) ||
      (HourFrom>HourTo && (Hour()>=HourFrom || Hour()<=HourTo)))
      Result=true;
   return(Result);
  }  

int init()
  {
   Print("Initialization with spread: ",DoubleToStr(Ask-Bid,Digits));
   return(0);
  }

int deinit()
  {
   Print("Deinitialization with spread: ",DoubleToStr(Ask-Bid,Digits));
   return(0);
  }

int start()
  {
  if (Digits < 4) 
    { double pp = 0.01; double pm = 1;}     
    else 
    { pp = 0.0001;pm = 10;}
   static int LastTradeTime=0;
   int    i;
   int    PosCount=0;

   //Trade only on trade time
   if(!IsTradeTime())
     {
      Comment("\nNo trading time with spread: ",DoubleToStr(Ask-Bid,Digits));
      return(0);
     }
   else
      Comment("\nTrading time with spread: ",DoubleToStr(Ask-Bid,Digits));

   //Check for close
   for(i=OrdersTotal()-1; i>=0; i--) 
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
         if((OrderSymbol() == Symbol()) && (OrderMagicNumber() == MagicNumber))
           {
            PosCount=PosCount+1;
            if(ExitSignal()==OrderType())
               if(OrderType()==OP_BUY)
                 {
                  if(OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid,Digits), Slippage, Blue))
                     PosCount=PosCount-1;
                 } 
               else
               if(OrderType()==OP_SELL)
                 {
                  if(OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask,Digits), Slippage, Red))
                     PosCount=PosCount-1;
                 }
           }

   //Check for open
   if(PosCount==0 && LastTradeTime!=iTime(NULL,0,1))
     {
      if(EntrySignal()==OP_BUY)
        {
         if(0<=OrderSend(Symbol(), OP_BUY, Lots, NormalizeDouble(Ask,Digits), Slippage,0, 0, "", MagicNumber,0,Blue))
            LastTradeTime=iTime(NULL,0,1);
        } 
      else
      if(EntrySignal()==OP_SELL)
        {
         if(0<=OrderSend(Symbol(), OP_SELL, Lots, NormalizeDouble(Bid,Digits), Slippage, 0, 0, "", MagicNumber,0,Red))
            LastTradeTime=iTime(NULL,0,1);
        } 
     }
    double min_rast=MarketInfo(Symbol(),MODE_STOPLEVEL)/pm;
int nnb=0;bool mb=false;int nns=0;bool ms=false;

for( int j=0; j<OrdersTotal(); j++) 
  {
  if(OrderSelect(j, SELECT_BY_POS))
    { 
   if( OrderSymbol() ==  Symbol()&&OrderMagicNumber( )== MagicNumber)
      
    { 
      if(StopLoss<min_rast&&StopLoss!=0 ){Alert("увеличьте StopLoss");Sleep(10000);return(0);}
      
      if(TakeProfit<min_rast&&TakeProfit!=0 ){Alert("увеличьте TakeProfit");Sleep(10000);return(0);}
     if(OrderType() == OP_BUY) 
      { //вычисляем стоплосс и такепрофит

       if((OrderStopLoss( )==0&&StopLoss!=0 )||(OrderTakeProfit( )==0&&TakeProfit!=0) ) 
        {double SLb=NormalizeDouble( OrderOpenPrice( )-StopLoss*pp,Digits);
         if(StopLoss==0)SLb=OrderStopLoss( ) ;
         double TPb=NormalizeDouble( OrderOpenPrice( )+ TakeProfit*pp,Digits);
         if(TakeProfit==0)TPb=OrderTakeProfit( ) ;
        while ( nnb < 5) {
         mb=OrderModify(OrderTicket(), 0,SLb, TPb,Blue) ;
         nnb++;
         if(mb==true)break;
         Sleep(1000);
        }  
        }        
       } 
     if(OrderType() == OP_SELL) 
       { 
        if((OrderStopLoss( )==0&&StopLoss!=0 )||(OrderTakeProfit( )==0&&TakeProfit!=0) ) 
          { double SLs=NormalizeDouble( OrderOpenPrice( )+StopLoss*pp,Digits);
       if(StopLoss==0)SLs=OrderStopLoss( ) ;
         double TPs=NormalizeDouble( OrderOpenPrice( )- TakeProfit*pp,Digits);
         if(TakeProfit==0)TPs=OrderTakeProfit( ) ;
          while ( nns < 5) {
           ms= OrderModify(OrderTicket(), 0, SLs,TPs,0) ;
            nns++;
            if(ms==true)break;
            Sleep(1000);
          }
          }
        }  
     }      
   }  
}

   return(0);
  }
//+------------------------------------------------------------------+

Заранее спасибо.

## eevviill — 2013-01-14 15:00

> Цитата (HeadbaY):
> Кто нибудь может доработать сову, что бы она открывала сделки не на открытии 4 свечи после сигнала, а на первой(тоесть сразу после поступления сигнала)?
> ...

.

## Denver74 — 2013-01-14 15:22

> Цитата (eevviill):
> .

Евиил, спасибо большое!! Красавчик:-)

## gordeev78 — 2013-01-14 17:07

Господа.как вам shok  bur 1.1?кто может настроить на 30 долларов.заранее спасибо

## стасс — 2013-01-14 18:25

Здравствуйте. Ребята я скачал индикатор он почему то не ставиться , кто сможет посмотрите .
mzz.mq4 _http://rghost.ru/43025856

## поручик — 2013-01-14 21:57

> Цитата (стасс):
> индикатор он почему то не ставит**ься**
> mzz.mq4 _http://rghost.ru/43025856

Ставится, просто вешает терминал

Для расчета ему нужен - ZigZag_Rosh

А вообще индикатор 2007 г.

Есть и поновее и получше
Тот же MZZ4 или MZZ9 Nen/а

На рис. твой индик

## jetix — 2013-01-14 23:04

> Цитата (Ермек):
> Внимание уважаемые трейдеры ! Кто помнит и знает который давно уже про этого говорили ! И много кто искал этого индюка  Unique Forex Indicator #2 . Но к сожалению пока не нашли ! Но ! Нашел похожую на него ! Не спорю были у Меня еще штук 3 индюка похоже на него , но не те результаты они показывали ! Нашел еще один такой же и к счастью показывает такие же результаты .  Индюк не переписывается и некоторых Дц он не работает почему то )). И данный момент он у Меня работает на Forexclub терминале )). А стратегию думаю все знаю вход по цветам индюка . И про параметрах ( там параметр только 1-н. под ТФ ставим 60 или 240 или 1440 )
>
> видео

Ребят а прикрутите пищалку когда меняет цвет, если несложно! 
Заранее огромное спасибо!

## 77павел — 2013-01-15 00:26

Здравствуйте уважаемые программисты!! с просьбой  сделайте индюка фибо секи с веерами как на скрине честно не встречал такова ни где нужно так что бы зафиксировав его на 4ч я мог перекрутить на 15м и работать 2 сеткой добавляя и убирая веер когда на да  желательно чтобы была возможность добавлять нужные уровни  а если коррекционные уровни можно было б сделать цветными вообще класс!!сколько ищу такой нет нигде !!:-(удобная вещь развороты ловить

## Denver74 — 2013-01-15 05:59

Евиил посмотри пожалуйста эту сову. она в каких то случаях глючит и не выставляет тп и стоп. можешь подправить. заранее спасибо.

## DIMMKKA — 2013-01-15 06:41

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

## eevviill — 2013-01-15 11:01

> Цитата (DIMMKKA):
> eevviill вот выкладываю советника про который я говорил.
> Суть дела такова, данный советник привязан к индикатору МА, если цена находится ниже МА, то он открывает ордера бай, если выше, то  селл, так вот мне бы хотелось, что бы он выполнял данные операции наоборот. Заранее спасибо.

.

## DIMMKKA — 2013-01-15 11:17

> Цитата (eevviill):
> .

огромное человеческое тебе спасибо :-)
дома потестю посмотрю как это насекомое будет работать

## fxfxfxfx — 2013-01-15 14:33

eevviill дружище ты мог-бы применить свое умение в кодинге для написания простейшего сова который открывает ордера при пробитии **пивот уровня ДНЯ**-можно отложками а можно и рыночными(если рыночными то модификация стопов происходила что бы после открытия ордера)
в принципе все
спасибо
можно пользовать индюка во вложении

## eevviill — 2013-01-15 14:51

> Цитата (fxfxfxfx):
> eevviill дружище ты мог-бы применить свое умение в кодинге для написания простейшего сова который открывает ордера при пробитии **пивот уровня ДНЯ**-можно отложками а можно и рыночными(если рыночными то модификация стопов происходила что бы после открытия ордера)
> в принципе все
> спасибо
> можно пользовать индюка во вложении

http://strategy4you.ru/strategii-s-indikatorami-foreks/daily-pivot.html

## fxfxfxfx — 2013-01-15 15:08

> Цитата (eevviill):
> http://strategy4you.ru/strategii-s-indikatorami-foreks/daily-pivot.html

не то
мне надо именно пивот уровень  ДНЯ пробивало а там  цена  открывает после пробития днюхи

## DIMMKKA — 2013-01-15 15:15

eevviill протестировал я тот советник который ты подправил, ордера открывает правильно как я и хотел, только он теперь их открывает огромное количество, за раз открывает по 80 ордеров без ТП, меняю шаг и ТП, но он на это не реагирует, все равно плодит ордера в огромном количестве

## eevviill — 2013-01-15 15:19

> Цитата (fxfxfxfx):
> не то
> мне надо именно пивот уровень  ДНЯ пробивало а там  цена  открывает после пробития днюхи

И какая разница?

## eevviill — 2013-01-15 15:27

> Цитата (DIMMKKA):
> eevviill протестировал я тот советник который ты подправил, ордера открывает правильно как я и хотел, только он теперь их открывает огромное количество, за раз открывает по 80 ордеров без ТП, меняю шаг и ТП, но он на это не реагирует, все равно плодит ордера в огромном количестве

Если так не будет работать, то я не смогу больше помочь.

## fxfxfxfx — 2013-01-15 15:32

> Цитата (eevviill):
> И какая разница?

есть разница
цена уже выдыхаеться если по той стратеге работать а вот через пивот Днюхи  цена чаще бегает-небольшой тейкпрофит прооптить думаю будет дело

## eevviill — 2013-01-15 15:37

> Цитата (fxfxfxfx):
> есть разница
> цена уже выдыхаеться если по той стратеге работать а вот через пивот Днюхи  цена чаще бегает-небольшой тейкпрофит прооптить думаю будет дело

ты что прикалываешся? Там советник по твоему индикатору!

---

Следующая страница: https://forexsystemru.com/threads/61956/page-195
