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

 

Merhaba. MQL4'te bir güce nasıl yükseltilir ?

 
Diver-si >> :
Merhaba. Forum büyük ve programlamada tam bir sıfırım. Bir danışman yazmak veya burnunuzu olduğu yere sokmak mümkün mü? Stok 30'un kesiştiği noktada satın alma girişi, bu TF'de, eğer eski TF stoku büyürse ve> 30, ancak < 70. Satışta - 70'in kesişimi, eğer eski TF'de düşerse ve> 30, ancak < 70. Değer değiştirme özelliği ile yürüyerek veya yürüyerek çıkın.

Hazır. Görünüşe göre istenen her şeyi yaptı.

Dosyalar:
ctoh_1.rar  6 kb
 
Skydiver >> :

Hazır. Görünüşe göre istenen her şeyi yaptı.

Çok teşekkürler!!!!

 
Diver-si >> :

Çok teşekkürler!!!!

Daha önce bu stratejiyle çalıştınız mı? Başarıyla mı?

 
Skydiver >> :

Daha önce bu stratejiyle çalıştınız mı? Başarıyla mı?

Bunlar stratejist değil, sadece bir varsayımın test edilmesi gerekiyor. Bu arada, danışman neden anlaşma yapmıyor? nedenini anlamıyorum.

 
В ветке "Корректное открытие нескольких позиций" приведён следующий код:


 if ( iSAR ( NULL , 0 , step0 , 0.1 , 0 ) < Close [ 0 ] )
         
         
         {
           RefreshRates () ;
       ticket = ( OrderSend ( Symbol () , OP_BUY , GetSizeLot () , Ask , slippage ,
       Bid - StopLoss * Point , Ask + TakeProfit * Point , NameExpert ,
               0 , Green ) ) ;
if ( ticket < 1 ) { Print ( " Ошибка открытия 1-го ордера BUY # " , GetLastError ()) ; return ( 0 ) ; }   
if ( ticket > 0 ) //Sleep(10000);
           { //если 1-я позиция открылась, открываем вторую
           RefreshRates () ;       
         ticket_1 = ( OrderSend ( Symbol () , OP_BUY , GetSizeLot () , Ask , slippage ,
       Bid - StopLoss * Point , Ask + TakeProfit * Point , NameExpert ,
               0 , Green ) ) ; 
if ( ticket_1 < 1 ) { Print ( " Ошибка открытия 2 ордера BUY # " , GetLastError ()) ; return ( 0 ) ; }     
if ( ticket_1 > 0 ) // Sleep(10000);
         { // если вторая позиция открылась, открываем третью 
           RefreshRates () ;
       ticket_2 = ( OrderSend ( Symbol () , OP_BUY , GetSizeLot () , Ask , slippage ,
       Bid - StopLoss * Point , Ask + TakeProfit * Point , NameExpert ,
               0 , Green ) ) ;
           if ( ticket_2 < 1 )
           { Print ( " Ошибка открытия 3 ордера BUY # " , GetLastError ()) ; return ( 0 ) ; }    
         } 
       }     
     }

            
       if ( iSAR ( NULL , 0 , step0 , 0.1 , 0 ) > Close [ 0 ])
     {
        
         //---- открываем СЕЛЛ позицию
       RefreshRates () ;
       ticket = ( OrderSend ( Symbol () , OP_SELL , GetSizeLot () , Bid , slippage ,
         Ask + StopLoss * Point , Bid - TakeProfit * Point , NameExpert ,
               0 , Red )) ;
              
           if ( ticket < 1 ) { Print ( " Ошибка открытия 1-го ордера SELL # " , GetLastError ()) ; return ( 0 ) ; }   
if ( ticket > 0 ) //Sleep(10000);
           { //если 1-я позиция открылась, открываем вторую
       RefreshRates () ;      
       ticket_1 = ( OrderSend ( Symbol () , OP_SELL , GetSizeLot () , Bid , slippage ,
         Ask + StopLoss * Point , Bid - TakeProfit * Point , NameExpert ,
             0 , Red )) ;
             
           if ( ticket_1 < 1 ) { Print ( " Ошибка открытия 2 ордера SELL # " , GetLastError ()) ; return ( 0 ) ; }     
if ( ticket_1 > 0 ) // Sleep(10000);
         { // если вторая позиция открылась, открываем третью        
       RefreshRates () ; 
       ticket_2 = ( OrderSend ( Symbol () , OP_SELL , GetSizeLot () , Bid , slippage ,
         Ask + StopLoss * Point , Bid - TakeProfit * Point , NameExpert ,
               0 , Red )) ;               
                 if ( ticket_2 < 1 )
           { Print ( " Ошибка открытия 3 ордера SELL # " , GetLastError ()) ; return ( 0 ) ; }    
         } 
       }     
     }
   
     return ( 0 ) ;
    
}



Bu if( iSAR (NULL,0,step0,0.1,0)<Close[0]) yapısına nasıl bir koşul ekleyeceğimi söyleyebilir misiniz? TÜM alım pozisyonları kapatılana kadar açılmaz. Yani bir ticaret döngüsü, 3 pozisyon aldık, üçü de kapanana kadar bekliyoruz. Pozisyonlar sadece zararı durdur veya kârı al ile kapatılır. Tüm pozisyonlar kapalı, bir sinyal bekliyoruz, bir sinyal geldi, üç pozisyon alıyoruz veya satıyoruz (sinyale bağlı olarak) vb. "KimIV'ten faydalı fonksiyonlar" incelendi. CountOrders(), ExistOrders(), ExistPositions() işlevlerini kullanabilirsiniz. Ama onları pratik olarak nasıl yerleştirirsiniz? if((iSAR(NULL,0,step0,0.1,0)>Close[0])&& ExistPositions(NULL,OP_SELL)==false) yapısı çalışmıyor. Bir boole değişkeni eklemem gerektiğini anlıyorum, ancak pratik olarak nasıl yapılır? Ne yakalayamam.

 
anat >> :



Bu if( iSAR (NULL,0,step0,0.1,0)<Close[0]) yapısına nasıl bir koşul ekleyeceğimi söyleyebilir misiniz? TÜM alım pozisyonları kapatılana kadar açılmaz. Yani bir ticaret döngüsü, 3 pozisyon aldık, üçü de kapanana kadar bekliyoruz. Pozisyonlar sadece zararı durdur veya kârı al ile kapatılır. Tüm pozisyonlar kapalı, bir sinyal bekliyoruz, bir sinyal geldi, üç pozisyon alıyoruz veya satıyoruz (sinyale bağlı olarak) vb. "KimIV'ten faydalı fonksiyonlar" incelendi. CountOrders(), ExistOrders(), ExistPositions() işlevlerini kullanabilirsiniz. Ama onları pratik olarak nasıl yerleştirirsiniz? if((iSAR(NULL,0,step0,0.1,0)>Close[0])&& ExistPositions(NULL,OP_SELL)==false) yapısı çalışmıyor. Bir boole değişkeni eklemem gerektiğini anlıyorum, ancak pratik olarak nasıl yapılır? Ne yakalayamam.


Açılabilirler, ancak daha sonra otomatik olarak ters yönde bloke edilirler. Ayrıca, bunu ayrı bir danışmanla yapmak, ek kodu hazır bir danışmana dönüştürmekten çok daha kolaydır. bkz. Corrector.mq4



 
(NULL, PERIOD_M1 , 14, 0, 1, PRICE_CLOSE, 1, 1) < Sor) { // fiyat çizginin üzerindeyse sat <--------- bu doğru mu?



(NULL,PERIOD_M1, 14, 0, 1, PRICE_CLOSE, 2, 1) > Bid) { // fiyat çizginin altındaysa satın al <----- mantıkla doğru mu yoksa ben mi karıştırıyorum?



yardım edin lütfen...

 
1Rakso писал(а) >>
(NULL,PERIOD_M1, 14, 0, 1, PRICE_CLOSE, 1, 1 )

Bu nasıl bir tasarım ki?