kodlama yardımına ihtiyacım var lütfen

 
Yardıma ihtiyacım var, lütfen. Kodlamada acemiyim ama uzun süredir forex ticareti yapıyorum.

"Uzman Danışman Oluşturucu"nun yardımıyla, test aşamasında çalışan ekteki EA'yı oluşturdum. Sorun şu ki, birkaç canlı çizelgeye yerleştirildiğinde çalışmıyor. 4 saatlik bir test kullandığından, düzeltmelerimin sorunu çözüp çözmediğini görmek uzun zaman alıyor ve sinirleniyorum.

Aynı EA'yı 5 farklı adla yeniden adlandırdım ve hepsi aynı MT4 platformunda olmak üzere 5 farklı çift grafiğinin her birine bir tane yerleştirdim. Bu işe yaramadı.

Lütfen, biri buna bakabilir ve birden fazla çiftte kullanabilmem için kodun nasıl çalıştırılacağı konusunda bana tavsiyede bulunabilir mi?
 
//+------------------------------------------------------------------+
//| QQE 4hr_15min TESTING                                            |
//| triggers on 4 hour QQE, then uses 15 min QQE to enter trade.     |
//+------------------------------------------------------------------+

#property copyright "Expert Advisor Builder"
#property link       "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"





//Check position                 
             bool IsTrade = False;
             for ( int i = 0 ; i < Total; i ++) 
               {                       
                 OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
                 if ( OrderType () <= OP_SELL &&   OrderSymbol () == Symbol ()) 
                  {                 
                   IsTrade = True;
                   if ( OrderType () == OP_BUY) 
                     {            
//Close                          
//+------------------------------------------------------------------+
//| Signal Begin (Exit Buy)                                           |
//+------------------------------------------------------------------+

Bunun ne kadar kötü bir uzman danışman oluşturucu olduğunu göstermek için birkaç satır kopyaladım.

Açık işlemleri kontrol ederken işlemlerin sihirli sayısını kullanmaz.

bu EA, bu EA tarafından değiştirilmesini istemediğiniz alım satımları yönetebilir

İşlemleri kontrol etmek için sayıyor ve bu toplam döngüde işlemleri kapatacak ve sonra geri sayması gerekiyor......

 

Ve Orderselect()'in sonucu ne olursa olsun, sonraki bloğu yürütmeye devam ederiz.

ÇOK KOMİK

 

Dediğim gibi, kodlamada acemiyim ve bu EA çalışıyor/çalışıyordu, bu yüzden onu geliştirmeye çalıştım ve şaşırdığımda bu forumda yardım istedim .

Bir acemi olarak kullanabileceğim hiçbir şey söylemeden, çabalarımla dalga geçmek için iyi bir deneme. LOL, yardım istediğim için mi?

Kodlama konusunda uzman olmak istemiyorum veya buna ihtiyacım yok, sadece basit bir hatayı (ya da iki) çözmek için kibar bir yardım istemenin aslında birinin bana hatanın kodun neresinde olduğunu tavsiye etmesine yol açacağını varsaydım. Söylenenleri anlamak için belki yıllarca çalışmak/pratik yapmak/deney yapmak zorunda kalacağım için, burada yazılanlar bana hiç yardımcı olmuyor.

Hepiniz bir zamanlar acemi değil miydiniz ve basit kodları çalıştırmak için bir tür yardıma mı ihtiyacınız vardı? Lütfen?

 
unclebigpete :


Hepiniz bir zamanlar acemi değil miydiniz ve basit kodları çalıştırmak için bir tür yardıma mı ihtiyacınız vardı? Lütfen?

Evet, 4 yıl önce. . . öğrenmek için biraz çaba sarf et. . . uzman olmak istemeyebilirsiniz, kendimi uzman olarak saymıyorum, ancak düzgün işleyen bir EA yapmak için düzgün kodlamayı öğrenmeniz GEREKİR. . . alternatif olarak, her zaman bir başkasından sizin için yapmasını isteyebilirsiniz: İşler
 

Raptor, BİR ÇABA YAPIYORUM. ÖĞRENDİĞİM GİBİ daha da geliştirebileceğim çalışan bir EA istiyorum. Bunu çalıştırdım ve sonra bir şeyi değiştirdim ve şimdi çalışmıyor. Kodlama hakkında okuyorum ve hızlanmak için 4 veya daha fazla yılım yok. Sadece biraz gerçek yardım lütfen, burada söylenenler bana pek yardımcı olmadı.

Bu biraz tavsiyenin 'yakını' olduğu bir sigara içmeyi öğrenmeye benziyor!

 
unclebigpete :

Dediğim gibi, kodlamada acemiyim ve bu EA çalışıyor/çalışıyordu, bu yüzden onu geliştirmeye çalıştım ve şaşırdığımda bu forumda yardım istedim.

Bir acemi olarak kullanabileceğim hiçbir şey söylemeden, çabalarımla dalga geçmek için iyi bir deneme. LOL, yardım istediğim için mi?

Kodlama konusunda uzman olmak istemiyorum veya buna ihtiyacım yok, sadece basit bir hatayı (ya da iki) çözmek için kibar bir yardım istemenin aslında birinin bana hatanın kodun neresinde olduğunu tavsiye etmesine yol açacağını varsaydım. Söylenenleri anlamak için belki yıllarca çalışmak/pratik yapmak/deney yapmak zorunda kalacağım için, burada yazılanlar bana hiç yardımcı olmuyor.

Hepiniz bir zamanlar acemi değil miydiniz ve basit kodları çalıştırmak için bir tür yardıma mı ihtiyacınız vardı? Lütfen?


"Düzeltmelerimin düzeltip düzeltmediğini görmek için uzun zaman oldu ve hüsrana uğradım" alıntı senden alıntı

Bu senin problemin. EA'larınızı yapmak için bir "Uzman Danışman Oluşturucu" (bu kötü bir şekilde kodlama ....) kullanıyorsunuz.

Bu program saçmalığınızı EA yaparken, kodlamada neyin yanlış olduğunu görme bilgisini öğrenmediniz.

Otomatik EA Oluşturucuları olmadan EA'lar yapmaya başladıysanız

o zaman ilk etapta nereye bakacağınızı bilerek sorunları daha kolay bulursunuz.

sizin tarafınızdan yapılmış veya yapılmamış bir EA'dan programlarınız varsa ....

Ve evet, öğrenmesi zaman alır ama hatanın ne olduğunu kendin görebiliyorsan, hayal kırıklığın o kadar büyük olmaz.

kim bok kullanmak istiyor BU EA Builder'ı KULLANMAYI DURDURUN ....

 
unclebigpete :

Sadece biraz gerçek yardım lütfen,

Tamam, biraz yardım. . .

Kodunuzda bu kısmı bulun ve bunu şu şekilde değiştirin. . .

 //+------------------------------------------------------------------+
//| Variable End                                                     |
//+------------------------------------------------------------------+
//Check position                 
             bool IsTrade = False;
             for ( int i = Total - 1 ; i >= 0 ; i --) 
               {                       
               if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES) &&
                   OrderType () <= OP_SELL &&   OrderSymbol () == Symbol ()) 

Bu Sihirli Numarayı kontrol etmez. . Aynı çiftler üzerinde manuel sipariş vermek istiyorsanız veya aynı çiftte aynı anda farklı zaman dilimlerinde çalışmak istiyorsanız bunu eklemeniz gerekecektir. . . öyle mi ?

Barlar güvenilir değil, Bars kullanmak kötü bir fikir. . bunun yerine Zaman'ı kullanmalısın.

Slippage'iniz 4/5 Digit Brokers için ayarlanmadı. . ne de TP veya SL'niz.

SL'nizi küçültürseniz 130 hatası alırsınız çünkü çok yakın olup olmadığını veya yayılmaya izin verip vermediğini kontrol etmezsiniz.

Brokeriniz bir ECN Brokerı mı? Bir ECN Aracısı ile bir Piyasa emri verdiğinizde SL & veya TP ayarlayamazsınız, emir verildikten sonra SL & veya TP'yi eklemek için bir OredrModify() kodlamanız gerekir. . .

Devam edeyim mi? bu TEMEL şeyler. . . bu noktalar her gün bu Forumda ortaya çıkıyor. . .

Ve bunun çoğunu anlamıyorsunuz çünkü aslında hiçbir şeyi kodlamadınız. . . başka birinin kodunu kullandınız. . "Uzman Danışman Oluşturucu". Tek bir kısayol var: İşler

 
unclebigpete 2012.05.22 10:19

Dediğim gibi, kodlamada acemiyim ve bu EA çalışıyor/çalışıyordu, bu yüzden onu geliştirmeye çalıştım ve şaşırdığımda bu forumda yardım istedim.

Bir acemi olarak kullanabileceğim hiçbir şey söylemeden, çabalarımla dalga geçmek için iyi bir deneme. LOL, yardım istediğim için mi?

Kodlama konusunda uzman olmak istemiyorum veya buna ihtiyacım yok, sadece basit bir hatayı (ya da iki) çözmek için kibar bir yardım istemenin aslında birinin bana hatanın kodun neresinde olduğunu tavsiye etmesine yol açacağını varsaydım. Söylenenleri anlamak için belki yıllarca çalışmak/pratik yapmak/deney yapmak zorunda kalacağım için, burada yazılanlar bana hiç yardımcı olmuyor.

Hepiniz bir zamanlar acemi değil miydiniz ve basit kodları çalıştırmak için bir tür yardıma mı ihtiyacınız vardı? Lütfen?

Sevgili amcabigpete,

Kırıldıysan özür dilerim. sana kızmıyordum. "Uzman Danışman Oluşturucu" daydım ve hala oyalanıyordum. 4 yıl önce acemiydim, bir sürü aptal soru sordum, - heck şimdi hala öğreniyorum - buradaki bazı forumcular beni ve kodumu düzeltiyor ve kabul ediyorum, diğer kodlardan da öğreniyorum - bunu RaptorUK'a sorun - geçen Pazar beni düzeltti ve şu tarih indirme olayını.

Bu şekilde koyun, EA'nız 4 saatlik verilerle çalışıyorsa, gerçekten beklemeniz gerekir. Bir tam gün, 4 saatte yalnızca 6 mum/bara sahiptir. Başka bir şey, uzun süredir ticaret yaptığınızı söylediniz ve manuel olarak ticaret yaptığınızı ve bu EA'nın sizin stratejinize dayalı olduğunu varsayıyorum. Pekala, manuel ticaret sabır gerektirmiyor mu?, o zaman bu EA ile aynı şey.

bunu söyledin ...

Raptor, BİR ÇABA YAPIYORUM. ÖĞRENDİĞİM GİBİ daha da geliştirebileceğim çalışan bir EA istiyorum. Bunu çalıştırdım ve sonra bir şeyi değiştirdim ve şimdi çalışmıyor . Kodlama hakkında okuyorum ve hızlanmak için 4 veya daha fazla yılım yok. Sadece biraz gerçek yardım lütfen, burada söylenenler bana pek yardımcı olmadı.

Bu biraz tavsiyenin 'yakını' olduğu bir sigara içmeyi öğrenmeye benziyor!

O zaman benim Q'm, Whoa ..., ince ayar yaptığın kısım neresi? Şimdi bizden hatayı bulup düzeltmemizi istediniz.

Kodunuza daha sonra bakıyorum ve btw, .ex dosyası yardımcı olmayan derlenmiş bir dosya.

:)

 

"Senin" kodunun neden kötü olduğuna bir örnek verelim. . . .

Ticket = OrderSend ( Symbol (), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")" , 
   MagicNumber, 0 , DeepPink );
                   
if (Ticket > 0 ) 
   {
   if ( OrderSelect (Ticket, SELECT_BY_TICKET, MODE_TRADES)) 
      {
       Print ( "SELL order opened : " , OrderOpenPrice ());
       if (SignalMail) SendMail ( "[Signal Alert]" , "[" + Symbol () + "] " + DoubleToStr (Bid, Digits ) + " Open Sell" );
      } // if(Order...

   else                                  // <---  this else is in relation to the OrderSelect,  so when the OrderSelect fails the error stored in GetLastError is updated
      {
       Print ( "Error opening SELL order : " , GetLastError ());   // <--- this will give you Error 0 and you will be scratching your head
      } // else 
   } // if(Ticket... 

bildirilen hata OrderSend DEĞİL OrderSelect ile ilgilidir. . .

Bu şekilde yapılmalıdır. . .

Ticket = OrderSend ( Symbol (), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")" , 
   MagicNumber, 0 , DeepPink );
                   
if (Ticket < 0 ) 
   {
   Print ( "Error opening SELL order : " , GetLastError ());   // <--- this will give you Error that relates to the OrderSend
   } // if(Ticket... 

else                                  // <---  this else is in relation to the if(Ticket < 0)
   {
   if ( OrderSelect (Ticket, SELECT_BY_TICKET, MODE_TRADES)) 
      {
       Print ( "SELL order opened : " , OrderOpenPrice ());
       if (SignalMail) SendMail ( "[Signal Alert]" , "[" + Symbol () + "] " + DoubleToStr (Bid, Digits ) + " Open Sell" );
      } // if(Order...
   } // else 
 
onewithzachy :

Sevgili amcabigpete,

Kırıldıysan özür dilerim. sana kızmıyordum. "Uzman Danışman Oluşturucu" daydım ve hala oyalanıyordum. 4 yıl önce acemiydim, bir sürü aptal soru sordum, - heck şimdi hala öğreniyorum - buradaki bazı forumcular beni ve kodumu düzeltiyor ve kabul ediyorum, diğer kodlardan da öğreniyorum - bunu RaptorUK'a sorun - geçen Pazar beni düzeltti ve şu tarih indirme olayını.

Hepimiz hala öğreniyoruz. . . ve olmasak bile hepimiz insanız ve hepimiz hata yaparız. . . özellikle ben. Hata yapmayan tek insan hiçbir şey yapmayan insandır. . .

Bu arada . . . neden kodunuzu test etmek için bekleyin. . . test cihazında test edin. . . Strateji Test Cihazı . ;-)

Neden: