Acemi bir kullanıcıya yardım edin - Gün ve Saat işlevleri - sayfa 2

 

Kodu derlerken neden tüm bu hataları alıyorum?

'GAPeaOnlySunday.mq4' derleniyor...
'bool' - noktalı virgül bekleniyor Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 3)
'(' - başlatma bekleniyor Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 22)
'TimeDayofWeek' - virgül veya noktalı virgül bekleniyor Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 23)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 54)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (86, 70)
'(' - başlatma bekleniyor Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 22)
'TimeDayofWeek' - virgül veya noktalı virgül bekleniyor Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 23)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 50)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 54)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 65)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (87, 70)
'sunday_cond' - global kapsamda ifadeye izin verilmez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 6)
'sunday_cond' - değişken tanımlı değil Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 6)
'monday_cond' - genel kapsamda ifadeye izin verilmez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 22)
'monday_cond' - değişken tanımlı değil Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 22)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (88, 34)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (89, 20)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (89, 24)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (92, 35)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (92, 43)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (94, 38)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (94, 42)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (94, 57)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (96, 39)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (96, 45)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (98, 20)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (98, 29)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (100, 32)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (100, 53)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (102, 30)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (102, 55)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 40)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 57)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 99)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (104, 107)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (108, 20)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (108, 30)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (110, 28)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (110, 55)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (112, 30)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (112, 57)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 40)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 57)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 99)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (114, 107)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (122, 43)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 27)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 36)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 46)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 69)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 81)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (123, 94)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (124, 66)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (125, 49)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (126, 31)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (127, 44)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (128, 58)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (134, 44)
')' - dengesiz sağ parantez Z:\ForexTrading\GabEA_From Mike\GAPeaOnlySunday.mq4 (136, 12)
57 hata(lar), 2 uyarı(lar)

 

LOL -çünkü kodunuz hatalı.

hata ayıkla.

bildirildiği gibi eksik bir parantez yerine eksik bir noktalı virgül aramaya başlayın.

kodlama sadece bir editörde bazı kelimeler yazmak değildir, asıl iş sahip olunan kodun hatalarını ayıklamaktır.

 

Ya da kayıplarınızı kesip Guinness Rekorlar Kitabı'na başvurabilir misiniz?


CB

 

EA kodumda hata yok, sadece emin olmak için test ettim. Tüm bu hatalar, bu dört kod satırını ekledikten sonra geldi:


bool sunday_cond = (TimeDayofWeek(TimeCurrent())==0) && (Hour()>=23);
bool monday_cond = (TimeDayofWeek(TimeCurrent())==1) && (Hour()<=15);
if(sunday_cond || pazartesi_cond )
if(Sipariş Toplamı()==0)

 
EagleEye :

EA kodumda hata yok, sadece emin olmak için test ettim. Tüm bu hatalar, bu dört kod satırını ekledikten sonra geldi:


if(OrdersTotal()==0) //burada bunu takip etmemelisiniz -> {

tüm eklediğiniz buysa, if doğru olduğunda ne yapılması gerektiğini kodlamadınız

Kodu değiştirdikten sonra "sizin" (Mikes EA değil mi?) ea'nın hatasız olduğunu nasıl söyleyebilirsiniz? Dalga mı geçiyorsun ?

 

"TimeDayofWeek" yerine "TimeDayOfWeek" dir. Doğru kod:

bool sunday_cond = (TimeDayOfWeek(TimeCurrent())==0) && (Hour()>=23);
bool monday_cond = (TimeDayOfWeek(TimeCurrent())==1) && (Hour()<=15);
if(SiparişToplam()==0)
if(sunday_cond || pazartesi_cond )
go_trading();

Bu bölümü doğruladım, bu nedenle "dengesiz sağ parantez" hatası, kalan kodun başka bir sorunudur.

 
abstract_mind :

"TimeDayofWeek" yerine "TimeDayOfWeek" dir. Doğru kod:

bool sunday_cond = (TimeDayOfWeek(TimeCurrent())==0) && (Hour()>=23);
bool monday_cond = (TimeDayOfWeek(TimeCurrent())==1) && (Hour()<=15);
if(Sipariş Toplamı()==0)
if(sunday_cond || pazartesi_cond )
go_trading();

Bu bölümü doğruladım, bu nedenle "dengesiz sağ parantez" hatası, kalan kodun başka bir sorunudur.

 if ( OrdersTotal ( ) = = 0 )
if ( sunday_cond | | monday_cond )
go_trading ( ) ;

bu yukarıdaki en azından kötü stil kodudur . eksik parantez gibi hataların olağan olmasına şaşmamalı

if(
    (OrdersTotal()==0)
    &&
    (sunday_cond || monday_cond )
  ) 
   {
    go_trading();
   }

bu şekilde parantezlerin doğru olduğunu görmek çok açık ve bu tür kodlar neredeyse her dilde çalışıyor.

{ }, hata ayıklaması kolay olması gereken kod için gereklidir.

bazen kod yalnızca bir satırda değilse gereklidir.

 
meikel :

tüm eklediğiniz buysa, if doğru olduğunda ne yapılması gerektiğini kodlamadınız

Kodu değiştirdikten sonra "sizin" (Mikes EA değil mi?) ea'nın hatasız olduğunu nasıl söyleyebilirsiniz? Dalga mı geçiyorsun ?

hayır şaka yapmıyorum Ve gerçekten tanımak istiyorsanız, arkadaşım Mike bunu uzun zaman önce bana gönderdi çünkü denememi istiyor.


EA'yı 4 satır kod olmadan derlediğimde hiç hata yok.

4 satır kodu buradan eklediğimde tüm hataları yapıyor.

 
EagleEye :

hayır şaka yapmıyorum Ve gerçekten tanımak istiyorsanız, arkadaşım Mike bunu uzun zaman önce bana gönderdi çünkü denememi istiyor.


EA'yı 4 satır kod olmadan derlediğimde hiç hata yok.

4 satır kodu buradan eklediğimde tüm hataları yapıyor.

abstracts_mind'in ipucunu takip edin.

hakkında yazdın, Of değil

bool sunday_cond = (TimeDayofWeek(TimeCurrent())==0) && (Hour()>=23);

eşittir işareti bu nedenle yanlışsa, bu nedenle derleyici sunday_cond'dan sonra bir noktalı virgül bekler.

 
meikel :

abstracts_mind'in ipucunu takip et.

hakkında yazdın, Of değil

bool sunday_cond = (TimeDayofWeek(TimeCurrent())==0) && (Hour()>=23);

eşittir işareti bu nedenle yanlışsa, bu nedenle derleyici sunday_cond'dan sonra bir noktalı virgül bekler.


Peki kod nasıl görünmelidir?


Şu anda şöyle görünüyor:

//+------------------------------------------- -------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- -------------------+
int başlangıç()

bool sunday_cond = (TimeDayOfWeek(TimeCurrent())==0) && (Hour()>=23);
bool monday_cond = (TimeDayOfWeek(TimeCurrent())==1) && (Hour()<=15);

Eğer(
(Sipariş Toplamı()==0)
&&
(sunday_cond || pazartesi_cond )
)

{
if (Bars<100 || IsTradeAllowed()==false) dönüşü;

if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();

Neden: