[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 259

 
, а так
//+------------------------------------------------------------------+
//|                                                      5 fkkjd.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//---- input parameters
extern double      urov_h1_1=1;
.....
extern double      urov_D_4=1;
extern double      urov_D_5=1;

double urov_h1[],urov_h4[],urov_D[];
int svechi_ball, urov_ball, stoh;
int i;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   //*******
   urov_h1[0]=urov_h1_1;   urov_h1[1]=urov_h1_2;   urov_h1[2]=urov_h1_3;   urov_h1[3]=urov_h1_4;
   urov_h1[4]=urov_h1_5;   urov_h1[5]=urov_h1_6;   urov_h1[6]=urov_h1_7;   urov_h1[7]=urov_h1_8;
   urov_h1[8]=urov_h1_9;   urov_h1[9]=urov_h1_10;  urov_h1[10]=urov_h1_11; urov_h1[11]=urov_h1_12;
   urov_h1[12]=urov_h1_13; urov_h1[13]=urov_h1_14; urov_h1[14]=urov_h1_15;
   //*******
   urov_h4[0]=urov_h4_1;   urov_h4[1]=urov_h4_2;   urov_h4[2]=urov_h4_3;   urov_h4[3]=urov_h4_4;
   urov_h4[4]=urov_h4_5;
   //******* 
   urov_D[0]=urov_D_1;   urov_D[1]=urov_D_2;   urov_D[2]=urov_D_3;   urov_D[3]=urov_D_4;
   urov_D[4]=urov_D_5;
   //*******

  //+++++медвежье поглощение++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  for(i=0; i<15; i++)
   {
   if(medvejye_poglochenie(urov_h1[i])==true)
      {
      svechi_ball=4;
      urov_ball=3;
      text(svechi_ball,urov_ball);
      }
   }
  /*bool medv_po_h1_1=medvejye_poglochenie(urov_h1_1);
  bool medv_po_h1_2=medvejye_poglochenie(urov_h1_2);
  ............
  bool medv_po_h1_15=medvejye_poglochenie(urov_h1_15);
  //**
   //****стохастик
  double st_2=iStochastic(Symbol(),60,6,1,2,MODE_EMA,0,MODE_MAIN,2);    
  double st_1=iStochastic(Symbol(),60,6,1,2,MODE_EMA,0,MODE_MAIN,1);    

  if(medv_po_h1_1==true || medv_po_h1_2==true || medv_po_h1_3==true || medv_po_h1_4==true || medv_po_h1_5==true || medv_po_h1_6==true
     || medv_po_h1_7==true || medv_po_h1_8==true || medv_po_h1_9==true || medv_po_h1_10==true || medv_po_h1_11==true || medv_po_h1_12==true
     || medv_po_h1_13==true || medv_po_h1_14==true || medv_po_h1_15==true)
      {
      svechi_ball=4;
      urov_ball=3;
      if(st_2>st_1 && st_2>70 && st_1>70) stoh=2;
      else if(st_2>st_1 && st_2<70 && st_1<70) stoh=1;
      else stoh=0;
      text(svechi_ball,urov_ball,stoh);
      }
  if(medv_po_h4_1==true || medv_po_h4_2==true || medv_po_h4_3==true || medv_po_h4_4==true || medv_po_h4_5==true)
      {
      svechi_ball=4;
      urov_ball=4;
      if(st_2>st_1 && st_2>70 && st_1>70) stoh=2;
      else if(st_2>st_1 && st_2<70 && st_1<70) stoh=1;
      else stoh=0;
      text(svechi_ball,urov_ball,stoh);
      }
  if(medv_po_D_1==true || medv_po_D_2==true || medv_po_D_3==true || medv_po_D_4==true || medv_po_D_5==true)
      {
      svechi_ball=4;
      urov_ball=5;
      if(st_2>st_1 && st_2>70 && st_1>70) stoh=2;
      else if(st_2>st_1 && st_2<70 && st_1<70) stoh=1;
      else stoh=0;
      text(svechi_ball,urov_ball,stoh);
      }*/
  return(0);
  }

нет

чтото не правильно в этом куске кода, а что не пойму

for(i=0; i<15; i++)
   {
   if(medvejye_poglochenie(urov_h1[i])==true)
      {
      svechi_ball=4;
      urov_ball=3;
      text(svechi_ball,urov_ball);
      }
   }

с уважением.

 
alsu >>:

double iCustom(string symbol, int timeframe, string name, ..., int mode, int shift)
Расчет указанного пользовательского индикатора. Пользовательский индикатор должен быть скомпилирован (файл с расширением EX4) и находиться в директории каталог_терминала\experts\indicators.
Параметры:
symbol - Символьное имя инструмента, на данных которого будет вычисляться индикатор. NULL означает текущий символ.
timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика.
name - Имя пользовательского индикатора.
... - Список параметров (при необходимости). Передаваемые параметры должны соответствовать порядку объявления и типу внешних (extern) переменных пользовательского индикатора.
mode - Индекс линии индикатора. Может быть от 0 до 7 и должен соответствовать индексу, используемому одной из функций SetIndexBuffer.
shift - Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).
Пример:


да здравствует справка!

CПАСИБо ОГРОМНОЕ никогда бы не нашол iCustom в>> Справочник MQL4 - Технические индикаторы - iCustom (искал где угодно но не здесь)

еще раз ОГРОМНОЕ спасибо!

 

Приветствую! 

Пытаюсь научить МТ4 выделять на графике бары диапазон которых превышает ATR(60), код следующий:

extern int Quant_Bars=1000; // Количество баров


  int start()  
  {
  int Ind_Bar;  
   
  for(Ind_Bar=Quant_Bars-1; Ind_Bar>=0; Ind_Bar--)
  {
  Create(Ind_Bar);  
  }

  return;  
  }
//--------------------------------------------------------------- 3 --
int Create(int Ind_Bar)     // Пользовательская функция создания объекта
 

{
  color Color= Red; // Цвет объекта
  datetime T_Bar=Time [Ind_Bar]; // Время открытия бара
  double O_Bar=Open [Ind_Bar]; // Цена открытия бара
  double C_Bar=Close[Ind_Bar]; // Цена закрытия бара
  double H_Bar=High [Ind_Bar]; // Максимальная цена бара
  double L_Bar=Low [Ind_Bar]; // Минимальная цена бара 
  double A= iATR(Symbol(),0,60,Ind_Bar);
   
   
  if((H_Bar-L_Bar)>A)
  ObjectCreate("His_Name",OBJ_TREND,0,T_Bar,H_Bar,T_Bar,L_Bar);  
  return;  
  }

... закрашивет почему то только один бар(самый первый слева помоему), хотя по идее должен все на промежутке 1000-0 баров. Подскажите пожайлуста где ошибка?

 

не могу понять, где скобы замкнуть..помогите плиз!

	if(((b1+b1_2)>0) || ((b2+b2_2)>=0) || ((s1+s1_2)<0) || ((s2+s2_2)<=0))
	{
	if(T1green!=0 && T2red==0)
	}
	else 
	if(Flat!=0) return(0);
	{
	SigBuy=true;
	}
	if(((b1+b1_2)>0) || ((b2+b2_2)>=0) || ((s1+s1_2)<0) || ((s2+s2_2)<=0))
	{
	if(T1red!=0 && T2green==0)
	}
	else if(Flat!=0) return(0);
	{	
	SigSell=true;
	}

=>

'}' - unbalanced parentheses
'}' - unbalanced parentheses

 
Ibiss >>:

не могу понять, где скобы замкнуть..помогите плиз!

=>

Там не двух скобок не хватает там вообще структура накручена попробуйте сначало сделать вот так :

if(){}else{}//вот так 

if()// или так 
  {}
else
  {}
// и в зависимости от необходимости строите структуру 
if()
  {if(){}else{}}
else
  {if(){}}// простым скопировал вставил 

а потом в структуру вложить нужные условия и операторы.

	if(((b1+b1_2)>0) || ((b2+b2_2)>=0) || ((s1+s1_2)<0) || ((s2+s2_2)<=0))
	{
	if(T1green!=0 && T2red==0)// что это условие должно разрешать ????????????
	}
	else 
	if(Flat!=0) return(0);//тут вылетаем по ретурну дальше код не исполняется 
	{
	SigBuy=true;// по какому условию выполняется этот оператор ???????????
	}
	if(((b1+b1_2)>0) || ((b2+b2_2)>=0) || ((s1+s1_2)<0) || ((s2+s2_2)<=0))
	{
	if(T1red!=0 && T2green==0)// что это условие должно разрешать ????????????
	}
	else if(Flat!=0) return(0);//тут вылетаем по ретурну дальше код не исполняется 
	{	
	SigSell=true;// по какому условию выполняется этот оператор ???????????
	}

пппппп

 
ок. попробую, спасибо!
 
Urain >>:

Там не двух скобок не хватает там вообще структура накручена попробуйте сначало сделать вот так :

а потом в структуру вложить нужные условия и операторы.

пппппп


Не получается так.

Как для моего случая правильно сделать?

if(...........)//если условие выполнилось,то
{
if(T1green!=0 && T2red==0)//и это выполнилось..  ...это типо максд
}
else 
if(Flat!=0) return(0);//это пролетаем, выполняется следующее
{
SigBuy=true;// включение покупки
}
 
А как вставлять в посты коды, выделяющиеся цветом??
 
возможно ли каким либо образом построить график из 10-ти минутных свечек ?
 

Здравствуйте. Помогите, пожалуйста, переделать Period Converter Opt.

Суть вот в чем.

Например, формируем 8-ми часовые бары (время терминальное) из 1-часовых. Получаем ряд: 0, 8, 16, 0 часов и т.д.

Хотелось бы, чтобы в Конвертере можно было установить смещение. Это смещение можно сделать в количестве баров того ТФ, на основе которого формируется нужный нам. Если формируем на основе 1-часовых, тогда смещение будет выражаться в часах... Если на основе 15-минуток, тогда смещение будет 15, 30, 45 минут....

К тому же время в терминале еще и отличается от "моего" времени на 2 часа. => неудобно подходить к терминалу в 2 ночи МСК.

Так вот, при формировании 8-ми часового ТФ со смещением +3 (например) получим новый ряд: 3, 11, 19, 3 и т.д. Или (-2) смещение даст: 22, 6, 14, 22 и т.д. Хотя можно ограничиться только плюсовым

смещением.


Цель смещения - не допустить полного формированияе бара в период сна трейдера.


Вот так хотелось бы доработать "Период Конвертер Опт".
Причина обращения: