Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 25

 
Viachaslau Baiko :

tür dönüştürme nedeniyle olası veri kaybı

Denemek.

Dosyalar:
 
Renat Akhtyamov :
derleyicinin işaret ettiği koddaki satırı göster

Bu tür birçok hat var, bu nedenle yeni terminaller için uyarlanmış bir modül istedim. Ama yardım etme isteğin için teşekkürler

 
Alekseu Fedotov :
Teşekkürler, deneyeceğim!
 
Viachaslau Baiko :

Bu tür birçok hat var, bu nedenle yeni terminaller için uyarlanmış bir modül istedim. Ama yardım etme isteğin için teşekkür ederim

bu satırda:

" Tür dönüştürme nedeniyle olası veri kaybı "

satır numarası ve kod satırındaki hatanın bulunduğu konum olmalıdır.

Çok kolay, koddaki tam yerini bilerek tüm hataları düzeltebilirsiniz.

 
Renat Akhtyamov :

bu satırda:

" Tür dönüştürme nedeniyle olası veri kaybı "

satır numarası ve kod satırındaki hatanın bulunduğu konum olmalıdır.

Çok kolay, koddaki tam yerini bilerek tüm hataları düzeltebilirsiniz.

Alekseu Fedotov'un sunduğu danışmanı aldım ve ihtiyaçlarıma göre tamamlamaya çalıştım.

Ve ihtiyaçlar şu şekildedir: Onay kutularını geçerken bir pozisyon açarız, geri geçerken onu kapatırız. Mümkünse, pozisyonu başa baş noktasına aktarırız.

Ama sonuç olarak hiçbir şey açılmıyor. Ben zaten beynimi kırdım. burdaki problem ne olabilir?

Dosyalar:
4Tester.mq4  20 kb
 
Viachaslau Baiko :

Alekseu Fedotov'un sunduğu danışmanı aldım ve ihtiyaçlarıma göre tamamlamaya çalıştım.

Ve ihtiyaçlar şu şekildedir: Onay kutularını geçerken bir pozisyon açarız, geri geçerken onu kapatırız. Mümkünse, pozisyonu başa baş noktasına aktarırız.

Ama sonuç olarak hiçbir şey açılmıyor. Ben zaten beynimi kırdım. burdaki problem ne olabilir?

En son yardım teklif ettiğimde, KIM'den bir hata içeren koddan bir satır göster.
 
Renat Akhtyamov :
En son yardım teklif ettiğimde, KIM'den bir hata içeren koddan bir satır göster.
Benim açımdan bir hata oldu. Programın mantığını yanlış derledim. Ve her şeyi yeni bir şekilde yapmak benim için daha kolaydı. KIM kodunda hata yok.
 
mql4 veya mql5 kullanarak aşağıdakileri yapmanın mümkün olup olmadığını söyle:

fiyat dikey seviyeyi geçtikten sonra, resimde gösterildiği gibi arka planın bir bölümünü farklı bir renkle renklendirin.

Teşekkür ederim.
Dosyalar:
Immagine1.JPG  100 kb
 
Renat Akhtyamov :
kodun bir parçasını danışmandaki göstergeden gelen sinyali nasıl okuduğunuzu gösterin
extern int      stoploss             = 200 ,
               takeprofit           = 400 ,
               slippage             = 10 ,
               Magic                = 777 ;          

extern double   Lot                  = 0.5 ,
               buy_level            = 15 ;      
            

void OnTick ()
{
   for ( int i= 0 ; i< OrdersTotal (); i++)                        
   if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
   if ( OrderSymbol ()== Symbol () && Magic== OrderMagicNumber ()) return ;
  
   double STO = iStochastic ( NULL , 15 , 2 , 3 , 1 , MODE_SMA , 0 , MODE_SIGNAL , 0 );
   double SL= 0 ,TP= 0 ;
  
   if (STO > buy_level)
  
  
   {
       if (takeprofit!= 0 ) TP  = NormalizeDouble ( Ask + takeprofit* Point , Digits );
       if (stoploss!= 0 )   SL  = NormalizeDouble ( Ask - stoploss*   Point , Digits );    
       if ( OrderSend ( Symbol (), OP_BUY , Lot, NormalizeDouble ( Ask , Digits ),slippage,SL,TP, NULL ,Magic)==- 1 ) Print ( GetLastError ());
       PlaySound ( "timeout.wav" );
       Print ( "Ордер успешно размещен" );
}
}
 
TimBerg :
extern int      stoploss             = 200 ,
               takeprofit           = 400 ,
               slippage             = 10 ,
               Magic                = 777 ;          

extern double   Lot                  = 0.5 ,
               buy_level            = 15 ;      
            

void OnTick ()
{
   for ( int i= 0 ; i< OrdersTotal (); i++)                        
   if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
   if ( OrderSymbol ()== Symbol () && Magic== OrderMagicNumber ()) return ;
  
   double STO = iStochastic ( NULL , 15 , 2 , 3 , 1 , MODE_SMA , 0 , MODE_SIGNAL , 0 );
   double SL= 0 ,TP= 0 ;
  
   if (STO > buy_level)
  
  
   {
       if (takeprofit!= 0 ) TP  = NormalizeDouble ( Ask + takeprofit* Point , Digits );
       if (stoploss!= 0 )   SL  = NormalizeDouble ( Ask - stoploss*   Point , Digits );    
       if ( OrderSend ( Symbol (), OP_BUY , Lot, NormalizeDouble ( Ask , Digits ),slippage,SL,TP, NULL ,Magic)==- 1 ) Print ( GetLastError ());
       PlaySound ( "timeout.wav" );
       Print ( "Ордер успешно размещен" );
}
}

Burada:

iStochastic ( NULL , 15 , 2 , 3 , 1 , MODE_SMA , 0 , MODE_SIGNAL , 0 );

periyodu (zaman çerçevesi) 1,5,15,30,60,240,1440,10080,43200 //M1.M5.M30 ... vb. olarak değiştirin.

veya 15 yerine Period() girin, ardından TF'yi manuel olarak değiştirirken mevcut olan otomatik olarak ayarlanacaktır.