[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 19

 
Ereke :
Tebrikler!

Sadece tebrik edilmen gerekiyor. Her ne kadar havada çekim yapmak kimseyi rahatsız etmiyor.
 
Vinin :

Sadece tebrik edilmen gerekiyor. Her ne kadar havada çekim yapmak kimseyi rahatsız etmiyor.
Viktor, skype'ın mı karışıyor yoksa bağlantı mı kopuyor? ZZ'nin nesi var?
 
2011.01.24 17:18:44 TestGenerator: eşleşmeyen veri hatası (2011.01.19 10:00'da 971 ses sınırı aşıldı)
Bu hatanın ne olduğunu söyleyebilir misiniz? Test sırasında kütükte mil gider, ancak siparişler açılır.
 
artmedia70 :
Viktor, skype'ın mı karışıyor yoksa bağlantı mı kopuyor? ZZ'nin nesi var?

Evet, ZZ'nin özel bir tane yapabileceğini söylüyorum. Ve Skype benim ölmem değil. bende seni yeşil
 
r.ig.h :
2011.01.24 17:18:44 TestGenerator: eşleşmeyen veri hatası (2011.01.19 10:00'da 971 ses sınırı aşıldı)
Bu hatanın ne olduğunu söyleyebilir misiniz? Test sırasında kütükte mil gider, ancak siparişler açılır.

Tarihte tarih veya hata yok
 
Piyasadaki mevcut fiyattan hemen bir anlaşma açmak anlamına gelen komut dosyasının ayarlanmasına yardımcı olun. Ve o zaman bile, zaten yıprandım.5 piplik piyasadan uzaklık bana uymuyor ve bu yüzden en azından takasta bir sapma ile.
Dosyalar:
 

İyi akşamlar !

bir şeye anlam veremiyorum

vardiya - Gösterge arabelleğinden alınan değerin dizini (geçerli çubuğa göre belirtilen dönem sayısı kadar önce kayma).

Fraktallar göstergesinde . Doğru düşünürsem, gösterge, önceki iki ve sonraki iki çubuğun (yukarı fraktal durumunda) yüksek değerlerinin daha küçük olması koşuluyla (fraktal kuşun da görüntülenmesine rağmen) beş çubuk arasındaki ekstremumun değerini gösterir. Bu beşten en soldaki çubuğun maksimumu = ekstremum ...... ve bundan daha az olmadığında çizelge). Öyleyse neden değişelim? O zaman = 3 değil de = 2 veya 5 olarak ayarlanırsa ne yayınlanacak?

 

MA molasından sonra ilk fraktalı kırdıktan sonra piyasaya girmek için aşağıdaki kodu derledim. Ancak test için kontrol ederken, duruma göre olması gerektiği gibi görünse de, her yerde fırsatlar açmıyor. Ne olduğunu anlayamıyorum? Gerçek modda (M1'i kontrol ederken bir hata bulamıyorum).

 extern int Period_MA = 5 ,                 // Период расчётной МА
            PERIOD= 1 ,                       // Период текущего графика (таймфрейм)
            MODE= 3 ,                         // Метод усреднения из методов скользящего среднего
            PRICE_TYPE= 0 ,                   // Используемая цена из ценовых констант
            Прибыль= 10 ,
            Ограничение= 55 ;

 double 
        upfractal,
        dwfractal,
        SL[ 10001 ]={ 0 ,, 10000 },
        TP[ 10001 ]={ 0 ,, 10000 };
        
 bool    Двверх=false,
        Дввниз=false,
        Сделкавверх=false,
        Сделкавниз=false;
        
   int    A,                             // Переменная массива вверх
        B,                             // Переменная массива вниз
        BarTime,                       // Время текущего бара
        ticketup,                       // Ордер вверх
        ticketdown,                     // Ордер вниз
        Tвверх,                         // Время сделки вверх
        Tвниз;                         // Время сделки вниз;
        
 color вверх = SpringGreen ,           // Цвет сделки вверх
       вниз = Red ;                     // Цвет сделки вниз       
        
int start()
  {
  
   string Symb= Symbol ();         // Финанс. инструмент
  
   double   Lot= 0.01 ;               // Лот
  
     if (BarTime!=Time[ 0 ])           // Условие для того, чтобы программа считала только на начале бара, а не на каждом тике
      {
         double MA_1 = iMA ( Symbol (),PERIOD,Period_MA, 0 ,MODE, PRICE_TYPE, 1 );
         double MA_2 = iMA ( Symbol (),PERIOD,Period_MA, 0 ,MODE, PRICE_TYPE, 2 );
         double MA_3 = iMA ( Symbol (),PERIOD,Period_MA, 0 ,MODE, PRICE_TYPE, 3 );
         double MA_4 = iMA ( Symbol (),PERIOD,Period_MA, 0 ,MODE, PRICE_TYPE, 4 );
         double MA_5 = iMA ( Symbol (),PERIOD,Period_MA, 0 ,MODE, PRICE_TYPE, 5 );
         double MA_6 = iMA ( Symbol (),PERIOD,Period_MA, 0 ,MODE, PRICE_TYPE, 6 );
         double MA_7 = iMA ( Symbol (),PERIOD,Period_MA, 0 ,MODE, PRICE_TYPE, 7 ); 
         double MA_8 = iMA ( Symbol (),PERIOD,Period_MA, 0 ,MODE, PRICE_TYPE, 8 ); 
               
//--------------------------------------------------------------------
         if ( NormalizeDouble (MA_8, Digits )> NormalizeDouble (MA_2, Digits )
        && NormalizeDouble (MA_7, Digits )>= NormalizeDouble (MA_2, Digits )
        && NormalizeDouble (MA_6, Digits )>= NormalizeDouble (MA_2, Digits )
        && NormalizeDouble (MA_5, Digits )>= NormalizeDouble (MA_2, Digits ) 
        && NormalizeDouble (MA_3, Digits )>= NormalizeDouble (MA_2, Digits )
        && NormalizeDouble (MA_4, Digits )>= NormalizeDouble (MA_2, Digits )
        && NormalizeDouble (MA_2, Digits )< NormalizeDouble (MA_1, Digits )) // Перелом вверх
          {
            Двверх=true;
             Alert ( "Двверх" );
            Дввниз=false;
            Сделкавниз=false;
            dwfractal= 0 ;
            upfractal= 0 ;
          }
         if (Двверх==true)
          {    
            
                upfractal= iFractals ( Symbol (), PERIOD, MODE_UPPER, 3 );
                 Alert ( "upfractal вначале = " ,upfractal);
                
              
          }
         if ( NormalizeDouble (MA_8, Digits )< NormalizeDouble (MA_2, Digits )
        && NormalizeDouble (MA_7, Digits )<= NormalizeDouble (MA_2, Digits )
        && NormalizeDouble (MA_6, Digits )<= NormalizeDouble (MA_2, Digits )
        && NormalizeDouble (MA_5, Digits )<= NormalizeDouble (MA_2, Digits )
        && NormalizeDouble (MA_3, Digits )<= NormalizeDouble (MA_2, Digits )
        && NormalizeDouble (MA_4, Digits )<= NormalizeDouble (MA_2, Digits )
        && NormalizeDouble (MA_2, Digits )> NormalizeDouble (MA_1, Digits )) // Перелом вниз
          {
            Дввниз=true;
            Двверх=false;
             Alert ( "Дввниз" );
            Сделкавверх=false;
            upfractal= 0 ;
            dwfractal= 0 ;
          }
         if (Дввниз==true)
          {    
            
                dwfractal= iFractals ( Symbol (),PERIOD, MODE_LOWER, 3 );
                 Alert ( "dwfractal вначале = " ,dwfractal);
              
          }    
          BarTime=Time[ 0 ];
      } else                                                                    // На каждый тик
        { 
           Alert ( "upfractal на тиках = " ,upfractal, ", Bid = " , Bid);
           if (Двверх==true && upfractal != 0 && Bid > NormalizeDouble (upfractal+ 1 * Point , Digits ) && Tвверх!=Time[ 0 ] && Сделкавверх==false) // Открытие ордеров при пробитии последнего (свежайшего) фрактала }
            {
               Alert ( "upfractal = " ,upfractal, ", Ask = " ,Ask);
               Tвверх=Time[ 0 ];
               while (true)                                                   // Цикл открытия орд.
                  {
                    A++;
                    SL[A]=Bid-Ограничение* Point ;
                    TP[A]=Bid+ 7 * Point +Прибыль* Point ;
                    ticketup= OrderSend (Symb, OP_BUY, Lot, Ask, 0 , SL[A], TP[A], NULL ,A, 0 ,вверх); // Ордер вверх
                         int Error= GetLastError ();
                         switch (Error)                                       // Преодолимые ошибки
                          {
                           case 6 : Alert ( "Нет связи с торговым сервером. Пробуем ещё раз.." );
                           RefreshRates();                                 // Обновим данные
                           Sleep ( 1 );                                       // Задержка в цикле до нового тика
                         continue ;                                         // На след. итерацию
                          }
                         break ;                                             // Выход из цикла
                   }
                    Сделкавверх=true; 
            }
             Alert ( "dwfractal на тиках = " ,dwfractal, ", Bid = " , Bid);
           if (Дввниз==true && dwfractal != 0 && Bid < NormalizeDouble (dwfractal- 1 * Point , Digits ) && Tвниз!=Time[ 0 ] && Сделкавниз==false) // Открытие ордеров при пробитии последнего (свежайшего) фрактала }
            {
               Alert ( "dwfractal = " ,dwfractal, ", Bid = " ,Bid);
               Tвниз=Time[ 0 ];
               while (true)                                   // Цикл открытия орд.
                  {
                    B++;
                    SL[B]=Bid+Ограничение* Point ;
                    TP[B]=Bid- 4 * Point -Прибыль* Point ;
                    ticketdown= OrderSend (Symb, OP_SELL, Lot, Bid, 0 , SL[B], TP[B], NULL ,B, 0 ,вниз); // Ордер вниз
                        Error= GetLastError ();
                         switch (Error)                             // Преодолимые ошибки
                          {
                           case 6 : Alert ( "Нет связи с торговым сервером. Пробуем ещё раз.." );
                           RefreshRates();                         // Обновим данные
                           Sleep ( 1 );                               // Задержка в цикле до нового тика
                         continue ;                                 // На след. итерацию
                          }
                         break ;                                     // Выход из цикла
                   }
                   Сделкавниз=true;
            } 
        }
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
Ve test cihazında hata ayıklanana kadar, optimizasyon için bir hata ile koymak mantıklı değil. Sorun nedir...?
 

Ayrı başlıktan taşındı

Leonid82 24.01.2011 19:51

Hey! EURUSD ile çalışan bir uzman var. Örneğin, bu EA'dan GBPUSD için Yüksek[1] nasıl elde edilir?

Yardımın için teşekkürler.

 

Leonid82, Yüksek[1] ilk mumdaki yüksek fiyattır. Bunu elde etmek için aşağıdaki betiği yapmanız yeterlidir. Ve bu fiyat danışmandan değil, terminalden alınır.

 //+------------------------------------------------------------------+
//|                 Старт работы скрипта                             |
//+------------------------------------------------------------------+
int start(){
   Alert ( "High[" ,i, "] = " ,High[i]);
         return ( 0 );
}