Hatalar, hatalar, sorular - sayfa 1009

 
TheXpert :

Düğme çağırmanın bir yazılım eşdeğeri var mı?

ChartRedraw çalışmıyor.

MQL5 ile değil, aksini bilmiyorum. Bir uygulama Hizmet Masasında zaten asılı durumda, ancak şu ana kadar sağır durumda.
 

Tamam soruyu farklı sorayım belki normal bir cevabı vardır.

Bir zamanlayıcı olayının gelmesi üzerine hesaplanan bir gösterge vardır.

Onay işareti yoksa, gösterge verileri güncellendikten sonra bile, grafik yenilenmeye zorlanana kadar grafikte gösterilmezler.

Keneler olmadan yeni verilerin otomatik olarak görüntülenmesini sağlamanın normal bir yolu var mı?

 
TheXpert :

Tamam soruyu farklı sorayım belki normal bir cevabı vardır.

Bir zamanlayıcı olayının gelmesi üzerine hesaplanan bir gösterge vardır.

Onay işareti yoksa, gösterge verileri güncellendikten sonra bile, grafik yenilenmeye zorlanana kadar grafikte gösterilmezler.

Keneler olmadan yeni verilerin otomatik olarak görüntülenmesini sağlamanın normal bir yolu var mı?

Yeni bir onay işareti gelene kadar tüm veri dizisi görüntülenmediğinde bir sorun vardır. Ve Yenile düğmesini tıklayabilir veya zaman dilimini değiştirebilirsiniz. Bu gibi durumlar için timer'da OnCalculate ()'e bir çağrı yaptım ama faydası olmuyor. Ayrıca, gösterge arabelleklerinden veri alabilirsiniz, ancak bunlar yeni bir onay işaretine veya zorunlu bir güncelleme veya zaman çerçevesi değişikliğine kadar görüntülenmez.

Bunu bir hata olarak görüyorum.

Aynı durum sizde mi yoksa gösterilmeyen en son yeni veriler mi?

 
tol64 :

Sizde de aynı durum var mı yoksa gösterilmeyen en son yeni veriler mi?

Muhtemelen aynı. Şu anda offline ve hafta sonları çalışma mantığı üzerinde çalışıyorum.

Bu işleve program erişimi sağlamak için kaynaklar üzerinde muhtemelen çok pahalı bir zevk. Ancak gösterge (x) değerinden daha fazla değiştiyse güncellemeye değer olacaktır.

 
ChartRedraw yardımcı olmuyor mu?
 
Renat :
ChartRedraw yardımcı olmuyor mu?
Kontrol ettiğim ilk şey - ne yazık ki.
 
TheXpert :

Tamam soruyu farklı sorayım belki normal bir cevabı vardır.

Bir zamanlayıcı olayının gelmesi üzerine hesaplanan bir gösterge vardır.

Onay işareti yoksa, gösterge verileri güncellendikten sonra bile, grafik yenilenmeye zorlanana kadar grafikte gösterilmezler.

Keneler olmadan yeni verilerin otomatik olarak görüntülenmesini sağlamanın normal bir yolu var mı?

Kanıtlanmış eski bir yöntem, zaman çerçevesini değiştirmektir. Daha iyisini istemek için.

Düğmeye tıklandığında burada yapılır: https://www.mql5.com/en/code/224

ChartReinit
ChartReinit
  • oylar: 7
  • 2010.11.29
  • Vladimir Gomonov
  • www.mql5.com
Кнопочная переинициализация чарта с перерасчетом всех индикаторов, а также простенький и прозрачный объектно-ориентированный пример обработки всех чартов из одного эксперта.
 

821 inşa

standart kütüphaneyi ( class CTrade ) kullanırken piyasada alım için pozisyon açarken 2,5 saniye sonra stop veya kar değiştirmek için seçilebilir (daha az çalışmaz)

 PositionSelect ( _Symbol )

yanlış döndürür

satış pozisyonunda böyle bir durum yok


 //+------------------------------------------------------------------+
//|                                                test_open_buy.mq5 |
//|                                                         olyakish |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "olyakish"
#property link        "http://www.mql5.com"
#property version    "1.00"
#include <Trade\Trade.mqh> 
CTrade trade;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {

   double Ask= SymbolInfoDouble ( _Symbol , SYMBOL_ASK ); // лучшее предложение на покупку

   bool res=trade.PositionOpen( _Symbol , // инструмент
                               ORDER_TYPE_BUY , // 
                               0.1 , // количество лотов для торговли
                               Ask, // последняя цена bid
                               0.0 , // Stop Loss
                               0.0 , // Take Profit 
                               " " );
// без комментариев  
   Print ( "res=" ,res);
   Print ( PositionSelect ( _Symbol ));
   Sleep ( 2500 );
   Print ( PositionSelect ( _Symbol ));

  }
//+------------------------------------------------------------------+
2013.07 . 01 14 : 49 : 57      test_open_buy (EURUSD,M1)       res= true
2013.07 . 01 14 : 49 : 57      test_open_buy (EURUSD,M1)       false
2013.07 . 01 14 : 49 : 59      test_open_buy (EURUSD,M1)       true
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade
  • www.mql5.com
Стандартная библиотека / Торговые классы / CTrade - Документация по MQL5
 
void GetHistoryProperties()
  {
// Узнаем, есть ли позиция
 
   HistorySelect (t1,t0);
   ulong     ticket= 0 ;
   uint      total= HistoryDealsTotal ();
   
   for ( uint i= 0 ;i<total;i++){
   if ((ticket= HistoryDealGetTicket (i))> 0 ){
   bool ss= HistoryOrderGetString (ticket, ORDER_SYMBOL ,symbol1); //не работает
   Print (symbol1, " ---" , Symbol (), " " ,ss, " " ,ticket);
     //пустое значение symbol1
   //или так
  symbol1=myhistory. Symbol ();
   Print (symbol1, " ---" , Symbol (), " " , ticket);
   //пустое значение symbol1
 if ( Symbol ()==symbol1)   {   //Без этого условия всё работает




     }}}

//---
   SetInfoPanel(); // Установим/обновим информационную панель
  }  
Geçmiş hata veya hatasında sipariş sembolü alamıyor musunuz?
 
zfs :
Geçmiş hata veya hatasında sipariş sembolü alamıyor musunuz?

Yani sorunuza cevap vermişsiniz gibi görünüyor. İşlem geçmişinden bir bilet seçiyorsunuz ve sipariş geçmişinden mülkü almaya çalışıyorsunuz. Bunlar farklı listeler.

PS Ve örnekler içeren bir makale var: MQL5 Tarifleri - Konum Özelliklerini Almak için Anlaşma Geçmişi ve İşlev Kitaplığı