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

 
alsu:
тогда могу посоветовать только одно - выставить Print'ы во всех потенциально проблемных местах, а нам сюда логи неторгующего советника. Если, конечно, по принтам сами раньше не разберетесь.


была проблемма со стопами, я исправил)

Все равно,спасибо большое, что отозвались на просьбу)

 

 
получилось ))- сайт плохо грузится.
 
LeRus:

Добрый вечер.

Нигде не могу найти как программно наложить индикатор Bollinger Bands на другой индикатор /не на график цен/ и потом узнать значения верхней и нижней полосы.

Буду очень признателен если кто подскажет.



Покажи, как ты его руками накладываешь
 

Ivn:

Почему открывается сделка?

Выведите Comment`ами все флаги на график и будет видно почему сделка открывается.
 
kellin:
Спасибо вам за проделанную работу. Буду изучать на практике, для меня важно, что бы цена открытия по ордеру точно совпала с ценой нового бара. Напишу что получается в реальности.

Хорошо.
 
LeRus:

Добрый вечер.

1. Нигде не могу найти как программно наложить индикатор Bollinger Bands на другой индикатор /не на график цен/

2. и потом узнать значения верхней и нижней полосы.

Буду очень признателен если кто подскажет.



Добрый.
1. В помощь. + разбор прицепа: сов Бандс по РСИ и трал по параболику.

2.

   double op,sl,tp;
   double rsi[101]; 
   double irsi;  
   double fractal;
   ArraySetAsSeries(rsi,true);
   for(int i=100; i>=0; i--)  
   {
   rsi[i]=iRSI(NULL,0,rsiperiod,PRICE_CLOSE,i);
   if(i==1){irsi=rsi[i];}
   }
   
   double bbup=iBandsOnArray(rsi,0,bbperiod,bbotcl,0,MODE_UPPER,1);
   double bblow=iBandsOnArray(rsi,0,bbperiod,bbotcl,0,MODE_LOWER,1); 
   

double bbup=iBandsOnArray(rsi,0,bbperiod,bbotcl,0,MODE_UPPER,1);
double bblow=iBandsOnArray(rsi,0,bbperiod,bbotcl,0,MODE_LOWER,1); 
Файлы:
 
 for (int i=1; i<=OrdersTotal(); i++)       
     {                                      
      if(OrderSelect(i-1,SELECT_BY_POS, MODE_HISTORY)==true)
        {                                     
         RAZ=OrderOpenPrice()-OrderClosePrice();
         Sum=sum+RAZ;
        }
          Print("Sum ="sum);
     }          
При тести советника на CFD возникают проблемы, в тесторе результа выдается не соответсвующий действительности....можно ли функцию в советник вставить что бы сама считала прибыль, т.е. проанализовала все ордера в истории(по сути дела просчитать разницу между открытием ордера и его закрием) и просуммировать??????

правильно хоть сделал ии нет?
 
Vovo4ka:
При тести советника на CFD возникают проблемы, в тесторе результа выдается не соответсвующий действительности....можно ли функцию в советник вставить что бы сама считала прибыль, т.е. проанализовала все ордера в истории(по сути дела просчитать разницу между открытием ордера и его закрием) и просуммировать??????

правильно хоть сделал ии нет?


Почти:

 for (int i=0; i<OrdersTotal(); i++)       
     {                                      
      if(OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)==true)
// Можно вставить ещё if(OrderSymbol()==ВашСимвол} и if(OrderOpenTime()>=ДатаНачалаПодсчётаПрибыли )   
        {                                     
         Sum+=OrderProfit();  //OrderOpenPrice()-OrderClosePrice();
        }
     } 
  Print("Sum ="sum);
 

Но учтите что при тестировани на разных таймфреймах, разными методами(все тики или по открытию к примеру) и даже при оптимизации и просто прогоне прибыль может отличаться.

 
Sepulca:


Почти:

Но учтите что при тестировани на разных таймфреймах, разными методами(все тики или по открытию к примеру) и даже при оптимизации и просто прогоне прибыль может отличаться.


Почему то берется прибыль, не та которая должна быть.....когда закрывается лот, обрано когда прибыль должна быть 30пп в прибыли пишется совершенно другое....хрень какая то