[Arşivle!] BİRLİKTE DANIŞMAN YAZIYORUZ!!!

 

Bir danışmanın ortak çabalarıyla yazmayı öneriyorum. Birincisi, birçok ilginç soruyu cevaplamaya yardımcı olacak (projenin sonunda bununla ilgili), ikincisi, ortaklaşa bir kâse yapmak için işe yarayabilir :) ve son olarak, yeni başlayanlar için ilginç olacak (kendimi içinde olduğumu düşünüyorum) programlama terimleri) MTS'nin aşamalı olarak nasıl oluşturulacağını öğrenmek için. En basit stratejiyi temel aldım... Bir önceki günün Yüksek/Düşük'ünü sabit bir kârla ve bugünün Yüksek/Düşük'ünde bir stop ile kırmaya başlıyoruz. Neden tam olarak? Evet, çünkü ilk olarak, böyle bir sistem tek bir gösterge kullanmaz ve ikincisi, 2000'den beri profesyonel faktör kullanılmaktadır. bugüne kadar 1.00 +/-0.03 (farklı olabileceğinden tarihsel verilere bağlı olarak) yani. prensipte 50/50 ve son olarak bir önceki günün Yüksek/Düşük seviyesini kırmanın piyasa için psikolojik olarak hala önemli olduğunu düşünüyorum. Başka temel seviyeler bulmayı veya yardımcı göstergeler veya başka bir şey kullanmayı öneriyorum, ancak asıl mesele aşağıda sunulandan daha karlı bir Uzman Danışman elde etmektir. Bu, 01/01/2009 tarihinden günümüze kadar testerden alınan bir tablodur, kendiniz daha detaylı bir rapor alabilirsiniz. Ana fikir, diğer araçların sadece sisteme yardımcı olması gerektiğidir, üzerlerine inşa etmemeleri... yani. Çalışan bir sistemi temel alıyor ve modernize etmeye (iyileştirmeye) çalışıyoruz. İşte aldıklarım...

Bu araç kesinlikle "çıplak", ancak potansiyeli var ...

Yeni başlayanlar için kullanmanızı tavsiye etmiyorum... Önümüzdeki 5 yıl boyunca boşalacak ;)

Yani burada tarla sürülmüş değil ...

İşte kod

 //+-----------------------------------------------------------------------+
//|                                                     Крокодил ГЕНА.mq4 |
//|                                                         Крокодил ГЕНА |
//+-----------------------------------------------------------------------+
// Описание ТС
// 1. Открытие позиций происходит при пробитии High или Low предыдущего дня
//    SL ставиться на High или Low текущего дня, TP выставляется во внешних переменных, 
//    единственная оговорка не более 1 позиции в день в переменной LastTradeTime 
//    если в ней нет необходимост смело сносите /RomanS/
// 2.
// 3.
// 4.
// 5.
 
   // Внешние переменные
   extern double TakeProfit = 900 ; 
   extern double Lot         = 1 ;     
   extern string SYMBOL     = "EURUSD" ;
  
   // Глобальные переменные
   int LastTradeTime = 0 ;        // Время последней открытой сделки
  
   // Поехали... :)
   int start ( ) 
   {   
     int Ticket ;
   double BID ,
         ASK ,
         SL = 0 ,
         TP = 0 ;                                   
     bool Trade     = true ,
         Open_Bay   = false ,
         Open_Sell = false ;

   // Проверяем можно ли торговать
   if ( Trade = = true ) 
   {
   
   // Критерии открытия позиций
     if ( Bid > iHigh ( SYMBOL , PERIOD_D1 , 1 ) ) Open_Bay = true ; 
     if ( Bid < iLow ( SYMBOL , PERIOD_D1 , 1 ) ) Open_Sell = true ;
        
   // Открытие позиций
       if ( Open_Bay = = true & & OrdersTotal ( ) = = 0 & & TimeDay ( TimeCurrent ( ) ) ! = LastTradeTime )                                            
         {       
         RefreshRates ( ) ; 
         Alert ( "111111111111" ) ;
          ASK = MarketInfo ( SYMBOL , 10 ) ;                                 
          SL = iLow ( SYMBOL , PERIOD_D1 , 0 ) ;
          TP = ASK + TakeProfit * Point ;
           if ( ( ASK - SL ) / Point < MarketInfo ( SYMBOL , 14 ) ) return ;    // проверяем минимальный уровень стопов
           Alert ( "Пробуем открыть Buy " , SYMBOL , " по " , ASK , SL , TP ) ;          
          Ticket = OrderSend ( SYMBOL , OP_BUY , Lot , ASK , 20 , SL , TP ) ;          
           if ( Ticket > 0 )                                                   
             {             
             Alert ( "Открыт ордер Buy " , Ticket ) ;
             LastTradeTime = TimeDay ( TimeCurrent ( ) ) ; // задаем время сделки, чтобы сегодня больше не торговать 
             return ;                                                        
             }          
         }
     if ( Open_Sell = = true & & OrdersTotal ( ) = = 0 & & TimeDay ( TimeCurrent ( ) ) ! = LastTradeTime )                                              
         {       
         RefreshRates ( ) ;                                              
          BID = MarketInfo ( SYMBOL , 9 ) ;
          SL = iHigh ( SYMBOL , PERIOD_D1 , 0 ) ;
          TP = BID - TakeProfit * Point ;
           if ( ( SL - ASK ) / Point < MarketInfo ( SYMBOL , 14 ) ) return ; // проверяем минимальный уровень стопов
          Ticket = OrderSend ( SYMBOL , OP_SELL , Lot , BID , 20 , SL , TP ) ;          
           if ( Ticket > 0 )                                                   
             { 
               Alert ( "Открыт ордер Sell " , Ticket ) ;
              LastTradeTime = TimeDay ( TimeCurrent ( ) ) ;    // задаем время сделки, чтобы сегодня больше не торговать
               return ;                                    
             }          
           return ;                                                        
         }
   
   // Закрытие позиции
   
   // Модификация ордера
   
   }
   return ;        
   }



Hemen kaynağı normal bir forma getirmeyi önermek istiyorum, profesyonel değilim ... Ben bir "amatör"üm, böylece daha fazla çalışmak daha uygun olur. Veya hatta .. yeni bir plan. Ana şey, durumun







     if ( Bid > iHigh ( SYMBOL , PERIOD_D1 , 1 ) ) Open_Bay = true ; 
     if ( Bid < iLow ( SYMBOL , PERIOD_D1 , 1 ) ) Open_Sell = true ;

bu aşamada tutulur.

Cevap veren herkese teşekkürler.

Dosyalar:
 

Ve danışman tüm alanlarda optimize edilir ve optimize edilmiş parametrelerin ne kadar süreceği

 
ivandurak >> :

Ve danışman tüm alanlarda optimize edilir ve optimize edilmiş parametrelerin ne kadar süreceği

Ne optimizasyonu???

Burada (bu aşamada) sadece yoldaş prof. optimize edilebilir, elbette, çok şeyi uzaklaştırabilirsin, ama hiçbir anlamı yok

 

Evet, buradaki tarla sadece sürülmemiş değil, baktığınız her yerde bakir toprak var, çünkü seviyeler hem hi-lo'da hem de her türlü camarilla-murray'de kalbinizin içeriğine göre ayarlanabiliyor. Hi-lo'ya gelince, bunu zaten tasarladım - kesinlikle bir kâse olmadığını hemen söyleyebilirim çünkü iyi bir sistem için çok büyük dezavantajlar elde edilir. Alımlar karşılaştırılabilirse, küçük olacaklar, ancak günün dağılımını büyük bir şekilde değerlendiremezsiniz - sadece işe yaramaz veya altı ay içinde işe yarayacaktır.

Bu nedenle benim tavsiyem - almanın koparma aralığından daha büyük olduğu dar aralıkların kırılması üzerine koparma sistemleri kurmak daha iyidir. En çarpıcı örnek sabah dairesinin yıkılmasıdır. Bu anlamda kesinlikle doğru bir karar.

Gündüzden başka seviyeler, losyonlar ve bir şaman tef şeklinde ek yönlendirmeler olmadan dans ederseniz, bunu yapamazsınız.

 
sayfuji >> :

Evet, buradaki tarla sadece sürülmemiş değil, baktığınız her yerde bakir toprak var, çünkü seviyeler hem hi-lo'da hem de her türlü camarilla-murray'de kalbinizin içeriğine göre ayarlanabiliyor. Hi-lo'ya gelince, bunu zaten tasarladım - kesinlikle bir kâse olmadığını hemen söyleyebilirim çünkü iyi bir sistem için çok büyük dezavantajlar elde edilir. Alımlar karşılaştırılabilirse, küçük olacaklar, ancak günün dağılımını büyük bir şekilde değerlendiremezsiniz - sadece işe yaramaz veya altı ay içinde işe yarayacaktır.

Bu nedenle benim tavsiyem - almanın koparma aralığından daha büyük olduğu dar aralıkların kırılması üzerine koparma sistemleri kurmak daha iyidir. En çarpıcı örnek sabah dairesinin yıkılmasıdır. Bu anlamda kesinlikle doğru bir karar.

Gündüzden başka seviyeler, losyonlar ve bir şaman tef şeklinde ek yönlendirmeler olmadan dans ederseniz, bunu yapamazsınız.

danışman değişikliği

PERIOD_D1 üzerinde PERIOD_H4 belki sonuç daha iyi olur???

Dürüst olmak gerekirse, bu MTS ile hiçbir şey denemedim ... Sadece ilgi uğruna yaptım ...

Son başlıkta da söylediğim gibi, ünlü DC'nin forumunda "A" harfiyle, forum kullanıcıları bir yıl boyunca bir uzmanla birlikte yazmışlar...

Bir şeyler düşünelim... Daha fazla programlama potansiyelimiz var..

 
RomanS писал(а) >>

Ne optimizasyonu???

Burada (bu aşamada) sadece yoldaş prof. optimize edilebilir, elbette, çok şeyi uzaklaştırabilirsin, ama hiçbir anlamı yok

Bu sanal ticaret yapmak için bana. Gerçek ticaret için en iyi optimal parametreler seçilir. Ve ischo, bir kodda iki danışman yazıyoruz, biri işlem yapandan daha iyi olan bir geri tepme için diğerinin dökümü için çalışıyor.

 

Şimdi zaten MTS'mizde hatalar görüyorum

Tüm döviz çiftlerinde çalışmasını istedim ama sadece EURUSD için çıktı

şimdi düzelteceğim...

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
//|                                                     Крокодил ГЕНА.mq4 |
//|                                                         Крокодил ГЕНА |
//+-----------------------------------------------------------------------+
// Описание ТС
// 1. Открытие позиций происходит при пробитии High или Low предыдущего дня
//    SL ставиться на High или Low текущего дня, TP выставляется во внешних переменных, 
//    единственная оговорка не более 1 позиции в день в переменной LastTradeTime 
//    если в ней нет необходимост смело сносите /RomanS/
// 2.
// 3.
// 4.
// 5.
 
  // Внешние переменные
  extern double TakeProfit = 900 ; 
  extern double Lot        = 1 ;    
  extern string SYMBOL     = "EURUSD" ;
  
  // Глобальные переменные
  int LastTradeTime = 0 ;      // Время последней открытой сделки
  
  // Поехали... :)
  int start ( ) 
  {  
     int Ticket ;
  double BID ,
         ASK ,
         SL = 0 ,
         TP = 0 ;                                  
    bool Trade     = true ,
         Open_Bay  = false ,
         Open_Sell = false ;

  // Проверяем можно ли торговать
  if ( Trade = = true ) 
   {
   
   ASK = MarketInfo ( SYMBOL , 10 ) ;
   BID = MarketInfo ( SYMBOL , 9 ) ;
  
  // Критерии открытия позиций
    if ( BID > iHigh ( SYMBOL , PERIOD_D1 , 1 ) ) Open_Bay = true ; 
    if ( BID < iLow ( SYMBOL , PERIOD_D1 , 1 ) ) Open_Sell = true ;
        
  // Открытие позиций
      if ( Open_Bay = = true & & OrdersTotal ( ) = = 0 & & TimeDay ( TimeCurrent ( ) ) ! = LastTradeTime )                                           
        {      
         RefreshRates ( ) ; 
          SL = iLow ( SYMBOL , PERIOD_D1 , 0 ) ;
          TP = ASK + TakeProfit * Point ;
          if ( ( ASK - SL ) / Point < MarketInfo ( SYMBOL , 14 ) ) return ;  // проверяем минимальный уровень стопов
          Alert ( "Пробуем открыть Buy " , SYMBOL , " по " , ASK , SL , TP ) ;         
          Ticket = OrderSend ( SYMBOL , OP_BUY , Lot , ASK , 20 , SL , TP ) ;         
           if ( Ticket > 0 )                                                  
            {            
             Alert ( "Открыт ордер Buy " , Ticket ) ;
             LastTradeTime = TimeDay ( TimeCurrent ( ) ) ; // задаем время сделки, чтобы сегодня больше не торговать 
             return ;                                                       
            }         
        }
     if ( Open_Sell = = true & & OrdersTotal ( ) = = 0 & & TimeDay ( TimeCurrent ( ) ) ! = LastTradeTime )                                             
        {      
         RefreshRates ( ) ;                                             
          SL = iHigh ( SYMBOL , PERIOD_D1 , 0 ) ;
          TP = BID - TakeProfit * Point ;
          if ( ( SL - ASK ) / Point < MarketInfo ( SYMBOL , 14 ) ) return ; // проверяем минимальный уровень стопов
          Ticket = OrderSend ( SYMBOL , OP_SELL , Lot , BID , 20 , SL , TP ) ;         
           if ( Ticket > 0 )                                                  
             { 
              Alert ( "Открыт ордер Sell " , Ticket ) ;
              LastTradeTime = TimeDay ( TimeCurrent ( ) ) ;  // задаем время сделки, чтобы сегодня больше не торговать
              return ;                                   
             }         
          return ;                                                       
        }
   
   // Закрытие позиции
   
   // Модификация ордера
   
   }
  return ;       
  }
Dosyalar:
 
sayfuji >> :

Gündüzden başka seviyeler, losyonlar ve bir şaman tef şeklinde ek yönlendirmeler olmadan dans ederseniz, bunu yapamazsınız.

Yani şampanya ve tef birbirine bağlanmalı ...

Bekarlar, daha az olası, iletişim kurmanız gerekiyor, forum bunun için var ...

 

Merhaba RomanS.

Fikir harika. Yabancı forumlardaki tüccarların nasıl bir ekip halinde bir araya geldiklerini ve karşılıklı çabalarla bir Uzman Danışman oluşturduklarını çok sık görüyorum. Desteklemeye hazır.

Fikrinize gelince, boşa gidiyor. Ve bu kase değil. Halihazırda çalışıyorsak, o zaman ciddi bir şekilde çalışalım, umutlarımızı farklı ayarlayalım, neden tüm bunlara başlamalıyız? Benim fikrim şu: sistem sadece M1 EUR/USD için oluşturulmalı. Algoritmanın temeli, trendi belirlemek için bir yöntem ortaya koymaktır. Tilson'ın yumuşatma algoritması ile ....mmm..... hareketli ortalamayı ele alalım. Ardından, girişe bir göz atalım. İki hızlı maşanın kesişimini ve üzerlerindeki kapanışı alabilirsiniz. Çok daha fazla çan ve ıslık ekleyebilirsiniz. Öner :-) Artı, Martin'i kendi ayarlarınızla dahil etme yeteneğiyle MM yaptığınızdan emin olun.

Genel olarak, bundan dans edelim. Giriş/çıkış fikirlerinizi ortaya koyun. Hadi beraber yapalım. Ancak D1'deki yüksek ve düşük seviyeleri kırmak bir tahliyedir. sayfuji her şeyi doğru yazdı.

 

Ve bir dalda ne yazılmaz https://forum.mql4.com/ru/ 23917 ?

Genel olarak, genellikle ilginç bir fikir etrafında birleşirler ve ardından türün krizi ...

 
Alex5757000 >> :

Merhaba RomanS.

Fikir harika. Yabancı forumlardaki tüccarların nasıl bir ekip halinde bir araya geldiklerini ve karşılıklı çabalarla bir Uzman Danışman oluşturduklarını çok sık görüyorum. Desteklemeye hazır.

Fikrinize gelince, boşa gidiyor. Ve bu kase değil. Halihazırda çalışıyorsak, o zaman ciddi bir şekilde çalışalım, umutlarımızı farklı ayarlayalım, neden tüm bunlara başlamalıyız? Benim düşüncem şu: sistem sadece M1 EUR/USD için oluşturulmalı. Algoritmanın temeli, trendi belirlemek için bir yöntem ortaya koymaktır. Tilson'ın yumuşatma algoritması ile ....mmm..... hareketli ortalamayı ele alalım. Ardından, girişe bakalım. İki hızlı maşanın kesişimini ve üzerlerindeki kapanışı alabilirsiniz. Çok daha fazla çan ve ıslık bağlayabilirsiniz. Öner :-) Artı, Martin'i kendi ayarlarınızla dahil etme yeteneğiyle MM yaptığınızdan emin olun.

Genel olarak, bundan dans edelim. Giriş/çıkış fikirlerinizi ortaya koyun. Hadi beraber yapalım. Ancak D1'deki yüksek ve düşük seviyeleri kırmak bir tahliyedir. sayfuji her şeyi doğru yazdı.

Gerçek bu olmasa da (zaman gösterecek) bu kesin!

Boşalmadığı (uzun vadede), test cihazında başlatıldığında görülebilir (50/50 bazen çalışıyor, bazen çalışmıyor), ancak boşaltma yapmıyor ... prof. faktör yaklaşık 1.00

M1 ile ilgili olarak, bu elbette ilginç, ancak profesyonellerin ilgilenmesi pek olası değil, ayrıca sistemi günübirlik gezilerde önermedim ... M5'te test ettim, ancak genel olarak bir fark yok.

MA-şek'e gelince, aşama genel olarak geçti ...

Algoritmanın temeli, trendi belirlemek için bir yöntem oluşturmaktır.

Trendi belirlemek için bir yol çizmeyi önerdin, o yüzden koy... sorun ne??? tartışacağız...

Tilson'ın yumuşatma algoritmasıyla hareketli bir ortalama alalım, diyelim ki ....mmm.

Sorun değil... birkaç satır kod yapıştırabilirsiniz ve vole... prof. faktör 2.0'dan büyük

İşin aslı, varsaymayı değil, yapmayı öneriyorum ve nasıl yapılacağını bilmeyenler .. başkalarının nasıl yaptığını öğren.

Şahsen ben (bir amatör olarak) profesyonellerden deneyim kazanmak istiyorum...