"Yeni Başlayanlar için MQL5’te Uzman Danışman Yazmak İçin Adım Adım Açıklamalı Kılavuz" makalesi için tartışma - sayfa 27

 
Rustam Ayupov #:

Sevgili Vladimir! Aptallar için titanik çalışmanıza ulaştım, önceliklerim değişiyor, demo ticareti kendi yolu olacak ve şimdi asıl önemli olan yeni başlayanlar için okulunuz, deneyiminizin değerli sıkmalarını çiğniyorum, paha biçilemez, kelime yok. Bu EA'ya takip eden bir durdurmayı nasıl ekleyeceğime ulaşırsam, muhtemelen bunu bir öncelik olarak yapacağım, çünkü ileri optimizasyonun bir sonucu olarak, EA uzun karlar yaratıyor, güvenlik ağları çığlık atıyor. Ve okulunuzdaki eğitim sırasında muhtemelen hataları görmeyi öğreneceğim, bunlar olmadan çalışan programlar yok ve onları düzelteceğim. TEŞEKKÜR EDERIM.

Saygılarımla, Rustam.

Rica ederim, Rustam!

Saygılarımla, Vladimir.

 
Valeriy Yastremskiy #:

Yanıtla veya Yeni Yorum, en altta Dosya ekle.

Zekice basitlik için TEŞEKKÜRLER) Ve bir soru, takip deneyiminizle bunlardan birini bu EA'ya nasıl eklersiniz?

 
MrBrooklin #:

Lütfen, Rüstem!

Saygılarımla, Vladimir.

Yazarın kendisi olan Uzman Danışman'ın benzersiz, dahice basit bir "takip yöntemi" buldum, bu gelişme için geleneksel olduğu gibi, yazarın yorumladığı gibi uygulanmadı. O da benim gibi muhtemelen bir kukla, ama büyük bir kukla) Fiyat tersine döndüğünde, önceden açılmış pozisyonun kapatılacağına söz verdi, evet, öyle olsaydı harika olurdu... ama sadece iki açık pozisyon asılı, her iki yönde de ve kapatılmıyor. Daha önce, ilk tavsiyenizden önce, her iki yönde de kapatılmamış bir dolu açık pozisyon vardı. Bu kirazı pastanın üzerine sıkmayı dener misiniz?

 
Rustam Ayupov #:

Zekice basitlik için TEŞEKKÜRLER) Ve bir soru, takip eden deneyiminizle bu EA'ya nasıl bir tane eklersiniz?

Sonda ile elde edilen sonuç sonda olmadan elde edilenden daha iyiyse, o zaman bırakın.

 
Valeriy Yastremskiy #:

Eğer trolle elde edilen sonuç trolsüz elde edilenden daha iyiyse, o zaman bırakın.

Yerleştirmek zor değil, ama ne yerleştirmeli? Test etmek ve değerlendirmek.

 
Rustam Ayupov #:

Yerleştirmek zor değil, ama neyi yerleştirmek için? Test etmek için.

trawl kodunu trawl olmadan EA'nıza yerleştirin. Trol kodunu bir işleve koymak daha iyidir. Ve bir sipariş varsa, trawl'ı koşula göre çağırın.

 
Rustam Ayupov #:

Yazarın kendisi olan Uzman Danışman'ın benzersiz, dahice basit bir "takip yöntemi" buldum, bu gelişme için geleneksel olduğu gibi, yazarın yorumladığı gibi uygulanmadı. O da benim gibi muhtemelen bir kukla, ama büyük bir kukla) Fiyat tersine döndüğünde, önceden açılmış pozisyonun kapatılacağına söz verdi, evet, öyle olsaydı harika olurdu... ama sadece iki açık pozisyon asılı, her iki yönde de ve kapatılmıyor. Daha önce, ilk tavsiyenizden önce, her iki yönde de kapatılmamış bir dolu açık pozisyon vardı. Pastanın üzerine bu kirazı sıkmaya mı çalışıyorsunuz?

Merhaba, Rustam! İşbirliğimizi verimli bir şekilde sürdürebilmemiz için öncelikle sorun yaşadığınız EA kodunu mesajınıza nasıl ekleyeceğinizi öğrenmeniz gerekiyor. EA'yı test ederken sorun yaşarsanız, bu kodu yeni bir adla kaydetmeniz, derlemeniz ve ardından mesaja eklemeniz gerekir. EA'yı yeni bir isimle kaydetmeli ve derlemelisiniz !!! Aksi takdirde, sizinle iletişim kurarken farklı varyantlarda kafamız karışacaktır.

Herhangi bir nedenle EA'nın kodunu ekleyemiyorsanız, başka bir yol kullanabilirsiniz:

  1. MetaEditor'de, Ctrl+A tuşlarına basarak sorunlu EA kodunu vurgulayın.
  2. Ctrl+C tuşlarına basarak EA kodunu kopyalayın.
  3. Burada forumda yayınlamak istediğiniz bir gönderi oluşturun ve AL+S düğmesine basarak kopyaladığınız kodu Ctrl+V düğmesine basarak yapıştırmanız gereken bir alan açın.
  4. Gönderinizi foruma ekleyin

Gönderilerinize sorunlu EA'nın kodunu eklemeyi veya yerleştirmeyi öğrenmezseniz, sizinle daha fazla diyalog işe yaramaz hale gelir.

Saygılarımla, Vladimir.

 
MrBrooklin #:

Merhaba, Rustam! Verimli bir şekilde işbirliğine devam edebilmemiz için öncelikle sorunlu EA kodunu bir mesaja nasıl ekleyeceğinizi öğrenmeniz gerekiyor. EA'yı test ederken sorun yaşarsanız, bu kodu yeni bir adla kaydetmeniz, derlemeniz ve ardından mesaja eklemeniz gerekir. EA'yı yeni bir isimle kaydetmeli ve derlemelisiniz !!! Aksi takdirde, sizinle iletişim kurarken farklı varyantlarda kafamız karışacaktır.

Herhangi bir nedenle EA'nın kodunu ekleyemiyorsanız, başka bir yol kullanabilirsiniz:

  1. MetaEditor'de, Ctrl+A tuşlarına basarak sorunlu EA kodunu vurgulayın.
  2. Ctrl+C tuşlarına basarak EA kodunu kopyalayın.
  3. Burada forumda yayınlamak istediğiniz bir gönderi oluşturun ve AL+S düğmesine basarak kopyaladığınız kodu Ctrl+V düğmesine basarak yapıştırmanız gereken bir alan açın.
  4. Mesajı foruma ekleyin

Gönderilerinize EA kodunu nasıl ekleyeceğinizi veya sorunlu olarak göndereceğinizi öğrenmezseniz, sizinle daha fazla diyalog kurmak faydasız hale gelir.

Saygılarımla, Vladimir.

Gecikme için özür dilerim, hafta sonu boyunca yandım, ancak son sorunun nedenini buldum, FXopen komisyoncusunun MT5'e kadar büyümediği ortaya çıktı. Peki ve bana göndermek için dosya seçiminin basitliğini öğretti. İlk ikisi, yazarın koddaki dikkatsizliğini, tek bir pozisyon yerine büyük miktarda pozisyon açarak durdurduğunuz yazarın çalışmasını optimize etmenizdir, ikinci ikisi ise fiyat tersine döndüğünde bir pozisyonu kapatma beyanıdır. İkincisi üzerinde çalışmaya değer, sonuçta yazar, bitmediyse de karlı bir şekilde istedi).

 
Rustam Ayupov #:

Gecikme için özür dilerim, hafta sonu boyunca 24 saat yandı, ancak son sorunun nedenini buldum, FXopen komisyoncusu ortaya çıktı, sadece MT5'e kadar büyümedi. Peki ve bana göndermek için dosya seçiminin basitliğini öğretti. İlk ikisi, yazarın koddaki dikkatsizliğini, tek bir pozisyon yerine büyük miktarda pozisyon açarak durdurduğunuz yazarın çalışmasını optimize etmenizdir, ikinci ikisi ise fiyat tersine döndüğünde bir pozisyonu kapatma beyanıdır. İkincisi üzerinde çalışmaya değer, sonuçta yazar, bitirmediyse de karlı bir şekilde istedi).

Bu sonuncusu ile hala çözmeye çalışıyorum, bir şeyleri anlamaya çalışıyorum ve içinde gezinmeye başlıyorum, uzun süreli kârların sigortası için. Yazarın gelecekteki sürprizlerine şimdiden hazırım, yol yürüyenlerin olacak).

Dosyalar:
 
Rustam Ayupov #:

Bu sonuncusuyla, hala bir şeyleri anlamaya ve kendimi ona yönlendirmeye çalışıyorum, şimdilik uzun vadeli karlardan korunmak için. Yazarın gelecekteki sürprizlerine şimdiden hazırım, yol yürüyenin olacak).

Merhaba, Rustam! Bu Uzman Danışmanın çalışan sürümünü mesajın altına ekliyorum. Kodun bu bölümünde değişiklikler yapıldı:

//--- Her şeyi bir araya getirme 
   if(Buy_Condition_1 && Buy_Condition_2)
     {
      if(Buy_Condition_3 && Buy_Condition_4 && PositionsTotal()==0)
        {
         ZeroMemory(mrequest);
         mrequest.action = TRADE_ACTION_DEAL;                                  // anında emir gerçekleştirme
         mrequest.price = NormalizeDouble(latest_price.ask,_Digits);           // en son satış fiyatı
         mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Zararı Durdur
         mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Kâr Al
         mrequest.symbol = _Symbol;                                            // para birimi çifti
         mrequest.volume = Lot;                                                 // işlem yapılacak lot sayısı
         mrequest.magic = EA_Magic;                                             // Sihirli Numarayı Sipariş Edin
         mrequest.type = ORDER_TYPE_BUY;                                        // Sipariş Al
         mrequest.type_filling = ORDER_FILLING_FOK;                             // Sipariş gerçekleştirme türü
         mrequest.deviation=100;                                                // Mevcut fiyattan sapma
         //--- sipariş gönder
         bool check=OrderSend(mrequest,mresult);
         // sonuç kodunu al
         if(mresult.retcode==10009 || mresult.retcode==10008) //Talep tamamlandı veya sipariş verildi
           {
            Alert("A Buy order has been successfully placed with Ticket#:",mresult.order,"!!");
           }
         else
           {
            Alert("The Buy order request could not be completed -error:",GetLastError());
            ResetLastError();           
            return;
           }
        }
     }
/*
 2. Açığa Satış/Satış Kurulumunu Kontrol Edin: MA-8 aşağı doğru düşüyor, 
 önceki fiyatın altında kapanış, ADX > 22, -DI > +DI
*/.
//--- Satış Koşullarımızı tutmak için bool tipi değişkenler beyan edin
   bool Sell_Condition_1 = (maVal[0]<maVal[1]) && (maVal[1]<maVal[2]);  // MA-8 aşağı doğru alçalıyor
   bool Sell_Condition_2 = (p_close <maVal[1]);                         // Önceki fiyat MA-8'in altında kapandı
   bool Sell_Condition_3 = (adxVal[0]>Adx_Min);                         // Mevcut ADX değeri minimumdan büyük (22)
   bool Sell_Condition_4 = (plsDI[0]<minDI[0]);                         // -DI, +DI'dan büyüktür

//--- Her şeyi bir araya getirme
   if(Sell_Condition_1 && Sell_Condition_2)
     {
      if(Sell_Condition_3 && Sell_Condition_4 && PositionsTotal()==0)
        {
         ZeroMemory(mrequest);
         mrequest.action=TRADE_ACTION_DEAL;                                // anında emir gerçekleştirme
         mrequest.price = NormalizeDouble(latest_price.bid,_Digits);           // en son Teklif fiyatı
         mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits); // Zararı Durdur
         mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // Kâr Al
         mrequest.symbol = _Symbol;                                          // para birimi çifti
         mrequest.volume = Lot;                                              // işlem yapılacak lot sayısı
         mrequest.magic = EA_Magic;                                          // Sihirli Numarayı Sipariş Edin
         mrequest.type= ORDER_TYPE_SELL;                                     // Satış Emri
         mrequest.type_filling = ORDER_FILLING_FOK;                          // Sipariş gerçekleştirme türü
         mrequest.deviation=100;                                             // Mevcut fiyattan sapma
         //--- sipariş gönder
         bool check=OrderSend(mrequest,mresult);
         // sonuç kodunu al
         if(mresult.retcode==10009 || mresult.retcode==10008) //Talep tamamlandı veya sipariş verildi
           {
            Alert("A Sell order has been successfully placed with Ticket#:",mresult.order,"!!");
           }
         else
           {
            Alert("The Sell order request could not be completed -error:",GetLastError());
            ResetLastError();
            return;
           }
        }
     }
   return;
  }
//+------------------------------------------------------------------+

Sarı ile vurgulananlar eklendi:

&& PositionsTotal()==0

ve ayrıca Buy_opened ve Sell_opened ile ilgili koşul kaldırıldı:

         // açılmış herhangi bir Alış pozisyonu var mı?
         if(Buy_opened)
           {
            Alert("We already have a Buy Position!!!");
            return;    // Yeni bir Alış Pozisyonu açmayın
           }
.
.
.
         // açık Satış pozisyonu var mı?
         if(Sell_opened)
           {
            Alert("We already have a Sell position!!!");
            return;    // Yeni bir Satış Pozisyonu açmayın
           }

Saygılarımla, Vladimir.

Dosyalar: