Gerçek hesaplarda danışman yarışması - sayfa 17

 

Şimdi hesap geçmişine baktım ve öğrendim. Belirli bir kâra ulaşıldığında pozisyonları kapatma işlevinin pratikte gerçek hayatta çalışmadığını! Test cihazı iyi çalışmasına rağmen.

Onlar. gerçek hayatta, davaların büyük çoğunluğunda karlı pozisyonlar tecrofit, cat tarafından kapatılır. oran = 15 puan, - min. İzin verilen durdurma seviyesi.

Ancak bu hızlı EA, EURCHF'de +11'i ve EURGBP'de +8'i kapatmak için optimize edildi!

Böyle bir fark (özellikle 15 ve 8) puan. keskin bir Uzman Danışman için hassas!

Bunun neden olduğunu hala bilmiyorum.... Kapanış fonksiyonunu başka bir (yabancı) tasarımdan aldım.

Onu taradım, ektim (eurofranc f-i için şuna benziyor):

 //жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж+
//Функция дает команду на  закрытие  позиции при достижении профита , 
//задаваемого  параметром CloseProfit. Для корректной работы 
//этой функции необходимо наличие вспомогателной функции del(int ticket)
void CloseProfit ( )                                                      {
     if ( OrdersTotal ( ) > 0 )                                              {
       for ( int q = OrdersTotal ( ) + 1 ; q > = 0 ; q - - )                      {
         if ( OrderSelect ( q , SELECT_BY_POS , MODE_TRADES ) )                {
             if ( OrderSymbol ( ) = = "EURCHF" )                              {
               if ( OrderMagicNumber ( ) = = Magic )                        {
                   if ( OrderCloseTime ( ) = = 0 )                            {
                     if ( OrderType ( ) = = OP_BUY )                        {
                         RefreshRates ( ) ;
                         if ( Bid > OrderOpenPrice ( ) + CloseProfit * Point ) {
                           Print ( "ClosePozishion" ) ; del ( OrderTicket ( ) ) ;
                         } }
                     if ( OrderType ( ) = = OP_SELL )                          {
                         RefreshRates ( ) ;
                         if ( Ask < OrderOpenPrice ( ) - CloseProfit * Point ) {
                           Print ( "ClosePozishion" ) ; del ( OrderTicket ( ) ) ;
                         } } } } } } } } }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж+
//Функция реализует закрытие позиций по текущей цене
void del ( int ticket ) {
   int Error ;
   double _bid ;
   for ( int w = 0 ; w < 1 ; w + + ) {
       GetLastError ( ) ;
       OrderSelect ( ticket , SELECT_BY_TICKET , MODE_TRADES ) ;
       if ( OrderType ( ) = = OP_BUY ) {
         RefreshRates ( ) ;
         _bid = MarketInfo ( "EURCHF" , MODE_BID ) ;
         if ( ! OrderClose ( ticket , OrderLots ( ) , _bid , 3 , Green ) ) Error = GetLastError ( ) ;
       }
       if ( OrderType ( ) = = OP_SELL ) {
         RefreshRates ( ) ;
         _bid = MarketInfo ( "EURCHF" , MODE_ASK ) ;
         if ( ! OrderClose ( ticket , OrderLots ( ) , _bid , 3 , Green ) ) Error = GetLastError ( ) ;
       }
       if ( Error = = 0 ) {    PlaySound ( "expert.wav" ) ;    return ; } //при  нормальном закрытии  
       //  позиции, - даем сигнал "expert.wav"
       if ( Error ! = 0 ) { // если произошла ошибка закрытия - сигнал и печать .
         PlaySound ( "timeout.wav" ) ;
         Print ( "Error for Close Funtion =" , Error ) ;
       }
       while ( ! IsTradeAllowed ( ) ) Sleep ( 5000 ) ; //если торг. поток занят, - ждем 5 сек
       if ( Error = = 146 ) while ( IsTradeContextBusy ( ) ) Sleep ( 10000 ) ;
       //если нет соединения с сервером, ждем - 10 сек
   }
}

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж+
 

hata veriyor mu?

bu tasarım basitleştirilebilir

       if ( OrderType ( ) = = OP_BUY ) {
         RefreshRates ( ) ;
         _bid = MarketInfo ( "EURCHF" , MODE_BID ) ;
         if ( ! OrderClose ( ticket , OrderLots ( ) , _bid , 3 , Green ) ) Error = GetLastError ( ) ;
       }
       if ( OrderType ( ) = = OP_SELL ) {
         RefreshRates ( ) ;
         _bid = MarketInfo ( "EURCHF" , MODE_ASK ) ;
         if ( ! OrderClose ( ticket , OrderLots ( ) , _bid , 3 , Green ) ) Error = GetLastError ( ) ;
       }

bunun gibi

 RefreshRates ( ) ;
if ( ! OrderClose ( ticket , OrderLots ( ) , OrderClosePrice ( ) , 3 , Green ) ) Error = GetLastError ( ) ;
 
keekkenen писал(а) >>

hata veriyor mu?

bu tasarım basitleştirilebilir

bunun gibi

Hatalar hakkında bir şey söyleyemem. Çünkü Bu hesap için sadece yatırım şifrem var.

Ama benim hesabıma göre - bu DC'de gerçek hayatta çok iyi hatalar var. sıklıkla. Kod bir hata sesi sinyali veriyor ve bu sinyali oldukça sık duyuyorum! Ayrıca, ilk başta bir kapanma hatası sinyali duyulur. Ve bir veya daha fazla dakika sonra, genellikle, bir kâr al tetikleyici sinyali duyulur. Başka bir deyişle, kapatma işlevi çok iyi çalışıyor. yanlış ve fiyat, belirtilen kapanış seviyesini atlayarak, alım seviyesine geçer!

Ve tasarımı basitleştirerek basitleştirilebilir, ancak her şey ayrıntılı olarak açıklandığında benim için daha net.

 

Ama bu tırtıklı EA, EURCHF'de +11 ve EURGBP'de +8'i kapatmak için optimize edildi!

her şey basit bir şekilde açıklanmış, uzun bir pozisyon açın ve meşru 15 puanı almak için koşulun çalışmasını bekleyin

 if ( OrderType ( ) = = OP_BUY ) {
	RefreshRates ( ) ;
     if ( Bid > OrderOpenPrice ( ) + CloseProfit * Point ) {
		Print ( "ClosePozishion" ) ; del ( OrderTicket ( ) ) ;
     }
}

ama burada değil, öyleydi. Teklif yerine Sor koymanız gerekiyorsa,

Zor kazanılan 15 puanınızı almak için..


ve ayrıca yukarıda anlaşılmaz bir şey yazıyor .. kar al 15 puan ise neden daha erken kapatalım? belirtmek..

 
keekkenen писал(а) >>

Ama bu tırtıklı EA, EURCHF'de +11 ve EURGBP'de +8'i kapatmak için optimize edildi!

her şey basit bir şekilde açıklanmış, uzun bir pozisyon açın ve meşru 15 puanı almak için koşulun çalışmasını bekleyin

ama burada değil, öyleydi. Teklif yerine Sor koymanız gerekiyorsa,

zor kazanılan 15 puanınızı almak için..

ve ayrıca yukarıda anlaşılmaz bir şey yazıyor .. kar al 15 puan ise neden daha erken kapatalım? belirtmek..

Kesinlikle bu şekilde değil. Kârda +11 pip'e ulaştığında pozisyonu kapatmak istiyorum. +15 seviyesinde iken (çünkü daha yakına koyamazsınız - orada DC'de seviyeye izin verilir =15)

Neden teklifte satın aldığımı düşünüyorsun? Sorarak aldım.

Ancak tüm uzun pozisyonlar satışla kapatıldıktan sonra mı? - Öyle değil mi ?

ve bu nedenle "i-fe" de bir teklif var ...

Ama sizce yayılmayı kaybetsem bile, bu gerçek, gerçek ile test eden arasındaki sonuçlar arasındaki tutarsızlığı açıklamıyor!

200 işlemle 10 gün için çok fazla = 0,1 ile daha da kötüsü için neredeyse 500 $ sapma.

 
leonid553 >> :

Ama sizce yayılmayı kaybetsem bile, bu gerçek, gerçek ile test eden arasındaki sonuçlar arasındaki tutarsızlığı açıklamıyor!

Evet. Dondurma seviyesi de var, belki de sorun onda.
 
TheXpert писал(а) >>

Gerçek hayatta, işlemlerin neredeyse üçte biri eksik, belki de bu kayıp kârdır. Ya da belki bir şey gözden kaçmıştır. Yaz, biz hallederiz.

İşlem sayısını öğrendim. Şimdi Expert Advisor'ı test cihazında requote simülasyon seçeneği etkinken çalıştırdım ve test sırasındaki ve gerçek hesaptaki işlem sayısı yaklaşık olarak (makul sınırlar dahilinde) çakıştı.

Onlar. alıntılar suçlanacak. İşlem sayısını büyük ölçüde azaltırlar ve görünüşe göre birçok karlı işlem gerçek hayatta "azaltma" kapsamına girer...

Ancak yine de bu, testin sonuçları ile gerçek şey arasındaki farkı açıklamıyor.

//------------------------------------------------ --------------------

Ve şimdi, öyle görünüyor ki, Uzman Danışmanım "aklını başına aldı" ve hatta lider oldu...

http://acompetition.love-craft.ru/?q=ru

 
TheXpert писал(а) >>
Evet. Dondurma seviyesi de var, belki de sorun onda.

Eğer doğru anladıysam, bu kavram aynı anda açık olan pozisyonların sayısı ile ilgili bir limit ve parti büyüklüğü için bir limit içermektedir.

Bu faktörün var olduğunu düşünmüyorum.

Uzmanın algoritmasına göre, bir çift için piyasada aynı anda birden fazla pozisyon olamaz.

Ve parti hala sabit. (0,1)

 
leonid553 >> :

Eğer doğru anladıysam, bu kavram aynı anda açık olan pozisyonların sayısı ile ilgili bir limit ve parti büyüklüğü için bir limit içermektedir.

Hayır - bu, gecikmelerin yanı sıra alma ve geyiklerin değiştirilmesinin imkansız olduğu seviyedir.

 
Açıklama için teşekkürler. Bu konuyu DC web sitesinde açıklayacağım.
Neden: