Ваши вопросы по языку MQL4

ИванМН

Местный знаток
Вот чёрт! Как он смеет не заполнять, мерзавец???
C-подобный:
//+------------------------------------------------------------------+
char GetSARDirection(int bar)
{
   char s;
   if (iSAR(_Symbol,PERIOD_CURRENT,0.02,0.2,bar + 1) > Open[bar + 1] && iSAR(_Symbol,PERIOD_CURRENT,0.02,0.2,bar) < Open[bar])
      s = 1;
   else
   if (iSAR(_Symbol,PERIOD_CURRENT,0.02,0.2,bar + 1) < Open[bar + 1] && iSAR(_Symbol,PERIOD_CURRENT,0.02,0.2,bar) > Open[bar])
      s = -1;
   return(s);
}
//+------------------------------------------------------------------+
void PereborSar()
{
    uchar b,s;
    for(int i = 0; i < 61; i++)
    {
        char SAR = GetSARDirection(i);
        switch (SAR)
        {
            case 1:
                BarIndexBuy[b] = i;
                b++;
                break;
            case -1:
                BarIndexSell[s] = i;
                s++;
        }
        if (b == 3 && s == 3) break;
    }
}
 

star603

Новичок форума
Вот чёрт! Как он смеет не заполнять, мерзавец???
C-подобный:
//+------------------------------------------------------------------+
char GetSARDirection(int bar)
{
   char s;
   if (iSAR(_Symbol,PERIOD_CURRENT,0.02,0.2,bar + 1) > Open[bar + 1] && iSAR(_Symbol,PERIOD_CURRENT,0.02,0.2,bar) < Open[bar])
      s = 1;
   else
   if (iSAR(_Symbol,PERIOD_CURRENT,0.02,0.2,bar + 1) < Open[bar + 1] && iSAR(_Symbol,PERIOD_CURRENT,0.02,0.2,bar) > Open[bar])
      s = -1;
   return(s);
}
//+------------------------------------------------------------------+
void PereborSar()
{
    uchar b,s;
    for(int i = 0; i < 61; i++)
    {
        char SAR = GetSARDirection(i);
        switch (SAR)
        {
            case 1:
                BarIndexBuy[b] = i;
                b++;
                break;
            case -1:
                BarIndexSell[s] = i;
                s++;
        }
        if (b == 3 && s == 3) break;
    }
}
Спасибо большое. Но это не та логика заполнения которую я вкладывал в свой код.
Когда GetSaRDirection равен 1 он должен записывать в BarIndexBuy[0]=1. Дальше когда бежит цик for и встречает условие при котором GetSaRDirection вернул был значение -1 он бы записал в BarIndexBuy[1]=i а BarIndexBuy[2]=i +1 и дальше он бы по итерации встретилось условие при который GetSaRDirection вернул бы 1 записал бы в BarIndexBuy[3]=i
 

ИванМН

Местный знаток
Дорогой Стар, откуда мне знать, какая у Вас там логика. Я просто проиллюстрировал свои слова постом выше. Образец я Вам дал, далее доправьте его, как Вам надо. Будет что неясно - мы все тут к Вашим услугам.
 

star603

Новичок форума
Дорогой Стар, откуда мне знать, какая у Вас там логика. Я просто проиллюстрировал свои слова постом выше. Образец я Вам дал, далее доправьте его, как Вам надо. Будет что неясно - мы все тут к Вашим услугам.
спасибо. Одно только было не понятно почему вайл не заполнял значения а иф с легкостью это делал.
 

star603

Новичок форума
Почему то не показывает сары а линия ппишет ставить но гдето внизу даже не видно
 

Вложения

  • Безымянный123.jpg
    Безымянный123.jpg
    233,2 КБ · Просмотры: 20
  • NewTarget.mq4
    NewTarget.mq4
    9,5 КБ · Просмотры: 8

Отслеживают (499) Посмотреть

Верх