[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 35

 
skyjet:
Добрый вечер! Подскажите, правильно ли я функцию start() индикатора в советнике прописал? Компиляция не согласна!


Ну, столько семёрок просто не может быть неправильным, это же ДЖЕК-ПОТ!!!

А если серьёзно, то описание проблеммы явно неполное, вам в Клуб Телепатов. Или опишите подробней что не так, список ошибок компилятора например.

 
evillive:


Ну, столько семёрок просто не может быть неправильным, это же ДЖЕК-ПОТ!!!

А если серьёзно, то описание проблеммы явно неполное, вам в Клуб Телепатов. Или опишите подробней что не так, список ошибок компилятора например.


Сначала я получил такую ошибку:

'\end_of_program' - ending bracket '}' expected C:\Program Files\Alpari \experts\xxx.mq4 (305, 1)

Конечно добавил скобку, после чего :

'Ind_Start' - function is not defined C:\Program Files\ Alpari \experts\xxx.mq4 (86, 1)

'{' - semicolon expected C:\Program Files\ Alpari \experts\xxx.mq4 (87, 3)

 
skyjet:
Добрый вечер! Подскажите, правильно ли я функцию start() индикатора в советнике прописал? Компиляция не согласна!
int start()
{

int varGet_Indicator_start = funcGet_Indicator_start();

return();
  
}


int funcGet_Indicator_start()

{
77777777777777777777777777777
77777777777777777777777777
777777777777777777777777777777
и чтоб возвращало int!!!
}


так должна быть согласна

 

Помогите, индикатор не работает. Что не правильно написал?

//-----
  int i,limit;
  int counted_bars=IndicatorCounted();
  if (counted_bars>0) counted_bars--; 
  limit=Bars-counted_bars;
//-----
   for(i=limit; i>=0; i--)
  {SMMA[i]=iMA(NULL,0,TrixPeriod,0,MODE_SMMA,PRICE_CLOSE,i);}
//-----
  for(i=limit; i>=0; i--)
  {EMAOnArray[i]=iMAOnArray(SMMA,0,TrixPeriod,0,MODE_EMA,i);}
//-----
  for(i=limit; i>=0; i--)
  {SMMAOnArray[i]=iMAOnArray(EMAOnArray,0,TrixPeriod,0,MODE_SMMA,i);}
//-----
  for(i=limit; i>=0; i--)
  {Trix[i]=(SMMAOnArray[i]-SMMAOnArray[i+1])/SMMAOnArray[i];}
//-----
  for(i=limit; i>=0; i--)
  {Signal[i]=iMAOnArray(Trix,0,SignalPeriod,0,MODE_EMA,i);}       
//-----
  for(i=limit; i>=0; i--)
  {Histogram[i]=Trix[i]-Signal[i];}
//-----
 

Подскажите пожайлуста!

Допустим у меня в терминале есть несколько откритых позиций, и мне нужно узнать цену открития одного из ордеров, допустим BUY, мне извесно также magic кажого из ордеров?

Как это сделать?

 
artem86:

Подскажите пожайлуста!

Допустим у меня в терминале есть несколько откритых позиций, и мне нужно узнать цену открития одного из ордеров, допустим BUY, мне извесно также magic кажого из ордеров?

Как это сделать?

//+------------------------------------------------------------------+
//|--------------------// Last Bull Open Price //--------------------|
//+------------------------------------------------------------------+
double LastBullOpenPrice()
{
  double MyLastBullOpenPrice=0;
  for(int Cnt=0;Cnt<OrdersTotal();Cnt++)
  { 
    OrderSelect(Cnt,SELECT_BY_POS,MODE_TRADES);
    if(OrderMagicNumber()==Magic && OrderType()==OP_BUY)
    {
      MyLastBullOpenPrice=OrderOpenPrice();
    }
  }
  return(MyLastBullOpenPrice);
}

 

Добрый день!

подскажите пожалуйста, пишу так:

if ((b1!=0) && (b2==0))

openBuy(Lot,Magic);

if ((b1==0) && (b2!=0))

closeAll();

if ((s1!=0) && (s2==0))

openSell(Lot,Magic);

if ((s1==0) && (s2!=0))

closeAll();

а ордера не открываются помогите найти причину

Файлы:
 
ll77012:

Добрый день!

подскажите пожалуйста, пишу так:

if ((b1!=0) && (b2==0))

openBuy(Lot,Magic);

if ((b1==0) && (b2!=0))

closeAll();

if ((s1!=0) && (s2==0))

openSell(Lot,Magic);

if ((s1==0) && (s2!=0))

closeAll();

а ордера не открываются помогите найти причину


https://book.mql4.com/ru/trading/ordersend

Все очень понятно и подробно написано.

 
что-то с условием не то, и ordersend не вызывается
 
ll77012:

Добрый день!

подскажите пожалуйста, пишу так:

if ((b1!=0) && (b2==0))

openBuy(Lot,Magic);

if ((b1==0) && (b2!=0))

closeAll();

if ((s1!=0) && (s2==0))

openSell(Lot,Magic);

if ((s1==0) && (s2!=0))

closeAll();

а ордера не открываются помогите найти причину


Буфер индикатора=EMPTY_VALUE; не равен 0, а равен 2147483647. как-то так
Причина обращения: