Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 98

 
Roger :

Bu EA'nın gerçek hayatta veya test cihazında çalışamayacağına inanmıyorum.


Niye ya? Bir hata mı var? Açıklamak.

Bu, yatay çizgileri siparişlere dönüştürmekten sorumlu kodun sadece bir parçasıdır.

 
Lütfen yardım edin. Danışman, 20-30 bardan sıfıra kadar bir mesafede nasıl optimize edilir. Grafiğin en sonunda....
 

Göstergeyi anlamama yardım et, çalışma sırasında sinyallerin neden gerçek zamanlı olarak görüntülenmediğini anlayamıyorum, ancak yalnızca TF'yi değiştirirseniz, görselleştirme için test cihazında her şey beklendiği gibi çizilir.

güncellemeden önce http://charts.mql5.com/2/379/eurusd-m-m1-roboforex.png

http://charts.mql5.com/2/379/eurusd-m-m1-roboforex-2.png'den sonra

 //+------------------------------------------------------------------+
//|                                                           t27_zz |
//|                                                          tommy27 |
//|                                        SKYPE:       t.o.m.m.y.27 |
//|                                        MAIL: tommy27fx@gmail.com |
//+------------------------------------------------------------------+
#property copyright "tommy27"
#property link       "tommy27fx@gmail.com"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DodgerBlue
#property indicator_color2 FireBrick

extern int DeepBars = 5000 ;
double buf_1[];
double buf_2[];
//+------------------------------------------------------------------+
//| Функция инициализации, запускается один раз                      |
//+------------------------------------------------------------------+
int init() 
  {
   SetIndexBuffer ( 0 ,buf_1);
   SetIndexBuffer ( 1 ,buf_2);

   SetIndexStyle ( 0 , DRAW_ARROW , STYLE_SOLID , 2 );
   SetIndexStyle ( 1 , DRAW_ARROW , STYLE_SOLID , 2 );
   SetIndexArrow ( 0 , 108 );
   SetIndexArrow ( 1 , 108 );

   SetIndexEmptyValue( 0 , 0.0 );
   SetIndexEmptyValue( 1 , 0.0 );
   IndicatorShortName( "t27_zz" );
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Основная Функция, запускается на каждом тике                     |
//+------------------------------------------------------------------+
int start() 
  {
   if ( Bars <= 100 ) return ( 0 );
   int ExtCountedBars = IndicatorCounted();
   if (ExtCountedBars < 0 ) return (- 1 );
   if (ExtCountedBars > 0 ) ExtCountedBars--;
   for ( int i=DeepBars-ExtCountedBars- 1 ; i>= 0 ; i--)
     { 
       if (Bar1(i)== 1 )   buf_1[i+ 1 ] = Low[i+ 1 ]- 5 * Point ; //UP
       if (Bar1(i)== 2 )   buf_2[i+ 1 ] = High[i+ 1 ]+ 5 * Point ; //DOWN
     }
   return ( 0 );
  }
//---- end
//------------------------------------------------------------------------
int Bar1( int i)
{
 if (Low[i+ 1 ] <= Low[i+ 2 ] && Low[i+ 1 ] <= Low[i]) //UP
   return ( 1 );
 if (High[i+ 1 ] >= High[i+ 2 ] && High[i+ 1 ] >= High[i]) //DOWN
   return ( 2 );
 return ( 0 );
} 
 
tommy27 :

Göstergeyi anlamama yardım et, çalışma sırasında sinyallerin neden gerçek zamanlı olarak görüntülenmediğini anlayamıyorum, ancak yalnızca TF'yi değiştirirseniz, görselleştirme için test cihazında her şey beklendiği gibi çizilir.



DeepBars değişkeni ile ilgilenin.

 
splxgf :


DeerBars değişkeniyle ilgilenin.


İşte büyük bir teşekkür! DeerBars'ı kaldırdım ve her şey çalıştı, görüntülenen derinliği nasıl doğru ayarlayacağımı söyler misiniz, o zaman DeerBars'ı şimdi nasıl değiştirebilirim ?
 

Neden değiştirelim?

 if (ExtCountedBars > 0 ) ExtCountedBars--;
int recalc= Bars -ExtCountedBars; //добавить
for ( int i=recalc; i>= 0 ; i--) //поправить
 
splxgf:

Neden değiştirelim?


Evet, şöyle düzelttim:

 if (ExtCountedBars > 0 ) ExtCountedBars--;
   for ( int i= Bars -ExtCountedBars- 1 ; i>= 0 ; i--)

ve DeepBars, tüm geçmiş gösterilmeyecek, ancak en son DeepBar'larda görüntülenecek şekilde çubuk sayısını ayarlamak istedim - bir nedenden dolayı bu yapılamaz.

 

ve DeepBars, tüm geçmiş gösterilmeyecek, ancak en son DeepBar'larda görüntülenecek şekilde çubuk sayısını ayarlamak istedim - bir nedenden dolayı bu yapılamaz.


 if (ExtCountedBars > 0 ) ExtCountedBars--;
int recalc= Bars -ExtCountedBars;
if (recalc>DeepBars) recalc=DeepBars;
 
Yardımlarınız için çok teşekkür ederim, bana çok yardımcı oldunuz.
 
Dozol :


Niye ya? Bir hata mı var? Açıklamak.

Bu, yatay çizgileri siparişlere dönüştürmekten sorumlu kodun sadece bir parçasıdır.

Kodunuza göre, satır ilk onay işaretinden sonra silinecektir, yani. fiyat takip fonksiyonu yoktur ve bir komut dosyası gibi çalışır - manuel olarak yatay bir çizgi çizin, sipariş açılır veya açılmaz, ancak satır hemen yok edilir. Bu kodu kullanan Sellstop siparişleri asla açılmayacaktır.
Neden: