Вопросы от "чайника" - страница 42

 
uncleVic:
Это означает, что в структуре результата исполнения торговой операции цена не установлена.

То есть, если нули, то я что-то не правильно делаю? При тестировании в тестере все сделки открываются успешно, но у всех сделок стоит [done at 0.0000].

 

А в режиме реального времени на демо-счёте такого не наблюдается:

 

Скорее всего я что-то недопонимаю. ))) Прошу пояснить.

 
uncleVic:
Это означает, что в структуре результата исполнения торговой операции цена не установлена.
Какая цена и почему не установлена ? И зачем это выводить, если другого значения просто не бывает ? И для кого это выводится, если никто не знает что это такое ?
 
Valmars:
Какая цена и почему не установлена ? И зачем это выводить, если другого значения просто не бывает ? И для кого это выводится, если никто не знает что это такое ?
Возможно Тестер что-то недозаполняет. Выясним.
 
uncleVic:
Возможно Тестер что-то недозаполняет. Выясним.

Ну, и предполагал что-то подобное, и вопросов не задавал - некритично, рано или поздно, и до этого руки дойдут. А раз вопрос прозвучал, решил поддержать.

Спасибо за ответ.

 
uncleVic:

Если так, то Вам придётся реализовывать свои алгоритмы самостоятельно в своём классе унаследованном от CExpertSignal,


с этим понятно, а

uncleVic:

с перегрузкой соответствующих методов и последующей вставкой в исходник полученный из Мастера

можно кокой-то простенький пример ?
 

Имеется 8 массивов USD[ ],EUR[ ],.......... Можно ли программно подставлять название массива, т.е. USD и EUR из массива с названиями Sym{"USD","EUR",......}? может есть другой подход?

 
Lodar:

с этим понятно, а

можно кокой-то простенький пример ?

Например:

...
class CMyExpertSignal : public CExpertSignal
  {
public:
   virtual double Direction()
     {
      //--- алгоритм отличный от реализованного в классе CExpertSignal
     }
   virtual bool OpenLongParams(double& price,double& sl,double& tp,datetime& expiration)
     {
      //--- алгоритм отличный от реализованного в классе CExpertSignal
     }
   virtual bool OpenShortParams(double& price,double& sl,double& tp,datetime& expiration)
     {
      //--- алгоритм отличный от реализованного в классе CExpertSignal
     }
  };
...
//+------------------------------------------------------------------+
//| Initialization function of the expert                            |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Initializing expert
...
//--- Creating signal
   CExpertSignal *signal=new CMyExpertSignal;
   if(signal==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating signal");
      ExtExpert.Deinit();
      return(-2);
     }
//---
 
uncleVic:

Например:

класс, спасибо получилось, а заставить его ставить селл и бай одновременно можно ? а то он например убирает отложенные сел и ставить бай, делал вот так
bool MyClass::CheckCloseLong( double&  price)
{
   return(false);
}

bool MyClass::CheckCloseShort( double&  price)
{
   return(false);
}
но он и ставить отказывается :)
 
Lodar:
класс, спасибо получилось, а заставить его ставить селл и бай одновременно можно ? а то он например убирает отложенные сел и ставить бай, делал вот так
но он и ставить отказывается :)
Это нужно дорабатывать (наследоваться и менять алгоритмы) класс CExpert.
 
uncleVic:
Это нужно дорабатывать (наследоваться и менять алгоритмы) класс CExpert.
все разобрался, спасибо!