[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 345

 
alsu >> :

OrderSelect (0,SELECT_BY_POS, MODE_HISTORY) - geçmişteki son siparişi seçer

OrderSelect (1,SELECT_BY_POS, MODE_HISTORY) - sondan bir önceki

sırasıyla, her biri için OrderProfit () öğesini bulabilirsiniz.


çok teşekkürler

 
Aslında sonuncusu OrderSelect ( OrdersHistoryTotal ()-1,SELECT_BY_POS, MODE_HISTORY)
 
vademur писал(а) >>

Lütfen hataya neyin sebep olduğunu ve bununla nasıl başa çıkacağımı söyleyin, test günlüğünde görünüyor:

19:20:11 TestGenerator: eşleşmeyen veri hatası (2009.05.13 00:00'da düşük değer 1.3676 ve fiyat 1.3676 eşleşmedi)
19:20:11 TestGenerator: eşleşmeyen veri hatası (2009.05.13 01:00'de yüksek değer 1.3696 ve fiyat 1.3696 eşleşmedi)
19:20:11 TestGenerator: eşleşmeyen veri hatası (2009.05.13 02:30'da yüksek değer 1.3700 ve fiyat 1.3700 uyumsuz)
19:20:11 TestGenerator: eşleşmeyen veri hatası (2009.05.13 03:30'da yüksek değer 1.3700 ve fiyat 1.3700 uyumsuz)

Fiyatları silip tekrar yüklemeye çalıştım, belki yanlış bir şey yapıyorum, kodda her şey yolunda görünüyor.

Soruyu yeniden formüle edeceğim. Kaliteli bir hikayeyi nereden bulabilirim veya bununla ilgili nereden okuyabilirim?

 
alsu >> :
Silen yazdı >>

Her şeyden önce, konuya cevap vermeyi öğrenin. Kimse seninki gibi yorumlar istemiyor.

iTime() yürütüldükten sonra GetLastError() tarafından bir hata döndürüldü. İşte örnek bir kod...

 //+------------------------------------------------------------------+
//|                                                   test_iTime.mq4 |
//+------------------------------------------------------------------+
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init ( )
  {
    
    for ( int i = 20 ; i > 0 ; i - - )
    {    
      CheckTF ( PERIOD_M5 , i ) ;    
      CheckTF ( PERIOD_M15 , i ) ;
      CheckTF ( PERIOD_M30 , i ) ;
    }
   return ( 0 ) ;
  }  
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit ( )
  {
//----
   
//----
   return ( 0 ) ;
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start ( )
  {
   int    counted_bars = IndicatorCounted ( ) ;
//----
   
//----
   return ( 0 ) ;
  }
//--------------------------------------------------------------------  
int CheckTF ( int TF , int Index )
  {
    int count = 5 ;   
    int err ;     
    int xBars ;
   
   xBars = iBars ( Symbol ( ) , TF ) ;
   err = GetLastError ( ) ;
   while ( err = = 4066 )
   {
      Sleep ( 200 ) ;
      xBars = iBars ( Symbol ( ) , TF ) ;
      err = GetLastError ( ) ;
   } 
    err = GetLastError ( ) ;
    datetime t0 = iTime ( NULL , TF , Index ) ;
    err = GetLastError ( ) ;
    
    if ( err > 0 & & count > 0 )
    {
      Print ( "Error: " , err , " TF: " , TF , " Index: " , Index , " count: " , count ) ;
      Sleep ( 200 ) ;
      count - - ;
      
      t0 = iTime ( NULL , TF , Index ) ;
      err = GetLastError ( ) ;      
    }
   return ( 0 ) ;
  }  
//+------------------------------------------------------------------+
 
Roger >> :
Aslında sonuncusu OrderSelect ( OrdersHistoryTotal ()-1,SELECT_BY_POS, MODE_HISTORY)

evet, doğru, kendisi zaten aynı konuda cevap verdi :))) https://www.mql5.com/ru/forum/111497/page227#204964

 
Silen >> :

iTime() yürütüldükten sonra GetLastError() tarafından bir hata döndürüldü. İşte örnek bir kod...


Test edildi.

init() işlevinin yürütülmesi sırasında, yeni sembolün verileri henüz mevcut olmayabilir (ve tabii ki mevcut değildir). Bu nedenle hata. Savaşmanın tek yolu, init() işlevindeki verileri ayrıştırmaya çalışmamaktır.

 
alsu >> :

Test edildi.

init() işlevinin yürütülmesi sırasında, yeni sembolün verileri henüz mevcut olmayabilir (ve tabii ki mevcut değildir). Bu nedenle hata. Savaşmanın tek yolu, init() işlevindeki verileri ayrıştırmaya çalışmamaktır.

Teşekkürler, verilerin start() içinde bulunacağına dair bir garanti var mı?

 

Kene hacminin dağılımını doğrudan çubukta görmek için bir komut dosyası veya gösterge arıyorum.

şubeden bu resimdeki gibi Böyle bir resim gördünüz mü?


 

iyi günler lütfen söyle

if( OrderSelect (0, SELECT_BY_POS,MODE_HISTORY)==true)
{
double x=OrderProfit();
Print("son", x);

}

Son kapatılan siparişin karına ihtiyacım var ama ilkini alıyorum, kodda yanlış olan ne?

 
vik-777 >> :

iyi günler lütfen söyle

if(OrderSelect(0, SELECT_BY_POS,MODE_HISTORY)==true)
{
double x=OrderProfit();
Print("son", x);

}

Son kapatılan siparişin karına ihtiyacım var ama ilkini alıyorum, kodda yanlış olan ne?

Üstünde...

https://www.mql5.com/ru/forum/111497/page345#245944