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

statistic

Элитный участник
Подправьте пожалуйста индикатор, не сохраняет стили и цвета линий
 

Вложения

  • iSWOL_for_ex V2_3TF.mq4
    25,1 КБ · Просмотры: 63

kadet

Новичок форума
Просьба подправить индикатор, а именно звук.Индикатор рисует, поэтому нужен алерт с указанием бара по закрытию которого подается сигнал
 

Вложения

  • TRENDSENTRY_Alert (1).mq4
    6,3 КБ · Просмотры: 43

блондинка

Элитный участник
Привет.Это древний индикатор Виктора Николаева(судя по "шапке")кода.Необычный.
Код такой что впечатление это "черновик".
В подвале он рисует хорошо сглаженную линию цены.Это интересно.
Беда в том что ну очень тугодумный.Трудно использовать.Какой уж тут"спид чанел":):):)Хотя скорость тут в другом-это скорость следить за ценой.
Как нибудь можно ввести ограничение баров для подсчета(например 50 шт.)?
Задачка для тех кому интересно (хоть и с чужим алгоритмом)поработать.:)
Всем удачи и профитов!С наступающим н.г.!
 

Вложения

  • Speed_channel.mq4
    3,5 КБ · Просмотры: 57

mobidik

-----
Привет.Это древний индикатор Виктора Николаева(судя по "шапке")кода.Необычный.
Код такой что впечатление это "черновик".
В подвале он рисует хорошо сглаженную линию цены.Это интересно.
Беда в том что ну очень тугодумный.Трудно использовать.Какой уж тут"спид чанел":):):)Хотя скорость тут в другом-это скорость следить за ценой.
Как нибудь можно ввести ограничение баров для подсчета(например 50 шт.)?
Задачка для тех кому интересно (хоть и с чужим алгоритмом)поработать.:)
Всем удачи и профитов!С наступающим н.г.!

Он не тугодумный - в данном коде нет самого расчета индикатора, только сглаживание - отсюда и тупизм в работе. так, что, ты права - это "черновик".
 

druzhba78

Активный участник
Прошу специалистов поправить советник

Здравствуйте ! Хороший и профитный советник, но не без проблем. В работе оставляет некоторые ордера без StopLoss и TakeProfit, при этом появляется сообщение на экране (Number of times the brokers server reported that invalid SL and/or TP: кол-во предупреждений). В редакторе также выдаёт некоторые предупреждения. Гоняю его у двух брокеров на демо Alpari и TickMill.
 

Вложения

  • Советник.mq4
    31,5 КБ · Просмотры: 106

gek

Элитный участник
Здравствуйте ! Хороший и профитный советник, но не без проблем. В работе оставляет некоторые ордера без StopLoss и TakeProfit, при этом появляется сообщение на экране (Number of times the brokers server reported that invalid SL and/or TP: кол-во предупреждений). В редакторе также выдаёт некоторые предупреждения. Гоняю его у двух брокеров на демо Alpari и TickMill.

Не подскажешь как гоняешь?
Тайм,пара?
 

statistic

Элитный участник
Коллеги, выведите пожалуйста в настройки цвета линий
 

Вложения

  • iSWOL_for_ex V2_3TF.mq4
    25,1 КБ · Просмотры: 42

nikpilot

Активный участник
Без убыток для мартина.

Здравствуйте. Есть специалисты, кто может добавить опцию без убытка в советник? Советник торгует по принципу мартингейла, есть без убыток только для первого открытого ордера, если открывается пачка ордеров, то без убыток уже не работает. При открытии второй и последующих позиций, стоп лосс предыдущей позиции автоматически перемещается на уровень стопа вновь открытой позиции.
Добавьте пожалуйста опцию без убытка для открытой пачки ордеров, привяжите его к переменной, которая работает для без убытка для одного ордера.
Заранее спасибо.
 

Вложения

  • Flame 2.3b_EA.mq4
    65,7 КБ · Просмотры: 61
Последнее редактирование:

Omukchaan

Элитный участник
Здравствуйте. Есть специалисты, кто может добавить опцию без убытка в советник? Советник торгует по принципу мартингейла, есть без убыток только для первого открытого ордера, если открывается пачка ордеров, то без убыток уже не работает. При открытии второй и последующих позиций, стоп лосс предыдущей позиции автоматически перемещается на уровень стопа вновь открытой позиции.
Добавьте пожалуйста опцию без убытка для открытой пачки ордеров, привяжите его к переменной, которая работает для без убытка для одного ордера.
Заранее спасибо.

трейлинг стоп для для каждого ордера?
Или общий уровень безубытка для всех ордеров как у Иландинамик?
 

Omukchaan

Элитный участник
Коллеги, выведите пожалуйста в настройки цвета линий

Привет, вывел, попробуйка. Может подойдет.

PHP:
//+------------------------------------------------------------------+
//|                                          iSWOL_for_ex V2_3TF.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#define NAME_EXPERT "iSWOL_for_ex V2_3TF"
#define VER " V2"                                     
#define RELIZE "GS_2011_08_04"                        
#define AUTOR "[email protected]"
#define URL "http://bluedream.ucoz.ru"

extern int TF_Indicator = 0;  
extern int TF_Indicator1 = 0;
extern int TF_Indicator2 = 0;
extern bool
   SHOW_SIGNAL_LINE = true,
   Alert_ON = false;
extern color 
   Main_Line_M1 = Red,
   Signal_Line_M1= Tomato,
   Main_Line_M5 = DarkOrange,
   Signal_Line_M5= SandyBrown,
   Main_Line_M15 = Yellow,
   Signal_Line_M15= Khaki,
   
   Main_Line_M30 = LimeGreen,
   Signal_Line_M30= PaleGreen,
   Main_Line_H1 = SkyBlue,
   Signal_Line_H1= PowderBlue,
   Main_Line_H4 = Blue,
   Signal_Line_H4= CornflowerBlue,
   
   Main_Line_D1 = Violet,
   Signal_Line_D1= Pink,
   Main_Line_W1 = BlueViolet,
   Signal_Line_W1= MediumOrchid,
   Main_Line_MN1 = Red,
   Signal_Line_MN1= Tomato;
//-----------
string 
   Name_Window,
   ex_Name = NAME_EXPERT;
string Txt_TF_Indicator;
int Style_Main_Line = DRAW_LINE;
int Style_Signal_Line = STYLE_DOT;
//+------------------------------------------------------------------+
#property copyright "Sergey Gulyaev. Maykop."
#property link      "[email protected]    ICQ 365919666"

#property indicator_separate_window

#property indicator_buffers 6
#property indicator_level1 80
#property indicator_level2 20
#property indicator_levelcolor Gray

#property indicator_minimum 0
#property indicator_maximum 100

extern int St_D=5;
extern int St_K=1;
extern int St_S=1;

int D,K,S,D1,K1,S1,D2,K2,S2,z,z1,z2;
  
   
  
//---- buffers
double Buff_0[],Buff_1[];
double Buff_01[],Buff_11[];
double Buff_02[],Buff_12[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
//--------------------------------------------------------------------
   if(TF_Indicator == 0) TF_Indicator = Period();
   if(TF_Indicator < Period())
   {  TF_Indicator = Period();
      //if(Alert_ON)Alert("TF младше текущего не допустим!"); 
   }
    if(TF_Indicator1 == 0) TF_Indicator1 = Period();
   if(TF_Indicator1 < Period())
   {  TF_Indicator1 = Period();
      //if(Alert_ON)Alert("TF младше текущего не допустим!"); 
   }
     if(TF_Indicator2 == 0) TF_Indicator2 = Period();
   if(TF_Indicator2 < Period())
   {  TF_Indicator2 = Period();
      //if(Alert_ON)Alert("TF младше текущего не допустим!"); 
   }
//--------------------------------------------------------------------
   z = MathRound(TF_Indicator/Period());
   D = St_D*z;
   K = St_K*z;
   S = St_S*z;
   z1 = MathRound(TF_Indicator1/Period());
   D1 = St_D*z1;
   K1 = St_K*z1;
   S1 = St_S*z1;
   z2 = MathRound(TF_Indicator2/Period());
   D2 = St_D*z2;
   K2 = St_K*z2;
   S2 = St_S*z2;
//------------ создаём имя окна -------------------------------------- 
//---- name for indicator window
   Name_Window = ex_Name+"("+txt_TF(TF_Indicator)+")";
   IndicatorShortName(Name_Window);
//--------------------------------------------------------------------
//--------------------------------------------------------------------
   SetIndexBuffer(0,Buff_0); 
   SetIndexBuffer(1,Buff_1);
   switch(TF_Indicator)
   {  case PERIOD_M1:
         SetIndexStyle (0,Style_Main_Line,  0,0,Main_Line_M1);           
         SetIndexLabel (0,"St_M1");
         SetIndexStyle (1,0,Style_Signal_Line,0,Signal_Line_M1);        
         SetIndexLabel (1,"");
      break;
      case PERIOD_M5:
         SetIndexStyle (0,Style_Main_Line,  0,0,Main_Line_M5);    
         SetIndexLabel (0,"St_M5");
         SetIndexStyle (1,0,Style_Signal_Line,0,Signal_Line_M5);    
         SetIndexLabel (1,"");
      break;
      case PERIOD_M15:
         SetIndexStyle (0,Style_Main_Line,0,0,Main_Line_M15);          
         SetIndexLabel (0,"St_M15");
         SetIndexStyle (1,0,Style_Signal_Line,0,Signal_Line_M15);         
         SetIndexLabel (1,"");
      break;
      case PERIOD_M30:
         SetIndexStyle (0,Style_Main_Line,0,0,Main_Line_M30);       
         SetIndexLabel (0,"St_M30");
         SetIndexStyle (1,0,Style_Signal_Line,0,Signal_Line_M30);     
         SetIndexLabel (1,"");
      break;
      case PERIOD_H1:
         SetIndexStyle (0,Style_Main_Line,0,0,Main_Line_H1);         
         SetIndexLabel (0,"St_H1");
         SetIndexStyle (1,0,Style_Signal_Line,0,Signal_Line_H1);    
         SetIndexLabel (1,"");
      break;
      case PERIOD_H4:
         SetIndexStyle (0,Style_Main_Line,0,0,Main_Line_H4);            
         SetIndexLabel (0,"St_H4"); 
         SetIndexStyle (1,0,Style_Signal_Line,0,Signal_Line_H4);
         SetIndexLabel (1,"");
      break;
      case PERIOD_D1:
         SetIndexStyle (0,Style_Main_Line,0,0,Main_Line_D1);          
         SetIndexLabel (0,"St_D1");
         SetIndexStyle (1,0,Style_Signal_Line,0,Signal_Line_D1);          
         SetIndexLabel (1,"");
      break;
      case PERIOD_W1:
         SetIndexStyle (0,Style_Main_Line,0,0,Main_Line_W1);      
         SetIndexLabel (0,"St_W1");
         SetIndexStyle (1,0,Style_Signal_Line,0,Signal_Line_W1);  
         SetIndexLabel (1,"");
      break;
      case PERIOD_MN1:
         SetIndexStyle (0,Style_Main_Line,0,0,Main_Line_MN1);             
         SetIndexLabel (0,"St_MN1");
         SetIndexStyle (1,0,Style_Signal_Line,0,Signal_Line_MN1);        
         SetIndexLabel (1,"");
      break;
      default: break;
   }
  SetIndexBuffer(2,Buff_01); 
  SetIndexBuffer(3,Buff_11);  
   switch(TF_Indicator1)
   {  case PERIOD_M1:
         SetIndexStyle (2,Style_Main_Line,  0,0,Main_Line_M1);           
         SetIndexLabel (2,"St_M1");
         SetIndexStyle (3,0,Style_Signal_Line,0,Signal_Line_M1);        
         SetIndexLabel (3,"");
      break;
      case PERIOD_M5:
         SetIndexStyle (2,Style_Main_Line,  0,0,Main_Line_M5);    
         SetIndexLabel (2,"St_M5");
         SetIndexStyle (3,0,Style_Signal_Line,0,Signal_Line_M5);    
         SetIndexLabel (3,"");
      break;
      case PERIOD_M15:
         SetIndexStyle (2,Style_Main_Line,0,0,Main_Line_M15);          
         SetIndexLabel (2,"St_M15");
         SetIndexStyle (3,0,Style_Signal_Line,0,Signal_Line_M15);         
         SetIndexLabel (3,"");
      break;
      case PERIOD_M30:
         SetIndexStyle (2,Style_Main_Line,0,0,Main_Line_M30);       
         SetIndexLabel (2,"St_M30");
         SetIndexStyle (3,0,Style_Signal_Line,0,Signal_Line_M30);     
         SetIndexLabel (3,"");
      break;
      case PERIOD_H1:
         SetIndexStyle (2,Style_Main_Line,0,0,Main_Line_H1);         
         SetIndexLabel (2,"St_H1");
         SetIndexStyle (3,0,Style_Signal_Line,0,Signal_Line_H1);    
         SetIndexLabel (3,"");
      break;
      case PERIOD_H4:
         SetIndexStyle (2,Style_Main_Line,0,0,Main_Line_H4);            
         SetIndexLabel (2,"St_H4"); 
         SetIndexStyle (3,0,Style_Signal_Line,0,Signal_Line_H4);
         SetIndexLabel (3,"");
      break;
      case PERIOD_D1:
         SetIndexStyle (2,Style_Main_Line,0,0,Main_Line_D1);          
         SetIndexLabel (2,"St_D1");
         SetIndexStyle (3,0,Style_Signal_Line,0,Signal_Line_D1);          
         SetIndexLabel (3,"");
      break;
      case PERIOD_W1:
         SetIndexStyle (2,Style_Main_Line,0,0,Main_Line_W1);      
         SetIndexLabel (2,"St_W1");
         SetIndexStyle (3,0,Style_Signal_Line,0,Signal_Line_W1);  
         SetIndexLabel (3,"");
      break;
      case PERIOD_MN1:
         SetIndexStyle (2,Style_Main_Line,0,0,Main_Line_MN1);             
         SetIndexLabel (2,"St_MN1");
         SetIndexStyle (3,0,Style_Signal_Line,0,Signal_Line_MN1);        
         SetIndexLabel (3,"");
      break;
      default: break;
   }
   SetIndexBuffer(4,Buff_02); 
  SetIndexBuffer(5,Buff_12);  
   switch(TF_Indicator2)
   {  case PERIOD_M1:
         SetIndexStyle (4,Style_Main_Line,  0,0,Main_Line_M1);           
         SetIndexLabel (4,"St_M1");
         SetIndexStyle (5,0,Style_Signal_Line,0,Signal_Line_M1);        
         SetIndexLabel (5,"");
      break;
      case PERIOD_M5:
         SetIndexStyle (4,Style_Main_Line,  0,0,Main_Line_M5);    
         SetIndexLabel (4,"St_M5");
         SetIndexStyle (5,0,Style_Signal_Line,0,Signal_Line_M5);    
         SetIndexLabel (5,"");
      break;
      case PERIOD_M15:
         SetIndexStyle (4,Style_Main_Line,0,0,Main_Line_M15);          
         SetIndexLabel (4,"St_M15");
         SetIndexStyle (5,0,Style_Signal_Line,0,Signal_Line_M15);         
         SetIndexLabel (5,"");
      break;
      case PERIOD_M30:
         SetIndexStyle (4,Style_Main_Line,0,0,Main_Line_M30);       
         SetIndexLabel (4,"St_M30");
         SetIndexStyle (5,0,Style_Signal_Line,0,Signal_Line_M30);     
         SetIndexLabel (5,"");
      break;
      case PERIOD_H1:
         SetIndexStyle (4,Style_Main_Line,0,0,Main_Line_H1);         
         SetIndexLabel (4,"St_H1");
         SetIndexStyle (5,0,Style_Signal_Line,0,Signal_Line_H1);    
         SetIndexLabel (5,"");
      break;
      case PERIOD_H4:
         SetIndexStyle (4,Style_Main_Line,0,0,Main_Line_H4);            
         SetIndexLabel (4,"St_H4"); 
         SetIndexStyle (5,0,Style_Signal_Line,0,Signal_Line_H4);
         SetIndexLabel (5,"");
      break;
      case PERIOD_D1:
         SetIndexStyle (4,Style_Main_Line,0,0,Main_Line_D1);          
         SetIndexLabel (4,"St_D1");
         SetIndexStyle (5,0,Style_Signal_Line,0,Signal_Line_D1);          
         SetIndexLabel (5,"");
      break;
      case PERIOD_W1:
         SetIndexStyle (4,Style_Main_Line,0,0,Main_Line_W1);      
         SetIndexLabel (4,"St_W1");
         SetIndexStyle (5,0,Style_Signal_Line,0,Signal_Line_W1);  
         SetIndexLabel (5,"");
      break;
      case PERIOD_MN1:
         SetIndexStyle (4,Style_Main_Line,0,0,Main_Line_MN1);             
         SetIndexLabel (4,"St_MN1");
         SetIndexStyle (5,0,Style_Signal_Line,0,Signal_Line_MN1);        
         SetIndexLabel (5,"");
      break;
      default: break;
   }
      if(!SHOW_SIGNAL_LINE)SetIndexStyle (1,DRAW_NONE);
//----
   return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{  int 
      i,                           // Индекс бара
      Counted_bars;                // Количество просчитанных баров 
//--------------------------------------------------------------------
//--------------------------------------------------------------------
   Counted_bars= IndicatorCounted();   // Количество просчитанных баров 
   i=Bars-Counted_bars-1;              // Индекс первого непосчитанного
   while(i>=0)                         // Цикл по непосчитанным барам
   {  Buff_0[i] = iStochastic(NULL,Period(),D,K,S,MODE_SMA,0,MODE_MAIN,i);
      Buff_1[i] = iStochastic(NULL,Period(),D,K,S,MODE_SMA,0,MODE_SIGNAL,i);
      Buff_01[i] = iStochastic(NULL,Period(),D1,K1,S1,MODE_SMA,0,MODE_MAIN,i);
      Buff_11[i] = iStochastic(NULL,Period(),D1,K1,S1,MODE_SMA,0,MODE_SIGNAL,i);
      Buff_02[i] = iStochastic(NULL,Period(),D2,K2,S2,MODE_SMA,0,MODE_MAIN,i);
      Buff_12[i] = iStochastic(NULL,Period(),D2,K2,S2,MODE_SMA,0,MODE_SIGNAL,i);
      i--;
   }
   static bool
      FLAG_UP = true,
      FLAG_DN = true;
   if(Alert_ON)   {
      if(FLAG_UP && Buff_0[0] > Buff_1[0])   {
         Alert("DN->UP :" + txt_TF(TF_Indicator)+" "+Symbol()+" "+ex_Name);
         FLAG_UP = false;
         FLAG_DN = true;
      }
      if(FLAG_DN && Buff_0[0] < Buff_1[0])   {
         Alert("UP->DN :" + txt_TF(TF_Indicator)+" "+Symbol()+" "+ex_Name);
         FLAG_UP = true;
         FLAG_DN = false;
      }
   }
//----
   return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//|   [email protected]                                14.06.2011
//+------------------------------------------------------------------+
//| txt_TF() переводит ТФ в текстовый формат              
//+------------------------------------------------------------------+
string txt_TF( int _TF)
{  string _Function = "txt_TF():";
   string _Txt_TF;
   switch(_TF)
   {
     case PERIOD_M1:  _Txt_TF = "M1";  break;
     case PERIOD_M5:  _Txt_TF = "M5";  break;
     case PERIOD_M15: _Txt_TF = "M15"; break;
     case PERIOD_M30: _Txt_TF = "M30"; break;
     case PERIOD_H1:  _Txt_TF = "H1";  break;
     case PERIOD_H4:  _Txt_TF = "H4";  break;
     case PERIOD_D1:  _Txt_TF = "D1";  break;
     case PERIOD_W1:  _Txt_TF = "W1";  break;
     case PERIOD_MN1: _Txt_TF = "MN1"; break;
     default: Alert("Неверно установлен ТФ " + _TF); break;
   }
   return(_Txt_TF);
}
//+------------------------------------------------------------------+
//+-------
 
Верх