MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1474

 
MakarFX :

geçersiz()

Ve burada yayınladığım kodumda bu boşluğu () nereye eklemeliyim?
teşekkürler

 
ANDREY :

Ve burada yayınladığım kodumda, bu boşluğu () nereye eklemeliyim?
teşekkürler

ekleme - oluştur

OnTick()'ten kaldır

sıradaki ne

 //--- input parameters
input int       Points= 30 ;
double LoU;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- create timer
   EventSetTimer ( 60 ); // таймер в секундах
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//--- destroy timer
   EventKillTimer ();
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer ()
  {
//---
   LoU=Bid;
   if (Low[ 0 ]<LoU) {LoU=Low[ 0 ];}
   SendOrder(); 
  }
//+------------------------------------------------------------------+
void SendOrder()
  {
   if ((Bid-Points* Point )>=LoU)
     {
       if ( OrderSend ( Symbol (),OP_SELL, 0.1 ,Bid, 3 , 0 , 0 , "300" , 0 )) LoU=Low[ 0 ];
     }
  }
 
MakarFX :

ekleme - oluştur

OnTick()'ten kaldır

sıradaki ne

Bu ilgimi çekti..... Bu void() kodumla ve amacımla ilgili olarak tam olarak ne yapıyor?

OnTick() ten gelen hesaplamaların başka fonksiyonlara aktarıldığını fark ettim. void() nerede olursa olsun , hangi işlevi yerine getirir?
teşekkürler

 
ANDREY :

Bu ilgimi çekti..... Bu void() kodumla ve amacımla ilgili olarak tam olarak ne yapıyor?
teşekkürler

Bir zamanlayıcıda çalışır

 
MakarFX :

Bir zamanlayıcıda çalışır

Zamanlayıcı programa kodun ne sıklıkta kontrol edileceğini, her tikte veya her dakika veya her saatlik veya günlük mumda söylüyor mu?
Durum buysa, her dakika mumu kontrol etmek için bir zamanlayıcı ayarlamam gerekiyor ve test sırasında kodun çalıştırılması için gereken süre çok daha az mı harcanacak?

 
ANDREY :

Zamanlayıcı programa kodun ne sıklıkta kontrol edileceğini, her tikte veya her dakika veya her saatlik veya günlük mumda söylüyor mu?

imzaladım

 EventSetTimer ( 60 ); // таймер в секундах
 
MakarFX :

imzaladım

Neden dakika değil?

Yoksa aslında dakikalar içinde mi? Veya kod, her onay işareti yerine her saniye yürütülür. Saniyelerden daha fazla tik vardır ve bazen çok daha fazlası...
 
ANDREY :

Neden dakika değil?

Andrew, ne istediğine karar ver. ya her tik ya da saniye içinde. 86400 saniye koyun ... ve günde bir kez olacak

 
MakarFX :

ekleme - oluştur

OnTick()'ten kaldır

sıradaki ne

İşte kodunuz

 input int       Points= 30 ;
double LoU,Pr;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- create timer
   EventSetTimer ( 60 ); // таймер в секундах
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//--- destroy timer
   EventKillTimer ();
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
//---
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer ()
  {
//---
   LoU=Bid;
   if (Low[ 0 ]<LoU) {LoU=Low[ 0 ];}
   SendOrder(); 
  }
//+------------------------------------------------------------------+
void SendOrder()
  {
   if ((Bid-Points* Point )>=LoU)
     {
       if ( OrderSend ( Symbol (),OP_SELL, 0.1 ,Bid, 3 , 0 , 0 , "300" , 0 )) LoU=Low[ 0 ];
     }
  }

Ama nedense tek bir sipariş bile açmadı.

 
MakarFX :

Andrew, ne istediğine karar ver. ya her tik ya da saniye içinde. 86400 saniye koyun ... ve günde bir kez olacak

Şimdi anladım. Aralığın herhangi birine ayarlanabileceğini duymak istedim.
Teşekkür ederim.