Hatalar, hatalar, sorular - sayfa 621

 
sergey1294 :
öncelikle tamsayıları buna böler ve bir tamsayı alırsınız, tip döküm hakkında bilgi edinin https://www.mql5.com/en/docs/basis/types/casting
Evet gerçekten, ama bu daha önce hiç olmamıştı. zahmet bile etmedim.
 
ivandurak :
Evet gerçekten, ama bu daha önce hiç olmamıştı. zahmet bile etmedim.

Dördüncü olmadan önce mi? çünkü en başından beri ilk beşteydi ve her zaman da öyle olacak (1/2=0; 1./2.=0.5).

Yinelenenleri açıkça belirtmek istiyorsanız bir nokta ekleyin.

 // Script program start function                                    
void OnStart ()
  {
   int i;
   double    a,b ;
   for (i= 0 ;i< 10 ;i++)
      {
         a= 1 ./ 2 .;
         b= 1 ./ 2 .;
         Print ( "a=" ,a, " " , "b=" ,b) ;
      }   
  }
 
Urain :

Dördüncü olmadan önce mi? çünkü en başından beri ilk beşteydi.

Yinelenenleri açıkça belirtmek istiyorsanız bir nokta ekleyin.

Bu, dört ya da beşte hiç olmadı.

Tamsayı aritmetiği (ve hatta saf tamsayı sabitleri biçiminde) tek değerlidir.

 

Test cihazı ile demo hesabı arasında şu tutarsızlıkla karşılaştım:

Başarılı bir alım satım işleminden sonra alım satım sunucusu yanıt yapısındaki fiyat alanları farklı şekilde doldurulur. Demo hesapta, fiyat alanında her şey olması gerektiği gibi - işlemin yapıldığı fiyat, test cihazında bu alan 0 olarak kalıyor.

Kontrol etmek için, her bir onay işaretini satın alan ve günlükte iade kodunu ve fiyatı görüntüleyen bir danışman çizdim:

 //+------------------------------------------------------------------+
//|                                                  test-expert.mq5 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link       "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
{
return ( 0 );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
         MqlTradeRequest trade_request;
         MqlTradeResult   trade_result;
         ZeroMemory (trade_request);
         ZeroMemory (trade_result);
         trade_request.action= TRADE_ACTION_DEAL ; 
         trade_request.volume= 0.1 ; 
         trade_request.type= ORDER_TYPE_BUY ; 
         trade_request.price= SymbolInfoDouble ( _Symbol , SYMBOL_ASK ); 
         trade_request.symbol= _Symbol ;
         OrderSend (trade_request,trade_result);
         Print (trade_result.retcode, "купили по цене " ,trade_result.price);
  }
//+------------------------------------------------------------------+

Bir demo hesabında çalışırken, günlükte aşağıdaki satırlar görünür:

2012.01.16 12:48:29 test uzmanı (EURUSD,H1) 100091.266 fiyattan satın alındı

Ve görselleştiricide çalıştırıldığında bunlar:

2012.01.16 12:49:12 2011.12.30 00:00:11 100090.0 fiyatından satın alındı

Bu bir hata mı, bir özellik mi yoksa yanlış bir şey mi yapıyorum?
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
 

Tester'da geçmişi yönetmenin bir yolu var mı?

Ve sonra 01/01/2011 döneminden bugüne 1 saatlik test sadece 6000 bar yükler. Ayarlarda - maksimum çubuklar sınırsızdır. tüm hikaye 1971'den beri bir dakika içinde yüklendi.

 

Bu soru beklenmedik bir şekilde geldi:

Gösterge, iCustom aracılığıyla Expert Advisor'a yüklendiğinde, gösterge yüklenir ve düzgün çalışır - tek şey, OnTimer işlevinin içinde çağrılmamasıdır.

Bu tasarımdan mı yoksa bir hata mı?

Sadece çizelgeye atılan aynı gösterge kesinlikle iyi çalışıyor.

574 oluşturun.

 
Dima_S :

Bu soru beklenmedik bir şekilde geldi:

Gösterge, iCustom aracılığıyla Expert Advisor'a yüklendiğinde, gösterge yüklenir ve düzgün çalışır - tek şey, OnTimer işlevinin içinde çağrılmamasıdır.

Bu tasarımdan mı yoksa bir hata mı?

Yani amaçlandı.
 
antt :
Yani amaçlandı.
Çok orjinal)
 
Dima_S :
Çok orjinal)

Grafik için ve oradan üzerinde çalışan programlara (üzerine atılan) zamanlayıcı olayları oluşturulur. İdeoloji böyledir - Programların yürütülmesi :

İstemci terminali, ortaya çıkan olayları ilgili açık grafiklere gönderir. Olaylar ayrıca tablolar ( grafik olayları ) veya mql5 programları ( kullanıcı olayları ) tarafından da oluşturulabilir. Bir grafikte grafik nesneleri oluşturmak ve silmek için olayların oluşturulması, CHART_EVENT_OBJECT_CREATE ve CHART_EVENT_OBJECT_DELETE grafik özellikleri ayarlanarak etkinleştirilebilir ve devre dışı bırakılabilir. Her mql5 programı ve her çizelge, yeni gelen tüm olayların eklendiği kendi olay kuyruğuna sahiptir.

Program olayları yalnızca üzerinde çalıştığı grafikten alır. Tüm olaylar alındıkları sıraya göre birbiri ardına işlenir.

Bu nedenle Expert Advisor'dan çağrılan gösterge timer olaylarını kabul etmez. Expert Advisor'dan ChartIndicatorAdd işlevini kullanarak bu göstergeyi grafiğe eklemeye çalışın, herhangi bir değişiklik olacak mı?

 
Dima_S :
Çok orjinal)
Başlangıçta, etkinlik uzmanlara yönelikti ve aslında bir grafik etkinliğidir. Olayın göstergelerde kullanımı daha sonra eklendi ve bir sınırlama ile - gösterge tabloya eklenmelidir.