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

 
RusPro # :

Testinizi denedim, her şey tamamen aynı - birkaç saniye geride kaldı. ve gelenekte değil, gümüş bir gelecekte

Araç Silv-12.21. MICEX, komisyoncu BCS. Ama önemli olduğunu düşünmüyorum

Sizin durumunuzda, grafiğin tekliflere dayalı olmaması veya komisyoncunun farklı teklif ve ticaret akışlarına sahip olması mümkündür (ancak borsada olası değildir).

İşte özel araçlar hakkında bir konu.

 
Andrey Khatimlianskii # :

Sıradan araçlardan, geleneklerden bahsetmedik. Onlara göre, tanım gereği tüm bilgiler terminalde mevcuttur, sunucuya hiçbir şey gitmemelidir.

Evet, bir tür saçmalık olabilir - sunucu zaman isteği veya başka bir şey gibi. Genel olarak Lyap. Ve fiziksel bir bağlantı olmadığında test başlatılırsa - ne olacak? Merak ediyorum ama henüz kontrol edilecek bir şey yok

 

Merhaba!
Bazı nedenlerden dolayı geçmiş, özel karaktere kopyalanmaz. Kod basit. Hata atılmaz, ancak özel sembolde tırnak işareti yoktur.

Sadece gerçek alıntıları 1 saatlik bir vardiya ile özel bir sembole aktarmak istiyorum.

Sonuç neden boş?
Teşekkür ederim.


 int OnInit ()
  {
   
   string Sym1 = "EURUSD" ; /// источник
   string Sym2 = "EURUSD2" ;   /// приемник
   int HBack = 1 ;   /// количество часов сдвига
   datetime tc = StringToTime ( TimeCurrent ());   /// конец участка
   datetime sht = tc - HBack * 60 * 60 ;
   datetime sht2 = tc - 2 * HBack * 60 * 60 ;
   
   MqlRates mrates[];
   
   if ( CopyRates (Sym1, PERIOD_M1 , sht, tc, mrates) < 0 ){
        
         Alert ( "Ошибка копирования исторических данных - ошибка:" , GetLastError () );
         return ( INIT_FAILED );
        
        }
        
   if ( CustomRatesReplace (Sym2, sht2, sht, mrates, WHOLE_ARRAY ) < 0 ){
      
       Alert ( "Ошибка вставки исторических данных - ошибка:" , GetLastError () );
         return ( INIT_FAILED );
        
        }
      
   
   return ( INIT_SUCCEEDED );
  }
 

3083 oluşturun, sorun alakalı. SymbolInfoXXX, iClose'a kıyasla çok yavaştır :

özel araç teklifleri (hem işaretler hem de çubuklar) oluşturur ve günceller.

Bu çizelge üzerinde çalışan bir Uzman Danışman olarak adlandırılan SymbolInfoDouble ve SymbolInfoTick'in bir noktada " donuyor " olduğu gerçeğiyle karşılaştım: piyasa genel görünümünde fiyatlar değişiyor, çizelge güncelleniyor, iClose ve CopyTicksRange güncel veriler alıyor, ve SymbolInfoXXX güncel olmayan bilgiler verir.

Ayrıştırma sürecinde, bu "donmaları" algılamak için tasarlanmış en basit koda geldim, ancak çok daha önce sorunu diğer tarafta gösterdim: SymbolInfoXXX, iClose'a kıyasla tanrısız bir şekilde yavaş ! Bu çıplak gözle görülebilir:


Özel grafiğinizde böyle bir Uzman Danışman çalıştırın, lütfen:

 int OnInit ( void )
{
         EventSetMillisecondTimer ( 10 );
         return ( INIT_SUCCEEDED );
}

void OnDeinit ( const int reason)
{
         EventKillTimer ();
         Comment ("");
}

void OnTimer ( void )
{
         MqlTick tick;
         SymbolInfoTick ( _Symbol , tick );

         Comment ( " SymbolInfoInteger ( _Symbol , SYMBOL_TIME ) = ", TimeToString ( SymbolInfoInteger ( _Symbol , SYMBOL_TIME ), TIME_SECONDS ),
                                        "\nSymbolInfoDouble( _Symbol , SYMBOL_BID ) = ", SymbolInfoDouble ( _Symbol , SYMBOL_BID ),
                                        "\ntick.time = ", TimeToString ( tick.time, TIME_SECONDS ),
                                        "\ntick.bid = ", tick.bid,
                                        "\niClose[ 0 ] = ", iClose ( _Symbol , PERIOD_CURRENT , 0 ) );
}

(OnTimer, OnTick ile değiştirilebilir, özü değiştirmez)

Benzer frenleriniz var mı?


 
Andrey Khatimlianskii # :

Özel grafiğinizde böyle bir Uzman Danışman çalıştırın, lütfen:

Benzer frenleriniz var mı?

Güncellenmeyen ve Market Watch'ta işareti olmayan özel bir sembol, kekemelik hissetmez.

 
MOZART09 özel sembole kopyalanmaz. Kod basit.

En basit kod, özel bir sembol oluşturamaz. Orada bir tef ile çok fazla dansa ihtiyacınız var. Görmek.

Пользовательские символы: основы применения на практике
Пользовательские символы: основы применения на практике
  • www.mql5.com
Статья посвящена программной генерации пользовательских символов, с помощью которых демонстрируется несколько популярных способов отображения котировок. Предложен вариант малоинвазивной адаптации советников для торговли реальным символом с графика производного пользовательского символа. Исходные коды MQL прилагаются.
 
fxsaber # :

Güncellenmeyen ve Market Watch'ta işareti olmayan özel bir sembol, kekemelik hissetmez.

Muhtemelen frenler sadece güncellemede olduğu için (daha doğrusu, böyle bir grafik üzerinde çalışan bir danışman tarafından güncellenmiş bilgilerin alınması)?

 
Andrey Khatimlianskii # :

Muhtemelen frenler sadece güncellemede olduğu için (daha doğrusu, böyle bir grafik üzerinde çalışan bir danışman tarafından güncellenmiş bilgilerin alınması)?

Güncellenebilir özel semboller kullanmıyorum, bu yüzden bilmiyorum.

 

Derleme 3091, sıkışmış alıntılar bulundu (tıklayın):


SymbolInfoDouble ve SymbolInfoTick tarafından döndürülen son onay işareti 04:52:07'dir (teklif 61083.19)

Aynı zamanda, enstrümanın geçmişinde daha yeni tikler vardır, grafik ve piyasa saati güncellenir, iClose doğru değeri döndürür.

Oynamak için bir kod var. Başka nelerin düzeltilmesi gerekiyor?

 

Bir bağımlılık buldum - yalnızca çizelgelerin açıldığı araçlar (ve sırasıyla izleme için EA) dondu.

Grafik aracını başka bir araçla değiştirirseniz (ayrıca özel, ancak şu ana kadar etkin değil), her şey yolundadır. "Donmuş" enstrümana geri dönerseniz veya onun için yeni bir tablo açarsanız, SymbolInfoDouble ve SymbolInfoTick aynı donmuş durumda olacaktır.