[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 235

 
FinBuda писал(а) >>

Tünaydın! Bilenlerden yardım istiyorum türkiyem günlük olarak çekmek istemiyor son çubuğa güncellenmesi için sürekli frame değiştirmek zorunda kalıyorum bu eksikliği nasıl giderebilirim ? Şimdiden teşekkürler!!!

İkinci gösterge olmadan kontrol etmek yine de mümkün olmayacaktır.

 
Vinin >> :

İkinci gösterge olmadan kontrol etmek yine de mümkün olmayacaktır.

Sor! Düzeltiyorum :)

Dosyalar:
indu2.mq4  3 kb
 
FinBuda писал(а) >>

Sor! Düzeltiyorum :)

Elbette çalışıyor, ancak frenler korkunç. Yardımcı göstergenin hesaplamalarını ana göstergeye aktarmak gerekir. Ve genel olarak hesaplamaları optimize etmek daha iyi olurdu

Dosyalar:
norms2.1.mq4  4 kb
 
Vinin >> :

Elbette çalışıyor, ancak frenler korkunç. Yardımcı göstergenin hesaplamalarını ana göstergeye aktarmak gerekir. Ve genel olarak hesaplamaları optimize etmek daha iyi olurdu

Yardımın için çok teşekkür ederim!!! Ve olaylar sırasında başka bir soru, hesaplamaları nasıl optimize edebilirsiniz ve MACD'yi belirli sınırlar içinde olacak şekilde en iyi nasıl normalleştirebilirsiniz? Sadece materyalden ve programlamadan uzağım, bu yüzden daha uygun bulmayı başardığım tek şey yukarıdaki normalleştirici :)

 
FinBuda писал(а) >>

Yardımın için çok teşekkür ederim!!! Ve olaylar sırasında başka bir soru, hesaplamaları nasıl optimize edebilirsiniz ve MACD'yi belirli sınırlar içinde olacak şekilde en iyi nasıl normalleştirebilirsiniz? Sadece materyalden ve programlamadan uzağım, bu yüzden daha uygun bulmayı başardığım tek şey yukarıdaki normalleştirici :)

Birçok optimizasyon seçeneği var. Kodlara fazla girmedim.

 
FinBuda >> :

Yardımın için çok teşekkür ederim!!! Ve olaylar sırasında başka bir soru, hesaplamaları nasıl optimize edebilirsiniz ve MACD'yi belirli sınırlar içinde olacak şekilde en iyi nasıl normalleştirebilirsiniz? Sadece materyalden ve programlamadan uzağım, bu yüzden daha uygun bulmayı başardığım tek şey yukarıdaki normalleştirici :)

Kod tabanında yayınlanan varyantı kullanıyorsunuz, bu sadece bir konsept ve hız için optimize edilmemiş. Pratik kullanım için, belirli bir sayıda periyot için ana göstergenin 3-4 tam döngüsünün gerçekleşmesi için seçip, harici değişkenlerden feature_period değişkenini manuel olarak ayarlamanızı öneririm.

 //+------------------------------------------------------------------+
//|                                                   Normalizer.mq4 |
//|                                          Copyright © 2008, al_su |
//|                                                  al_su31@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, al_su"
#property link      "al_su31@mail.ru"

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_maximum 1
#property indicator_minimum - 1
#property indicator_level1 0.25
#property indicator_level2 0.5
#property indicator_level3 0.75
#property indicator_level4 - 0.25
#property indicator_level5 - 0.5
#property indicator_level6 - 0.75
#property indicator_color1 RoyalBlue
//---- input parameters
#define PERIODS_CHARACTERISTIC 3

extern string  Indicator = "ind-2" ;
extern int     mode = 0 ;
extern int     param1 = 8 ; //Ну или 9, не важно...
extern int     param2 = 34 ;
//extern int param3;Скока надо параметров, стока и задаем
extern double  characteristic_period ; //как видите, переменную вынесли вовне

//---- buffers 
double Normalizer [ ] ;
double sigma ;

//-------------------------------------------------------------------------------
double Indyuk ( int shift )
{
   return ( iCustom ( 0 , 0 , Indicator , param1 , param2 , /*param3, и т.д.:)*/ mode , shift ) ) ;
}

double MathTanh ( double x )
{ 
   double exp ;
   if ( x > 0 )  { exp = MathExp ( - 2 * x ) ; return ( ( 1 - exp ) / ( 1 + exp ) ) ; }
   else { exp = MathExp ( 2 * x ) ; return ( ( exp - 1 ) / ( 1 + exp ) ) ; }
}

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init ( )
  {
//---- indicators
   IndicatorShortName ( "Normalized " + Indicator ) ;
   SetIndexStyle ( 0 , DRAW_LINE ) ;
   SetIndexBuffer ( 0 , Normalizer ) ;
   SetIndexDrawBegin ( 0 , characteristic_period ) ;
//----
   return ( 0 ) ;
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit ( )
  {
//----
   
//----
   return ( 0 ) ;
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start ( )
  {
   int   i , j , limit , counted_bars = IndicatorCounted ( ) ;
   double S ;
   if ( counted_bars > 0 ) counted_bars - - ;
   limit = MathMax ( Bars - counted_bars - 1 , 0 ) ;
//----
   for ( i = limit ; i > = 0 ; i - - )
   {
      S = 0 ;
      for ( j = 0 ; j < characteristic_period ; j + + ) S + = MathPow ( Indyuk ( i + j ) , 2 ) ;
      S / = characteristic_period ;
      S = MathSqrt ( S ) ;
      if ( S > 0 ) Normalizer [ i ] = Indyuk ( i ) / S ;
      Normalizer [ i ] = MathTanh ( Normalizer [ i ] ) ;
   } 
//----
   return ( 0 ) ;
  }
//+------------------------------------------------------------------+
 
alsu >> :

Kişisel olarak daha sık kullandığım başka bir seçenek de, koşu için gün sayısını dışarıdan ayarlamak ve bunları zaten göstergenin gövdesinde bulunan feature_period içinde yeniden hesaplamaktır.

 . . .

extern double days_for_normalization = 3 ;   // например, смотрим за три дня

. . .

int init ( )
{

. . .


characteristic_period = 1440 . / Period ( ) * days_for_normalization ;   // 1440 - это количество минут в сутках
}
 
Genel olarak konuşursak, Vinin haklı, ikinci göstergenin kodu birinciye eklenirse hesaplama gerçekten daha hızlı olur. Buradaki rahatsızlık, daha fazla kodlamanız gerektiğidir (ve kod tabanından aldığınız şey, bu işi nasıl basitleştirebileceğinizi gösteren hedeflerden sadece biriydi), ayrıca ikinci hindi, birincinin tamponlarını işgal eder, ki bu her zaman kabul edilebilir değildir. .
 
Yardımlarınız için hepinize teşekkür ederim!!! Deneyeceğiz :)
 

İşe yaramıyor bile.. burada okuyorsunuz herkesin böyle danışmanları var ama bende sadece MM var, sadece +'da bekleyen küçük bir matım olurdu .... eh ...


Ve uzun bir süre optimizasyon olmadan, -0.12 mat beklentisi normal bir durum mu? Yani herkes optimizasyon yapmadan yapıyor ve sonra sadece ayarlayarak beklenti yükseliyor mu yoksa bu bir seçenek değil ve danışmanı komple değiştirmek mi gerekiyor?