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

 
hoz:

http://photoload.ru/data/c4/9a/b1/c49ab15e130c84a1ca9c51711fcf423a.jpg У меня с понимание логики индикаторов есть ещё непонятки. Вот например, если взять стандартный индикатор Moving Average.

В старте есть:

 Тут всё логично, дальше идёт уже вызов той функции, которую выбрал пользователь.. из окна, которое появилось при натяге на график индикатора. Так?

 

 В ИНИТЕ есть кусок кода, который я закомментировал:

И тем не менее в окне DataWindow название пишется. Вот скрин:

 

 Возникает вопрос. Зачем в ИНИТе этот кусок кода вообще?

 


Удалите график из окна (вообще) и запустите снова, имя пропадет. Реинициализация на подокнах проходит только так.
 
alsu:

Удалите график из окна (вообще) и запустите снова, имя пропадет. Реинициализация на подокнах проходит только так.

 Действительно. Теперь всё чётко.
 
TarasBY:
Есть самый простой способ разобраться в своей писанине - осознать каждую строчку кода (подписав). И очень вероятно, что придёт прозрение!..
P.S. А ещё желательно научиться вставлять в свой пост код через нажатие кнопочки "SRC".

Спасибо учту.
 

Здравствуйте!

Кто небуть встречал полуавтоматический советник по уравням Фибоначчи, тобиш я рисую, он торгует. мне помог би и код Фибоначчи встроенного в MQ4.

Спасибо. 

 
Подскажите пожалуйста,как определить время преобразования отложенного ордера в рыночный?
 
Объясните пожалуйста сам вопрос в комментарии кода
 { int buys=0,sells=0;
 {
  
    for (int i=0;i>OrdersTotal();i++)                            //цикл перебора ордеров ????
  {
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)break;     // если есть ордер ????
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)   // определяем принадлежность ордера к инструменту и маджику  ????
      {
         if(OrderType()==OP_BUY)  buys++;               // что означает buys++  ????????? присвоивает переменной новое значение?
         if(OrderType()==OP_SELL) sells++;             // и sell++     ?????????????
        }
        }
 
novator:
Объясните пожалуйста сам вопрос в комментарии кода

переменная накапливающая ордера на покупку увеличивается на 1 (программистские штучки)
 
YOUNGA:

переменная накапливающая ордера на покупку увеличивается на 1 (программистские штучки)
Спасибо,
тоесть если ордеров больше чем 0 происходит выход из функции ?
 {
   int buys=0,sells=0;
//----
   for(int i=1;i>OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
//---- 
   if(buys>0) return(buys);
   else       return(-sells);
 

Здравствуйте!

 Как возможно поправить код, для того чтобы он искал максимумы и минимумы не только внутри дня а так-же по заданному интервалу через несколько дней?

Вот что есть:

if(StartHour<=EndHour)

      {

         delta=(EndHour*3600+EndMinute*60)-(StartHour*3600+StartMinute*60);

         timeStart=iTime(NULL,PERIOD_D1,0)+StartHour*3600+StartMinute*60;

         timeEnd  =timeStart+delta;

      }

      if(StartHour>EndHour)

      {

         delta=(1440*60-(StartHour*3600+StartMinute*60))+(EndHour*3600+EndMinute*60);

         timeEnd=iTime(NULL,PERIOD_D1,0)+EndHour*3600+EndMinute*60;

         timeStart  =timeEnd-delta;

 
Legeo777:

Здравствуйте!

 Как возможно поправить код, для того чтобы он искал максимумы и минимумы не только внутри дня а так-же по заданному интервалу через несколько дней?

Вот что есть:

if(StartHour<=EndHour)

      {

         delta=(EndHour*3600+EndMinute*60)-(StartHour*3600+StartMinute*60);

         timeStart=iTime(NULL,PERIOD_D1,0)+StartHour*3600+StartMinute*60;

         timeEnd  =timeStart+delta;

      }

      if(StartHour>EndHour)

      {

         delta=(1440*60-(StartHour*3600+StartMinute*60))+(EndHour*3600+EndMinute*60);

         timeEnd=iTime(NULL,PERIOD_D1,0)+EndHour*3600+EndMinute*60;

         timeStart  =timeEnd-delta;

 


А зачем так мудрить?По-моему проще использовать стандартный массив тайм-серию и оператор for.Меняй значения индекса и искомый параметр и будет тебе счастье.

Причина обращения: