[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 68

 
Stells :

Tünaydın.

Soru nasıl test edilir veya kimin sonuçları daha güvenilirdir?

Danışmanda H1 periyodu her yerde açıkça belirtilmiştir.

Açık için m1 üzerinde test ediyorum - bariz bir tahliye.

H1'de tüm onayları test ediyorum - yukarı.

neye inanmak? Yakalama, durakların birkaç nokta küçük olmasıdır. Kâr büyük.

EA'nın yeni bir çubuğun açılması üzerinde açık bir denetimi varsa ve yalnızca yeni bir çubuk açıldığında çalışıyorsa, yeni bir çubuğun açılmasını test edebilirsiniz. Aksi takdirde - sadece keneler. Üstelik duraklar küçük ve yeni bir bar açıldığında yıkılacakları açık çünkü. Dakikada M1'de bar, durağınızı birkaç nokta ile bağlayabilir. M1'deki tüm onay işaretlerini test edin.
 
artmedia70 :
EA'nın yeni bir çubuğun açılması üzerinde açık bir denetimi varsa ve yalnızca yeni bir çubuk açıldığında çalışıyorsa, yeni bir çubuğun açılmasını test edebilirsiniz. Aksi takdirde - sadece keneler. Üstelik duraklar küçük ve yeni bir bar açıldığında yıkılacakları açık çünkü. Dakikada M1'de bar, durağınızı birkaç nokta ile bağlayabilir. M1'deki tüm onay işaretlerini test edin.

(teoride) tüm kenelerden H1'den nasıl farklı olacak?
 

Merhaba! Lütfen kodumda neyi yanlış yaptığımı anlamama yardım edin. Size hemen söyleyeyim, programlamada yeniyim. mql4 eğitimini okudum ve birçok uzman koduna baktım ama sorularıma cevap bulamadım. 5 karakterli bir terminalim, ECN ticaret hesabım, değişken spread + komisyonum var. Expert Advisor en basitidir, hızlı MA yukarıdan aşağıya yavaş MA'yı geçtiğinde ve satın almak için tam tersi olduğunda satış işlemlerini açar - hızlı MA yavaş MA'yı aşağıdan yukarıya geçer. Aslında, TS çok daha karmaşık, sadece tüm ana işlevler henüz normal çalışmıyor ve normal olarak test edemiyorum, bırakın optimize edin, kodu gereksiz hesaplamalarla karmaşıklaştırmamaya karar verdim. İşte danışman kodu.

 #define MAGICMA   20050610
extern string text1              = "===========================MoneyManagment===========================" ;
extern double Lots               = 0.1 ;
extern string text2              = "======================Simple_Close_settings=========================" ;
extern double TakeProfit         = 100 ;
extern double StopLoss           = 100 ;
extern double Bezubitok          = 30 ; //Расстояние, через которое пройдёт цена от открытия сделки в "+", чтобы перенести СтопЛос в безубыток
extern string text3              = "===================TrailingStopLoss_settings=======================" ;
extern double Trailing           = 100 ; //Расстояние, через которое будет подтягиватся СтопЛос к текущей цене
extern double Slippage           = 3 ; // Допуск проскальзования цены при открытии и закрытии сделок
extern string text4              = "===================Indicator_Trade_System_settings=================" ;
extern int     Fast_EMA_Period    = 8 ;
extern int     Slow_EMA_Period    = 21 ;




//+------------------------------------------------------------------+
//| Calculate open positions                                         |
//+------------------------------------------------------------------+
int CalculateCurrentOrders( string symbol)
  {
   int buys= 0 ,sells= 0 ;
//----
   for ( int i= 0 ;i< OrdersTotal ();i++)
     {
       if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)==false) break ;
       if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==MAGICMA)
        {
         if ( OrderType ()==OP_BUY)  buys++;
         if ( OrderType ()==OP_SELL) sells++;
        }
     }
//---- return orders volume
   if (buys> 0 ) return (buys);
   else        return (-sells);
  }

//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
int CheckForOpen()
  {
   double X1,X2,X3,X4;
   int ticket;

   
   X1= iMA ( NULL , 0 ,Fast_EMA_Period, 0 , MODE_EMA , PRICE_CLOSE , 1 );
   X2= iMA ( NULL , 0 ,Slow_EMA_Period, 0 , MODE_EMA , PRICE_CLOSE , 1 );
   X3= iMA ( NULL , 0 ,Fast_EMA_Period, 0 , MODE_EMA , PRICE_CLOSE , 2 );
   X4= iMA ( NULL , 0 ,Slow_EMA_Period, 0 , MODE_EMA , PRICE_CLOSE , 2 );
//----
if (Volume[ 0 ]> 1 ) return ;
  {   
       //ENTRY Ask(buy, long) 
       if (X3<=X4 && X1>X2)
        {
         ticket= OrderSend ( Symbol (),OP_BUY,Lots,Ask,Slippage, 0 , 0 , "," ,MAGICMA, 0 , White );
        }
       //ENTRY Bid (sell, short)
       if (X3>=X4 && X1<X2)
        {
         ticket= OrderSend ( Symbol (),OP_SELL,Lots,Bid,Slippage, 0 , 0 , "," ,MAGICMA, 0 , Red );
        }
  }
//----
  }
//+------------------------------------------------------------------+
//| Check for TrailingStop                                           |
//+------------------------------------------------------------------+
void CheckForTrailing()
 {

     if (Trailing> 0 ) for ( int i= 0 ; i<= OrdersTotal ();i++) 
     {
         OrderSelect (i,SELECT_BY_POS,MODE_TRADES);
           if ( OrderMagicNumber ()==MAGICMA && OrderSymbol ()== Symbol ()) 
           {
             if ( OrderType ()==OP_BUY && Bid- OrderOpenPrice ()>Trailing* Point && Bid- OrderStopLoss ()>Trailing* Point )
             OrderModify ( OrderTicket (), OrderOpenPrice (),Bid-Trailing* Point , OrderTakeProfit (), 0 , CLR_NONE );
             if ( OrderType ()==OP_SELL && OrderOpenPrice ()-Ask>Trailing* Point && OrderStopLoss ()-Ask>Trailing* Point )
             OrderModify ( OrderTicket (), OrderOpenPrice (),Ask+Trailing* Point , OrderTakeProfit (), 0 , CLR_NONE );
           }
        }
}
//+------------------------------------------------------------------+
//| Check for close order conditions                                 |
//+------------------------------------------------------------------+
void CheckForClose()
  {
   double X1,X2,X3,X4;
//---- go trading only for first tiks of new bar
   if (Volume[ 0 ]> 1 ) return ;
//---- get Moving Average 
   X1= iMA ( NULL , 0 ,Fast_EMA_Period, 0 , MODE_EMA , PRICE_CLOSE , 1 );
   X2= iMA ( NULL , 0 ,Slow_EMA_Period, 0 , MODE_EMA , PRICE_CLOSE , 1 );
   X3= iMA ( NULL , 0 ,Fast_EMA_Period, 0 , MODE_EMA , PRICE_CLOSE , 2 );
   X4= iMA ( NULL , 0 ,Slow_EMA_Period, 0 , MODE_EMA , PRICE_CLOSE , 2 );
//----
   for ( int i= 0 ;i< OrdersTotal ();i++)
     {
       if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)==false)         break ;
       if ( OrderMagicNumber ()!=MAGICMA || OrderSymbol ()!= Symbol ()) continue ;
       //---- check order type 
     
       if ( OrderType ()==OP_BUY)
        {
         if (Bid>=( OrderOpenPrice ()+TakeProfit* Point )||Bid<=( OrderOpenPrice ()-StopLoss* Point )) OrderClose ( OrderTicket (), OrderLots (),Bid, 3 , White );
         break ;
        }
        
       if ( OrderType ()==OP_SELL)
        {
         if (Ask<=( OrderOpenPrice ()-TakeProfit* Point )||Ask>=( OrderOpenPrice ()+StopLoss* Point )) OrderClose ( OrderTicket (), OrderLots (),Ask, 3 , White );
         break ;
        }
     }
//----
  }



//+------------------------------------------------------------------+
//| Start function                                                   |
//+------------------------------------------------------------------+
void start()
  {
   if ( Bars < 25 || IsTradeAllowed ()==false) 
     return ( 0 );
   if ( AccountFreeMargin ()<( 100 * Point *Lots))
     {
       Print ( "Стоп! Недостаточно средств для продолжения торговли. Свободная маржа = " , AccountFreeMargin ());
       return ( 0 );  
     }
      
   if (Trailing> 0 ) CheckForTrailing();  
     
      
//---- calculate open orders by current symbol
   if (CalculateCurrentOrders( Symbol ())== 0 ) CheckForOpen();
   else                                     CheckForClose();
   
 
   

   return ( 0 );
  }
//+------------------------------------------------------------------+

Biri şu sorularıma cevap verebilir mi:

1. Emir açarken, Zarar Durdur ve Kâr Al parametrelerinin olması gereken yerde OrderSend'de sıfırlar var, oraya başka numaralar koymaya çalıştığımda EA anlaşma açmıyor, manuel olarak bir anlaşma açarken kontrol ettim, SL ve TP'yi hemen ayarlamak mümkün, hangi durumda olabilir?

2. Anlayamıyorum, TP, SL ve TS 100 puan değerinde, nedense işlemler bu puanların bir katı olmasa da, spread de hesaba katılsa kapatılsa da, bu neden oluyor? Belki de siparişleri kapatma işlevi benim için çalışmıyor? Bu durumda, kaybı başlangıçta belirlenen SL ile nasıl sınırlayabilir ve böylece fiyatı sadece + yönünde takip edebilir?

3. DC'mde Stoplevel = 100 pp. var, pozisyonları manuel olarak kapatırken olduğu gibi Stoplevel'den daha düşük seviyeler ayarlayabilmem için sanal TP ve SL'yi nasıl yapabilirim? (Ecn hesaplarında piplere izin verilmez).

4. Aşağıdakileri yapmak ve mümkünse nasıl yapmak mümkün müdür: SL ve TP'de başabaşa bir transferle ters kapanış ve aynı anda kapanış yapmak (hangi olayın önce gerçekleştiğine bağlı olarak)? Yapmaya çalıştım ama test cihazında bir pozisyon açıyor ve testin sonuna kadar kapatmıyor sadece takasları topluyor.) Ya bir şey çalışıyor.

Cevap verecek herkese şimdiden teşekkürler!

Dosyalar:
 

Güzel gün ...

Sadece bir soru

Diyelim ki Daily'de bir fraktal alıyoruz ... Bu fraktalın oluşumunun bittiği fiyat nasıl bulunur, diyelim ki H1 .... Fiyatta bir ok görünmesi arzu edilir ...

 
Cmu4 :
Beyler, bir danışman aracılığıyla belirli bir sunucuya ve bağlantı noktasına nasıl bağlanılır? Bu mümkün mü?
Yani burada bu konuda uzman yok mu?
 
Cmu4 :
Beyler, bir danışman aracılığıyla belirli bir sunucuya ve bağlantı noktasına nasıl bağlanılır? Bu mümkün mü?

bağlanmak ne demek? soket derken? veya http'de okumak?
 
Merhaba Basit ve muhtemelen aptalca bir sorum var. Bir strateji testçisi yanılabilir mi?..Stratejilerinizi test etmek için hangi yöntemleriniz var?..Teşekkürler.
 

Sadece bir soru

Diyelim ki Daily'de bir fraktal alıyoruz ... Bu fraktalın oluşumunun bittiği fiyat nasıl bulunur, diyelim ki H1 .... Fiyatta bir ok görünmesi arzu edilir ...

 

Tünaydın!

Özel işlevler hakkında soru: init(), start(), deinit().

Bildiğiniz gibi, ders kitabından da dahil olmak üzere, bu özel işlevi kesmek (çıkmak) için operatörü EK OLARAK kaydetmeniz gerekir.

Döndür (örneğin, bir IF-ELSE koşullu ifadesinde).

O zaman dönüş değerleri ne anlama geliyor? Örneğin: Return(0) ve muhtemelen başka bir tamsayı (Return(1));

 

Herkese iyi günler!

Lütfen "FX5_Divergence_V2.1" göstergesini biraz düzenlememe yardım edin.

3 ekran ile çalışıyorum. Penceredeki gösterge, adı ve göstergeyi görmeyi çok zorlaştıran diğer bazı değerlerle birlikte görüntülenir. Çoğu zaman, bu sayılar nedeniyle, göstergenin tepe noktaları görünmez ve tepe noktalarının birbiriyle (ekranda sarı daire içine alınmış) karşılaştırılması zordur.

Lütfen göstergeyi düzeltmeme yardım edin, böylece başka numaralar olmadan yalnızca göstergenin adı görüntülenir)

Uygulamada gösterge ve ekran.


Yardımcı olabilecek herkese şimdiden teşekkür ederiz


Dosyalar:
Neden: