Özel semboller. Hatalar, hatalar, sorular, öneriler. - sayfa 9

 
Andrey Khatimlianskii :

2009 ve 2025'i aynı yerde doldurdu .

Teşekkür ederim. 1970'den fazla yapıyı denedim - aynı ticaret hesabı içinde kalarak özel sembolleri yeniden yaratana kadar herkeste bu hata var.

 
fxsaber :

2009:

2033:

 

Hata 10.

Karakter silinemiyor.

 #define PRINT(A) Print ( #A + " = " + ( string )(A))

void OnStart ()
{
   MathSrand (( uint ) TimeLocal ());
  
   const string Name = _Symbol + ( string ) MathRand ();

  PRINT( CustomSymbolCreate (Name));

  PRINT( CustomRatesDelete (Name, 0 , 0 )); // Без этой строки удаление работает.
  
  PRINT( CustomSymbolDelete (Name)); // false
  PRINT( GetLastError ());  
}


 CustomSymbolCreate (Name) = true
CustomRatesDelete (Name, 0 , 0 ) = 0
CustomSymbolDelete (Name) = false
GetLastError () = 5306
 

Hata 11.

CustomTicksAdd çubuk oluşturmaz.

 // Проигрываем тиковую историю через таймер.
#define PRINT(A) Print ( #A + " = " + ( string )(A))

void OnInit ()
{
   if ( EventSetMillisecondTimer ( 20 )) // С такой частотой будем пробрасывать тики
     MathSrand (( uint ) TimeLocal ());  
}

void OnTimer ()
{
   static const string Name = _Symbol + ( string ) MathRand ();
  
   static bool FirstRun = true ;
   static MqlTick Ticks[];
   static int Pos = 0 ;
    
   if (FirstRun)
  {
    PRINT( CustomSymbolCreate (Name, NULL , _Symbol )); // Создали символ.
  
    PRINT( CustomRatesDelete (Name, 0 , 0 )); // Без этой строки работает.     
    PRINT( SymbolSelect (Name, false ));     // https://www.mql5.com/ru/forum/304554/page9#comment_11680616
    
    PRINT( CustomSymbolDelete (Name));                 // Убили.
    PRINT( CustomSymbolCreate (Name, NULL , _Symbol )); // Воскресили.
    
     if ( SymbolSelect (Name, true )) // Поместили в Обзор рынка
    {
       ChartOpen (Name, PERIOD_M1 );             // Открыли чарт
      PRINT( CopyTicksRange ( _Symbol , Ticks, COPY_TICKS_INFO , ( TimeCurrent () - 3600 ) * 1000 )); // Взяли тики (последний час) для проброса
    }
      
    FirstRun = false ;
  }
   else if (Pos < ArraySize (Ticks))
  {
     MqlTick Tick[ 1 ];
    
     // Пробрасываем по тику
    Tick[ 0 ] = Ticks[Pos++];
     CustomTicksAdd (Name, Tick);
  }
}

Açılan tablo üzerinde barlar oluşmayacaktır. Keneler, Piyasa İzleme'de güncellenir.

 

Hata 12.

Sıfırdan özel bir sembol oluştururken (örneğin CTRL+U aracılığıyla), maksimum hacim, Test Cihazının kârını hesaplayamayacağı şekilde ayarlanır.

 #include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define Ask SymbolInfoDouble ( _Symbol , SYMBOL_ASK )

void OnInit ()
{
   // Именно такой макс. объем автоматом прописывается при создании кастомного символа с нуля.
   const double Lot = 1 e11; // SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX)
  
   OrderSend ( _Symbol , OP_BUY, Lot, Ask, 0 , 0 , 0 ); // После закрытия этой позиции ее профит будет нулевым.
}
 
Nedense geliştiricilerin eli bu dalda tekrarlanabilir hatalara ulaşmıyor.
 
fxsaber :
Nedense geliştiricilerin eli bu başlıktaki tekrarlanabilir hatalara ulaşmıyor.
muhtemelen davet etmelisin
 

Slava Stringo'yu davet etti.

Bu alana (ek 1) özel bir araç ile giriyorum. tırnak işaretleri olmadan açılır. menüden açarsam her şey yolundadır.

Ek 2 bu arada.

ek 3: bu düğmeden bıktım, kimsenin buna ihtiyacı yok. gizleme seçeneğini belirleyin. referans var. anket yapalım.

spsb

Dosyalar:
x34zq9.PNG  2 kb
1wvlwh2.PNG  10 kb
qfd9jf.PNG  2 kb
 
superman :

Slava Stringo'yu davet etti.

Bu alanda (ek 1) kullanıcı aracını sürüyorum. tırnak işaretleri olmadan açılır. menüden açarsam her şey yolundadır.

Ek 2 bu arada.

O kadar davetli değil.

Yani: @Slava

 
fxsaber :

Hata 07.

Test kullanıcısı, Teklife göre yapı çubuklarının fiyatıyla özel sembol alışverişi yapmak için Last'e göre çubuklar oluşturur.

Buna göre, Terminal ve Test Cihazındaki çubuk geçmişi tamamen farklıdır. Ve eğer TS'deki biri çubuk kullanıyorsa (örneğin göstergeler), o zaman geriye dönük test sonucu onun için rastgeledir.

Özel sembol belirtimini göster.

Ve özel keneler verin.

Bir şeyi düzeltmek için önce yeniden üretmelisiniz