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

 
Merhaba, MT4'teki hesaba kopyalama sinyali ve robotu nasıl bağlayacağımı ve hepsini vps'e nasıl bağlayacağımı söyler misiniz?
[Silindi]  
2002569 : Merhaba, mt4'teki hesaba kopyalama için sinyal ve robot nasıl bağlanacağını ve tamamını vps'e nasıl bağlayacağımı anlatır mısınız?

Evet tabiki yapabilirsin!!!

 

Merhaba millet. Bana programlamaya kimin mükemmel derecede aşina olduğunu söyle.

Belirli koşullar altında yatay bir çizgi oluştururum. OpenlineB'yi başka bir kodda yatay fiyat olarak kullanabilmek için OLB kullanarak fiyatı tanımlayacağım. Diğer kodda, gerektiği yerde tamsayı olarak görüntülenir. Örneğin fiyat 110.256 ve 110 gösteriyor. Bunu Yorum yardımı ile öğrendim. Tam fiyat neden görüntülenmiyor, sorun nedir?

 int OpenlineB() {
     double ma60=...;
     double ma=...;
     if ((fMarketOrders( OP_BUY )== 0 )) { 
         ObjectCreate ( 0 , "BUY" , OBJ_HLINE , 0 , 0 ,ma60+ma); }   
 int OLB= ObjectGet ( "BUY" , OBJPROP_PRICE1 );      
 return (OLB);}

int TRlineB(){
Comment (OpenlineB());
return ( true );}
 
Rustam Bikbulatov :

Merhaba millet. Bana programlamaya kimin mükemmel derecede aşina olduğunu söyle.

Belirli koşullar altında yatay bir çizgi oluştururum. OpenlineB'yi başka bir kodda yatay fiyat olarak kullanabilmek için OLB kullanarak fiyatı tanımlayacağım. Diğer kodda, gerektiği yerde tamsayı olarak görüntülenir. Örneğin fiyat 110.256 ve 110 gösteriyor. Bunu Yorum yardımı ile öğrendim. Tam fiyat neden görüntülenmiyor, sorun nedir?

 int double OpenlineB()

İşleviniz bir tamsayı döndürür. Ne buldularsa çıktısını aldılar.
Eh, elbette, işlevin daha ilerisinde, çift biçime dönüştürülür.

 
Konstantin Nikitin :

İşleviniz bir tamsayı döndürür. Ne buldularsa çıktısını aldılar.
Eh, elbette, fonksiyonda daha fazla çift biçime yol açar.

 double OpenlineB() {
     double ma60=...;
     double ma=...;
     if ((fMarketOrders( OP_BUY )== 0 )) { 
         ObjectCreate ( 0 , "BUY" , OBJ_HLINE , 0 , 0 ,ma60+ma); }   
 int OLB= ObjectGet ( "BUY" , OBJPROP_PRICE1 );      
 return (OLB);}

Zaten denedim. bir tamsayı çıktısı verir

 
Konstantin Nikitin :

İşleviniz bir tamsayı döndürür. Ne buldularsa çıktısını aldılar.
Eh, elbette, işlevin daha ilerisinde, çift biçime dönüştürülür.

 int OpenlineB() {
     double ma60= iMA ( NULL , 1 , 5 , 0 , 1 , 0 , 1 );
     double ma=( iMA ( NULL , 60 , 6205 , 0 , 1 , 2 , 1 )- iMA ( NULL , 60 , 6205 , 0 , 1 , 3 , 1 ));
     if ((fMarketOrders( OP_BUY )== 0 )) { 
         ObjectCreate ( 0 , "BUY" , OBJ_HLINE , 0 , 0 ,ma60+ma); }   
 double OLB= ObjectGet ( "BUY" , OBJPROP_PRICE1 );      
 return (OLB);}

Anladım!!! Teşekkür ederim sevgili Konstantin !!!!!!!!!!!!!!!!!!!!

 
Rustam Bikbulatov :

Zaten denedim. Bir tamsayı çıkıyor.

ObjectGetDouble ile deneyin
Ve işlev bildirimini şu şekilde düzeltin:

 double OpenlineB() {
 
Konstantin Nikitin :

ObjectGetDouble ile deneyin

Her şeyi yaptım!

 double OpenLineB() {
     double ma60= iMA ( NULL , 1 , 5 , 0 , 1 , 0 , 1 );
     double ma=( iMA ( NULL , 60 , 6205 , 0 , 1 , 2 , 1 )- iMA ( NULL , 60 , 6205 , 0 , 1 , 3 , 1 ));
     if ((fMarketOrders( OP_BUY )== 0 )) { 
         ObjectCreate ( 0 , "BUY" , OBJ_HLINE , 0 , 0 ,ma60+ma); }   
 double OLB= ObjectGet ( "BUY" , OBJPROP_PRICE1 );      
 return (OLB);}

Teşekkürler!!!

 
Rustam Bikbulatov :

Her şeyi yaptım!

Teşekkürler!!!

biraz kesebilirsin

 double OpenLineB() {
  double ma60= iMA ( NULL , 1 , 5 , 0 , 1 , 0 , 1 );
   double ma=( iMA ( NULL , 60 , 6205 , 0 , 1 , 2 , 1 )- iMA ( NULL , 60 , 6205 , 0 , 1 , 3 , 1 ));
   if (fMarketOrders( OP_BUY )== 0 ) 
   ObjectCreate ( 0 , "BUY" , OBJ_HLINE , 0 , 0 ,ma60+ma);
 return ( ObjectGetDouble ( 0 , "BUY" , OBJPROP_PRICE ));
}
 
Vitaly Muzichenko :

biraz kesebilirsin

 double OpenLineB() {
   if (fMarketOrders( OP_BUY )== 0 ) {
    double ma60= iMA ( NULL , 1 , 5 , 0 , 1 , 0 , 1 );
    double ma=( iMA ( NULL , 60 , 6205 , 0 , 1 , 2 , 1 )- iMA ( NULL , 60 , 6205 , 0 , 1 , 3 , 1 ));
    ObjectCreate ( 0 , "BUY" , OBJ_HLINE , 0 , 0 ,ma60+ma);
    return ma60+ma;
  }
 return ( ObjectGetDouble ( 0 , "BUY" , OBJPROP_PRICE ));
}

çok fazla çekmemek için... aksi takdirde, her erişimde gösterge verileri önbellekten çağrılır
ve değişkenlerinizde "SATIN AL" satırının seviyesini tutmak ve grafikte takip etmemek daha mantıklı.