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

 
danil77783 :

İyi günler Artyom . Benim adım Danil. Soru sıradaki. MQL4'te Expert Advisor yazdım, daha doğrusu bir video eğitiminden yeniden yazdım, belli ki hatalar var, derlenmiyor, yardımcı olabilir misiniz?

Derleyici, dizeyi ve dize içindeki konumu belirten hatalar atar. onlara odaklan

Mesajınızın metninin üst kısmındaki SRC düğmesini kullanarak programın metnini girin - bakın, bu daha iyi!!!

 //+------------------------------------------------------------------+
//|                                                        test7.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+

#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict

Ayrıca bir dosya da ekleyebilirsiniz - o zaman hemen MetaEditor'a bakardım

 
LRA :

Derleyici, dizeyi ve dize içindeki konumu belirten hatalar atar. onlara odaklan

Mesajınızın metninin üst kısmındaki SRC düğmesini kullanarak programın metnini girin - bakın, bu daha iyi!!!

Ayrıca bir dosya da ekleyebilirsiniz - o zaman hemen MetaEditor'a bakardım


Yanlış davranış için özür dilerim, düzelteceğim, söz veriyorum :) Tamamen yıprandım ....

 //+------------------------------------------------------------------+
//|                                                        test7.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
//-------------------------------------------------------------------
extern double lots            = 0.1 ;
extern int     TakeProfit      = 300 ;
extern int     StopLoss        = 50 ;
extern int     Magic           = 777 ; 
extern int     Slippage        = 3 ;
//-------------------------------------------------------------------
extern string TMA             = "Параметры индикатора TMA" ;
extern string TimeFrame       = "current time frame" ;
extern int     HalfLength      = 56 ;
extern int     Price           = PRICE_CLOSE ;
extern double ATRMultiplier   = 2.0 ;
extern int     ATRPeriod       = 100 ;
extern bool    Interpolate     = true ;
//-------------------------------------------------------------------
double PriceHigh, PriceLow, SL ,TP;
int ticet;


//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   if ( Digits == 3 || Digits == 5 );
   {
       TakeProfit *= 10 ;
       StopLoss   *= 10 ;
       Slippage   *= 10 ;
   }  
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
    PriceHigh = iCustom ( NULL , 0 , "TMA_Fair" , TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1 , 0 );  
    PriceLow  = iCustom ( NULL , 0 , "TMA_Fair" , TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2 , 0 );  
    
     if (CountSell() == 0 && Bid >= PriceHigh)
    {
       tik et = OrderSend ( Symbol (), OP_SELL , lots, Bid , Slippage, 0 , 0 , "TMA robot" , Magic, 0 , Red);  
       if (tiket > 0 )
      {
          SL = NormalizeDouble ( Bid + StopLoss* Point , Digits );
          TP = NormalizeDouble ( Bid - TakeProfit* Point , Digits );
          
           if ( OrderSelect (ticet, SELECT_BY_TICKET )) 
               OrderModify (tiket, OrderOpenPrice (), SL, TP, 0 );
        }
    }
  }
//--------------------------------------------------------------------------------------------
 if (CountBuy() == 0 && Ask <= PriceLow)
    {
      tiket = OrderSend ( Symbol (), OP_BUY , lots, Ask , Slippage, 0 , 0 , "TMA robot" , Magic, 0 , Blue);  
       if (tiket > 0 )
      {
          TP = NormalizeDouble ( Ask + TakeProfit* Point , Digits );
          SL = NormalizeDouble ( Ask - StopLoss* Point , Digits );
          
           if ( OrderSelect (ticet, SELECT_BY_TICKET )) 
               OrderModify (tiket, OrderOpenPrice (), SL, TP, 0 );
        }
    }
//+------------------------------------------------------------------+
int CountSell() 
  {
     int count = 0 ;
     for ( int trade = OrdersTotal ()- 1 ; trade>= 0 ; trade--)
    {
       if ( OrderSelect (trade, SELECT_BY_POS , MODE_TRADES ))
       {
           if ( OrderSymbol () == Symbol () && OrderMagicNumber ) == Magic && OrderType () == OP_SE LL )
             count++;
       }   
    }
     return (count);
  }
//-----------------------------------------------------------------------------------------------  
   int CountBuy() 
  {
     int count = 0 ;

     for ( int trade = OrdersTotal ()- 1 ; trade>= 0 ; trade--)
    {
       if ( OrderSelect (trade, SELECT_BY_POS , MODE_TRADES ))
       {
           if ( OrderSymbol () == Symbol () && OrderMagicNumber ) == Magic && OrderType () == OP_BU Y )
             count++;
       }   
    }
     return (count);
  }

Hangi satırlarda hata verdiğini etiketlerle belirttim dosyayı ekledim ..... lütfen bakın şimdiden teşekkürler!

 
 
danil77783 :

Yanlış davranış için özür dilerim, düzelteceğim, söz veriyorum :) Tamamen yıprandım ....

Hangi satırlarda hata verdiğini etiketlerle belirttim dosyayı ekledim ..... lütfen bakın şimdiden teşekkürler!

Bilet ve biletin farklı değişkenler olduğunu görmek zaten çok zor değil mi?

Açılış braketi olmadan kapanış braketini göremiyor musunuz?

 
Yardımınız için çok teşekkür ederim!!!.... Tüm hataları düzelttim ama çözemedim. yardımınızı rica ediyorum. Yine nerede karıştırdım?
 
danil77783 :
Yardımınız için çok teşekkür ederim!!!.... Tüm hataları düzelttim ama çözemedim. yardımınızı rica ediyorum. Yine nerede karıştırdım?
Bu bloğu OnTick işlevinin gövdesinden çıkardınız, bir küme ayracı çıkarın.
 
Alekseu Fedotov :
Bu bloğu OnTick işlevinin gövdesinden çıkardınız, bir küme ayracı çıkarın.

Ve sonra bir parantez eksik olacak.

Vurgulanan satırın üzerindeki parantez, eksi satırından önce aşağı kaydırılmalıdır.

}
//+------------------------------------------------------------------+
 
Alexey Viktorov :

Ve sonra bir parantez eksik olacak.

Vurgulanan satırın üzerindeki parantez, eksi satırından önce aşağı kaydırılmalıdır.

A. Evet, yeniden planlamanız gerekiyor.

 

Her şey!!!.... Çok teşekkür ederim. Derlenmiş. İşler!

 
danil77783 : Her şey!!!.... Çok teşekkür ederim. Derlenmiş. İşler!

Kâr nedir? Ve yine de boş bir işleve sahip bu parça atılabilir. Denemek...

 //+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
   
  }