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

 
MaxZ:

Словарь ответит на Ваш вопрос. И Вы вообще в код заглядывали? На долго? Если это Ваш код, то понять смысл 10 добавленных строчек не составит для Вас труда.



ВСЕ получилось спасибо,хорошо чтоесть такие люди, как вы!!!
 
MaxZ:

Индикатор Force Index работает отлично. Вы проверьте лучше Свой код, написанный раннее.


Опечатался, бывает, но суть таже) визуально iForce"0" пересекает, но на деле все также торгует только в BUY
 
SeALALex:

ВСЕ получилось спасибо,хорошо чтоесть такие люди, как вы!!!

Я рад, что Вы разобрались. Уверен и Вы в скором времени будете помогать Нашим Новичкам! :))


vilard:

Опечатался, бывает, но суть таже) визуально iForce"0" пересекает, но на деле все также торгует только в BUY
Код в студию. Но не нужно больше писать, что индикатор неправильно работает! :D
 
MaxZ:

Я уже более полгода пользуюсь следующей конструкцией:

Появление нового бара также можно проверить через предопределённую переменную Bars. Но Мне приелся именно способ, описанный выше. Возможно через Bars работает быстрее! :D


datetime TimeLastBar;
...

int start()
{
...

if (TimeLastBar != Time[0])
{
TimeLastBar = Time[0];
...
}
}

Здесь переменна TimeLastBar должна быть описана как то по особому? Как глобальная?

 
В иницилизацию поставил открытие, в деини - закрытие, он записывать должен каждый тик, но файл который в каталоге files пустой.
 
nuan:
В иницилизацию поставил открытие, в деини - закрытие, он записывать должен каждый тик, но файл который в каталоге files пустой.
Может потому что ордеров нет?
 

нет он выставил и закрыл к тому моменту 5-6 ордеров. Я в тестере стратегий тестил.

Сорь, нашел ошибку.

 
first_may:

Здесь переменна TimeLastBar должна быть описана как то по особому? Как глобальная?

Ну как бы да. Чтобы её значение не обнулялось после выхода из start(). Если это вызывает проблему, можете вот так описать:

int start()
{
...

static datetime TimeLastBar;

if (TimeLastBar != Time[0])
{
TimeLastBar = Time[0];
...
}

...
}
:)))))))))))
 
for(int ss=0;ss<OrdersTotal();ss++)
      {
        if(OrderSelect(ss,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()==0||1)
          if(TimeCurrent()>=OrderOpenTime()+15*60)
              {
               for (int j=0; j<OrdersTotal(); j++)         // По всем ордерам
                  {
   if(OrderSelect(j,SELECT_BY_POS)==true)  // Если есть следующ.
     {                                     
      double ТР =    OrderTakeProfit();     // TakeProfit ордера
      double Profit= OrderProfit();         // Прибыль по ордеру
      double Lots  = OrderLots();           // Количество лотов
     
      //......Использование значений ТР и Profit в программе..... 
      FileWriteDouble(h,Profit,FLOAT_VALUE);
      FileWrite(h,"\n");
      
     }
                }       
              }
      }
Писать то пишет в файл но тарабарщину какую то ...
 
nuan:
Сам пишу только карандашом, но может ссылочка чем поможет.
Причина обращения: