Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 331

 
Sepulca:

Начнем с главного, не совсем грамотно перебирать ордера с нулевого. Лучше с последнего

Чтобы не возникало ситуации, когда нулевой по счету закрыли/удалили а там ещё ордера есть. всё переколбасилось. Когда действуете с последним по счёту ничего страшного не происходит.

Народ наверное не глядя использует функции Игоря Кима.
 

Люди помогите, пожалуйста....

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

привязки к таймфреймам нету, уже и терминал переустановил, но все никак непойму в чем проблема, подскажите пожалуйста в чем ошибка.

Файлы:
test3v2.mq4  4 kb
 
clubsmi:

Люди помогите, пожалуйста....

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

привязки к таймфреймам нету, уже и терминал переустановил, но все никак непойму в чем проблема, подскажите пожалуйста в чем ошибка.


Много баров считать вынужден, а то и котировок в истории нет по всем инструментам, вот и лаги; терминал-то тут при чём? Попробуйте ограничить глубину отрисовки, до 1000 баров, скажем.
 
evillive:

Много баров считать вынужден, а то и котировок в истории нет по всем инструментам, вот и лаги; терминал-то тут при чём? Попробуйте ограничить глубину отрисовки, до 1000 баров, скажем.

Спасибо большое Вам за подсказку... все устранил. еще раз спасибо!
 
Всем привет! При наступлении определенного условия советник открывает сделку и соответственно закрывает ее по Тейку или Стоп лоссу. На этом все, больше советник сделок не открывает, несмотря на то, что выполняются условия открытия сделок. Подскажите, в чем причина? Заранее благодарен.
 
alexey1979621:
Всем привет! При наступлении определенного условия советник открывает сделку и соответственно закрывает ее по Тейку или Стоп лоссу. На этом все, больше советник сделок не открывает, несмотря на то, что выполняются условия открытия сделок. Подскажите, в чем причина? Заранее благодарен.
Без исходников - к телепатам...
 

Нужен сов сеточник мартин, на истории (тест) дает 10-15% в мес при просадке в среднем 15% макс. Макс просадка = 50%, таким образом сливает половину депо раз в год-полтора, а до этого каждый месяц дает 10-15%.
Изюминка сова в фильтрации движения. Сов ищет безоткатное движение,пересчитывая последние Х баров на М1, и если находит движение>50 пунктов, применяет следующие фильтры:
1) не должно быть свечи М15 диапазоном более 25 пунктов (вышла новость)
2) не было отката более 40% к текущему импульсу (формула - величина отката/величину импульса*100% - если более 40% то отмена ордеров)
3) не было затяжного флета, то есть все хаи пробивались не менее чем за Х свеч М15 (тут в детали не углубляюсь)
Если все условия выполняются, то сов ставит ордер допустим бай, потом на расстоянии от него 20 пунктов еще одну отложку бай с лотом в 2 раза больше, через 20 еще одну с лотом в 4 раза больше чем первый ордер. Ну и еще несколько технических моментов
В итоге мы получаем сова, который начинает работу только когда видит долгое безоткатное движение, при этом безновостное, так что слиться будет очень трудно.

 
evillive:
Без исходников - к телепатам...

Исходник

int start()
{
 double SL,TP;
 int slv=MarketInfo(Symbol(),MODE_STOPLEVEL);
 if(Step<=slv || StepOtl<=slv) {Print("Step или StepOtl слишком мал"); return(0);}
 
 CountTrades();   //подсчет ордеров по типам.
 BU();
 
 //если нет рыночных ордеров-----------------------------------------
 if(bs+ss+bsts+ssts+blms+slms==0)                                     
 {
  if (Open[1]>Close[1] && Open[2]<Close[2] && High[1]>High[2] && Low[1]<Low[2])  // продажа
  {
   TP=NormalizeDouble(Bid - TakeProfit * Point, Digits);  
   SL=NormalizeDouble(Bid + StopLoss*Point,Digits);
   if(TakeProfit==0) TP=0;
   if(StopLoss==0) SL=0;                       
   ticket1=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP,"Pattern_1",Magic,0,Red);//Сразу с тейк-профитом, магик в настройках
   if(OrderSelect(ticket1,SELECT_BY_TICKET,MODE_TRADES)) price1=OrderOpenPrice();//цена первого ордера
   SL=NormalizeDouble(Bid+StepOtl*Point-StopLoss*Point,Digits);
   if(StopLoss==0) SL=0;
   ticket2=OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(Bid+StepOtl*Point,Digits),0,SL,0,"Pattern_1",Magic,0,Blue);//тикет для BuyStop
   if(OrderSelect(ticket2,SELECT_BY_TICKET,MODE_TRADES)) price2=OrderOpenPrice();//цена второго ордера
  }
  
  if (Open[1]<Close[1] && Open[2]>Close[2] && High[1]>High[2] && Low[1]<Low[2]) // покупка
  {
   TP=NormalizeDouble(Ask + TakeProfit * Point, Digits); 
   if(TakeProfit==0) TP=0;
   SL=NormalizeDouble(Ask-StopLoss*Point,Digits);
   if(StopLoss==0) SL=0;
   ticket1=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL,TP,"Pattern_1",Magic,0,Blue);//с тейком, магик в настройках 
   if(OrderSelect(ticket1,SELECT_BY_TICKET,MODE_TRADES)) price1=OrderOpenPrice();//цена первого ордера
   SL=NormalizeDouble(Bid-StepOtl*Point+StopLoss*Point,Digits);
   if(StopLoss==0) SL=0;
   ticket2=OrderSend(Symbol(),OP_SELLSTOP,Lots,NormalizeDouble(Bid-StepOtl*Point,Digits),0,SL,0,"Pattern_1",Magic,0,Red);//тикет для SellStop
   if(OrderSelect(ticket2,SELECT_BY_TICKET,MODE_TRADES)) price2=OrderOpenPrice();//цена второго ордера
  }
 }
 

 return(0);
}
     
 //+------------------------------------------------------------------+
void CountTrades() // количество открытых ордеров
   {
    for(int i=OrdersTotal()-1; i>=0; i--) 
    {
     if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
     { 
      if (OrderSymbol()!=Symbol() && OrderMagicNumber()!=Magic) continue;//отделяем свои ордера. Магик задается в настройках
      int typ=OrderType();      //однократный вызов функции ускоряет работу
      switch (typ)
      {
       case 0: bs++;
       case 1: ss++;
       case 2: blms++;
       case 3: slms++;
       case 4: bsts++;
       case 5: ssts++;
       default: break;
      }        
     }
    }
    return;  
   }
 //+------------------------------------------------------------------+
 
Frangatic:

Нужен сов сеточник мартин, на истории (тест) дает 10-15% в мес при просадке в среднем 15% макс. Макс просадка = 50%, таким образом сливает половину депо раз в год-полтора, а до этого каждый месяц дает 10-15%.
Изюминка сова в фильтрации движения. Сов ищет безоткатное движение,пересчитывая последние Х баров на М1, и если находит движение>50 пунктов, применяет следующие фильтры:
1) не должно быть свечи М15 диапазоном более 25 пунктов (вышла новость)
2) не было отката более 40% к текущему импульсу (формула - величина отката/величину импульса*100% - если более 40% то отмена ордеров)
3) не было затяжного флета, то есть все хаи пробивались не менее чем за Х свеч М15 (тут в детали не углубляюсь)
Если все условия выполняются, то сов ставит ордер допустим бай, потом на расстоянии от него 20 пунктов еще одну отложку бай с лотом в 2 раза больше, через 20 еще одну с лотом в 4 раза больше чем первый ордер. Ну и еще несколько технических моментов
В итоге мы получаем сова, который начинает работу только когда видит долгое безоткатное движение, при этом безновостное, так что слиться будет очень трудно.

Вам сюда Работа! Сделают хорошо, быстро и дёшево!
 
borilunad:
Вам сюда Работа! Сделают хорошо, быстро и дёшево!
Насчёт хорошо - это вилами по воде. Насчёт быстро - тоже бабка надвое... А если дёшево - см. п.1.
Причина обращения: