Hatalar, hatalar, sorular - sayfa 2380

 
bool CTrade::PositionClosePartial(const ulong ticket,const double volume,const ulong deviation,const string comment = NULL)
{
...
  m_request.comment = (comment == NULL) ? ::PositionGetString(POSITION_COMMENT) : comment;
...
 
fxsaber :

Mevcut mantık bozuldu.

Böyle daha ilginç olacak

 bool CTrade::PositionClosePartial( const ulong ticket, const double volume, const ulong deviation, const string comment = "" )
{
...
  m_request.comment = (comment == NULL ) ? :: PositionGetString ( POSITION_COMMENT ) : comment;
...

Çağrılar değiştirilmezse, daha önce olduğu gibi yorumun üzerine yazılacaktır.

NULL'u açıkça geçerseniz, mevcut yorumu kopyalarız

 
Slava :

Mevcut mantık bozuldu.

Bu mantığı kimse kullanmıyor. Özellikle de o belalı olduğu için.

 
Slava :

Mevcut mantık bozuldu.

Böyle daha ilginç olacak

Çağrılar değiştirilmezse, daha önce olduğu gibi yorumun üzerine yazılacaktır.

NULL'u açıkça geçerseniz, mevcut yorumu kopyalarız

lütfen bak ve

 bool CTrade::PositionClose( const string symbol, const ulong deviation)

pozisyonu kapatmak için 10 (!!!) deneme yapıyor :(

 2019.01 . 28 16 : 58 : 11.764 57384742         Si- 3.19 buy     in        1.00      66492    98591318         - 1.03    0.00      0.00             Price= 66493
2019.01 . 28 17 : 01 : 14.586 57384818         Si- 3.19 sell     out      1.00      66503    98591566          0.00      0.00      11.00            
2019.01 . 28 17 : 01 : 14.598 57384819         Si- 3.19 sell     in        1.00      66502    98591567         - 1.03    0.00      0.00              
2019.01 . 28 17 : 04 : 16.067 57385000         Si- 3.19 buy     out      1.00      66514    98591891          0.00      0.00     - 12.00           

vurgulanan satır 2. pozisyon kapatma girişimi :) Ve loglardan da görebileceğiniz gibi pek başarılı değil

Şu anda kullanıyorum:

 bool CTrade::PositionClose( const ulong ticket, const ulong deviation)

Pozisyonu kodla kapatmak için zaten bir deneme var. Pozisyon kapatma gerçeği üzerinde kontrolü kullanıcıya emanet etmek doğru görünüyor. 10 deneme her derde deva değil

 
Slava :

Mevcut mantık bozuldu.

Böyle daha ilginç olacak

Çağrılar değiştirilmezse, daha önce olduğu gibi yorumun üzerine yazılacaktır.

NULL'u açıkça geçerseniz, mevcut yorumu kopyalarız

Ya da belki daha uygun olurdu

 bool CTrade::PositionClosePartial( const ulong ticket, const double volume, const ulong deviation, const string comment = NULL )
{
...
  m_request.comment = (comment == NULL ) ? :: PositionGetString ( POSITION_COMMENT ) : comment;
...

O zaman kimin ihtiyacı varsa, üzerine boş bir değer yazılacaktır. Ve varsayılan olarak kopyalanacaktır.

 

Sevgili geliştiriciler!

Terminal 1983 için güncellendi. Grafik nesneleri oluştururken test cihazında anlaşılmaz hatalar görünmeye başladı (dikey çizgiler ve trend çizgileri oluşturuyorum). 1981'de her şey yolundaydı.

Şimdi 4001 hatası alıyorum.

Oluşturma kodu:

 //+------------------------------------------------------------------+
//| Создаем трендовую линию на чарте                                                                                    |
//+------------------------------------------------------------------+
void DrawTrendLine( const string id, // Строковый идентификатор
                   const datetime t1,         // Время первой точки линии
                   const datetime t2,         // Время второй точки линии
                   const double price, // Цена обеих точек линии
                   const color clr             // Цвет линии
                   )
  {
//--- Формируем имя линии
   const string name=_prefix+id+ TimeToString (t1)+ "_" + TimeToString (t2);
//--- Сбрасываем код последней ошибки
   ResetLastError ();
//---
//Print( __FUNCTION__,": Создаем тренд-линию "+name+": t1 = "+TimeToString( t1 )+", t2 = "+TimeToString( t2 )+", price = "+DoubleToString( price ) );
//--- Создаем объект, проверяем создание
   if ( ObjectCreate ( 0 ,name, OBJ_TREND , 0 ,t1,price,t2,price))   // Если объект создан
     {
       //--- Меняем свойства линий
       ObjectSetInteger ( 0 ,name, OBJPROP_COLOR ,clr);
       ObjectSetInteger ( 0 ,name, OBJPROP_BACK , true );
       ObjectSetInteger ( 0 ,name, OBJPROP_SELECTABLE , false );
       ObjectSetInteger ( 0 ,name, OBJPROP_SELECTED , false );
       ObjectSetInteger ( 0 ,name, OBJPROP_STYLE , STYLE_DOT );
       ObjectSetInteger ( 0 ,name, OBJPROP_RAY_LEFT , false );
       ObjectSetInteger ( 0 ,name, OBJPROP_RAY_RIGHT , false );
     }
   else                                                  // Если объект не создан
   Print ( __FUNCTION__ , ": ОШИБКА #" , GetLastError (), ": Объект '" +name+ "' не построен! t1 = " + TimeToString (t1)+ ", t2 = " + TimeToString (t2)+ ", price = " + DoubleToString (price));
  }
//+------------------------------------------------------------------+
//| Создаем вертикальную линию на чарте                              |
//+------------------------------------------------------------------+
void DrawVLine( const string id,         // Строковый идентификатор
               const datetime time       // Время
               )
  {
//--- Формируем имя линии
   const string name=_prefix+id+ TimeToString (time);
//--- Сбрасываем код последней ошибки
   ResetLastError ();
//--- Создаем объект, проверяем создание
   if ( ObjectCreate ( 0 ,name, OBJ_VLINE , 0 ,time, 0 ))   // Если объект создан
     {
       //--- Меняем свойства линий
       ObjectSetInteger ( 0 ,name, OBJPROP_COLOR ,_vLineClr);
       ObjectSetInteger ( 0 ,name, OBJPROP_BACK , true );
       ObjectSetInteger ( 0 ,name, OBJPROP_SELECTABLE , false );
       ObjectSetInteger ( 0 ,name, OBJPROP_SELECTED , false );
       ObjectSetInteger ( 0 ,name, OBJPROP_STYLE , STYLE_DOT );
     }
   else                                                  // Если объект не создан
   Print ( __FUNCTION__ , ": ОШИБКА #" , GetLastError (), ": Объект '" +name+ "' не построен! t1 = " + TimeToString (time));
  }
 
Ayrıca, test cihazındaki yorumlar artık görüntülenmiyor.
 

Geliştiricilere soru.

Yorum parametresi, standart kitaplık işlevi mytrade.PositionClose( const string sembolü, ulong sapma=ULONG_MAX) : const string comment=""

Ne bu, gözden kaçma mı?

 

Buraya yazmak daha doğru gibi görünüyor:

https://www.mql5.com/ru/forum/302709#comment_10570043

Вопросы по проектам / папки Projects и Shared Projects
Вопросы по проектам / папки Projects и Shared Projects
  • 2019.02.08
  • www.mql5.com
Попытался начать работать с проектами, но что-то не ладится. Допустим, уже есть исходный файл с инклудами...
 
STATUS_TERMINAL_PATH'i Belgelerden kaldırın.