Kodlama yardımı - sayfa 631

 
mladen :

Bu, sidus göstergesinin yeniden boyama versiyonudur.

Yeniden boyamayan sürüm buradan indirilebilir: https://www.mql5.com/en/forum/180648/page293

teşekkürler
 

@mladen,

Bu göstergeyi düzeltebilir misiniz lütfen ...

her seferinde grafiği yenilemeliyim ... teşekkür ederim

 //+------------------------------------------------------------------+
//|                                                 pendingorder.mq4 |
//|                                                            Extra |
//|                                           pendingorder@gmail.com |
//+------------------------------------------------------------------+
#property copyright "pendingorder"
#property link        "pendingorder@gmail.com"

#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 DarkTurquoise
#property indicator_color2 DarkTurquoise
#property indicator_color3 Crimson
#property indicator_color4 DarkTurquoise
#property indicator_color5 Red
#include <WinUser32.mqh>

extern int   History     =     1000 ;
extern int   Previous    =         0 ;
extern int   Bwidth      =         1 ;
extern int   Delay       =         1 ;
extern int   Equal       =         1 ;
bool Opti        =     true ;
extern int   Atr         =       1 ; 

//--- buffers
double Buffer3[],Buffer4[],Buffer2[],Buffer1[],Buffer5[];
double win,win1= 0 ,ck= 0 ,cel= 0 ,stp= 0 ,ol,ol1,ok,ok1,ok2;
int cc= 0 ,oeq,eq1,drw= 1 ;
string wc,wii,wii1,wii2;
color col;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
  hWindow = WindowHandle ( Symbol (), Period () );
  oldBars = iBars ( NULL ,RefreshPeriod);
//---- indicators
   SetIndexStyle ( 0 , DRAW_ARROW , STYLE_SOLID , 0 );
   SetIndexArrow ( 0 , 234 );
   SetIndexBuffer ( 0 ,Buffer1);
   
   SetIndexStyle ( 1 , DRAW_ARROW , STYLE_SOLID , 0 );
   SetIndexArrow ( 1 , 233 );
   SetIndexBuffer ( 1 ,Buffer2);
   
   
   SetIndexBuffer ( 2 ,Buffer3);
   SetIndexStyle ( 2 , DRAW_NONE , STYLE_SOLID , 0 );
   SetIndexArrow ( 2 , 249 );
   SetIndexBuffer ( 3 ,Buffer4);
   SetIndexStyle ( 3 , DRAW_NONE , STYLE_SOLID , 0 );
   SetIndexArrow ( 3 , 249 );
   SetIndexStyle ( 4 , DRAW_NONE , STYLE_SOLID , 2 );
   SetIndexArrow ( 4 , 253 );
   SetIndexBuffer ( 4 ,Buffer5);
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   ObjectsDeleteAll ( 0 , OBJ_TEXT ); 
   ObjectsDeleteAll ( 0 , OBJ_ARROW );
   ObjectsDeleteAll ( 0 , OBJ_LABEL );
    
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
 
   //logo();
   if (Opti== true ){
  drw= 0 ;
  eq1= 1 ;
 while (eq1<= 13 )
 {
  opti();
  eq1++;}} 
  eq1=Equal;
  drw= 1 ;
  opti();
   return ( 0 );}
 
 int opti(){
 int Counted_bars= IndicatorCounted ();
   int i,k,s= 10 ;
   double x,x1,y,y1,z,z1,s1,s2,h1,h2,j1,j2,j3,j4,v,a,a1,b,b1,Now1;
   datetime tim1;
   i= Bars -Counted_bars- 1 ;   
   if (i>History- 1 ) 
  i=History- 1 ;
 while (i>= 0 ) 
 { 
   k=i+Previous;                                 
   x= Open [i];    
   
   x1= Open [i+ 1 ];   
   while (k>= 0 )
   {
   y= Open [k+ 1 ];   
   y1= Open [k];    
   if (x>=(y-Bwidth* Point ) && x<y)z++;             
   if (x1<=y1+Bwidth* Point && x1>y1)z1++;
   k--;} //-----------------------------------------------------------------
   double atr= iATR ( NULL , 0 ,Atr,i);                
   if (z>eq1)s1= High [i]+atr;                   
   if (z1>eq1)s2= Low [i]-atr;                  
   if (s1==h1)j1++; else j1= 0 ;                
   if (s2==h2)j2++; else j2= 0 ;                  
   if (j1>Delay)Buffer3[i]=s1; else j3= 0 ;       
   if (j2>Delay)Buffer4[i]=s2; else   j4= 0 ;       
   //----------------------------------------------------------------------------------
   string text = DoubleToStr (s1, 4 ), text1 = DoubleToStr (s2, 4 ),TP,SL,TP1,SL1,Now;
   TP= "TP " + DoubleToStr (b, 3 );
   TP1= "TP " + DoubleToStr (a, 3 );
   SL= DoubleToStr (a1, 3 );
   SL1= DoubleToStr (a, 3 );
   //------------------------------------------------------------------------
   tim1 = iTime ( NULL , 0 ,i);
   Now= DoubleToStr ( iMA ( NULL , 0 ,Bwidth, 0 , MODE_SMA , PRICE_MEDIAN ,i), 4 ); //
   //----------------------------------------------------------------------------------------------------------
   v= MathAbs (s1-s2);                                 
   a= Low [i]-v* Point ;                       
   a1= Low [i]+v;                                      
   b= High [i]+v* Point ;                     
   b1= High [i]-v;     
   
                                   
   //-------------------------------------------------------------
   if ( Low [i+ 1 ]>s1 && Low [i+ 2 ]>s1 && j3== 0 && s1 > Open [i+ 3 ]&&atr< Volume [i])
   //------------------------------------------------------------------------------------------------
   {Now1=(a+b)/ 2 ;win++;
   if (drw== 1 ){
   Buffer1[i]=b;
   Buffer5[i]=b1;
   //ObjectCreate(Now,OBJ_ARROW,0,tim1,High[i] + 20 * Point,0,0);
   //ObjectSet(Now,OBJPROP_ARROWCODE,234);
   //ObjectSet(Now,OBJPROP_COLOR,White);
   ObjectCreate (text, OBJ_ARROW , 0 ,tim1, High [i] + 50 * Point , 0 , 0 );
   ObjectSet (text, OBJPROP_ARROWCODE , 5 );
   ObjectSet (text, OBJPROP_COLOR ,Crimson);
   ObjectCreate (SL1, OBJ_ARROW , 0 ,tim1, High [i] + 50 * Point , 0 , 0 , 0 , 0 );
   ObjectSet (SL1, OBJPROP_ARROWCODE , 5 );
   ObjectSet (SL1, OBJPROP_COLOR ,DarkTurquoise);
   }
   j3= 1 ;cel=b;cc= 1 ;stp=b1;
   }
   
   
   //------------------------------------------------------------------------------
   if (j2> 2 ){ if ( High [i+ 1 ]<s2 && High [i+ 2 ]<s2 && j4== 0 && s2< Open [i+ 3 ]&&atr< Volume [i])
   //--------------------------------------------------------------------------------------------------------
   {j4= 1 ;win++;Now1=(a+b)/ 2 ;
   if (drw== 1 ){
   Buffer2[i]=a;Buffer5[i]=a1;
   //ObjectCreate(Now,OBJ_ARROW,0,tim1,Low[i] - 20 * Point,0,0);
   //ObjectSet(Now,OBJPROP_ARROWCODE,233);
   //ObjectSet(Now,OBJPROP_COLOR,White);
   ObjectCreate (text1, OBJ_ARROW , 0 ,tim1, Low [i] - 50 * Point , 0 , 0 );
   ObjectSet (text1, OBJPROP_ARROWCODE , 5 );
   ObjectSet (text1, OBJPROP_COLOR ,Crimson);
   ObjectCreate (SL, OBJ_ARROW , 0 ,tim1, Low [i] - 50 * Point , 0 , 0 );
   ObjectSet (SL, OBJPROP_ARROWCODE , 5 );
   ObjectSet (SL, OBJPROP_COLOR ,DarkTurquoise);
   }
   cel=a;cc= 1 ;stp=a1;}}
   z= 0 ;z1= 0 ;h1=s1;h2=s2; 
   
   if ( High [i]>cel&& Low [i]<cel&&cc== 1 ){win1++;cc= 0 ;ok1=ok1+( MathAbs (cel-Now1)/ Point );}
   i--;}                            
   return ( 0 );}
   

return ( 0 );}    
 
mladen :

morenokosta

Bu gösterge bizi olduğu gibi tamam

Herhangi bir kod değişikliği yapmanıza gerek yok

Merhaba Mladen. Bu göstergeye parabolic_ziggy kübik regresyon ve aşağıdaki derecelerde regresyon ekleyebilirsiniz, örneğin, gösterge I-regr?
Ve bu göstergede de aynı derecede gerileme ekleyebilir misiniz?
 
Garry119 :
Merhaba Mladen. Bu göstergeye parabolic_ziggy kübik regresyon ve aşağıdaki derecelerde regresyon ekleyebilirsiniz, örneğin, gösterge I-regr?
Ve bu göstergede de aynı derecede gerileme ekleyebilir misiniz?

Garry


_RegressionDegree parametresini kullanmayı denediniz mi?

 

Sevgili mladen.

Ortalamalar_ribbon 2_3 göstergenizdeki ortalamalardan herhangi birine kayma eklemenin mümkün olup olmadığını merak ediyorum. Ortalamalar arasındaki "bulut"u resmedebilseydiniz de çılgınca görünürdü.

O kadar önemli bulmasam bile normal ok/uyarı kodu da olabilir.

teşekkürler

[img]https://i.gyazo.com/2f6531b03b3780114167e08a23873961.png[/img]

 

merhaba :)

Küçük bir isteğim var - birisi, kaç çubuk arka deseninin gösterileceğini (100, 500, vb.) ayarlamak için bir seçenek ekleyebilir mi? çünkü RangeBar grafiğinde bu gösterge çok fazla sinyal gösteriyor ve platformumu yavaşlatıyor...

çok teşekkürler :)

Dosyalar:
Patterns.mq4  17 kb
 
freakout :

merhaba :)

Küçük bir isteğim var - birisi, kaç çubuk arka deseninin gösterileceğini (100, 500, vb.) ayarlamak için bir seçenek ekleyebilir mi? çünkü RangeBar grafiğinde bu gösterge çok fazla sinyal gösteriyor ve platformumu yavaşlatıyor...

çok teşekkürler :)

çılgın

Şimdi deneyin:

Dosyalar:
 

Merhaba Mladen, lütfen aşağıdaki görüntünün filtresine yardım edin.


 
kewu :

Merhaba Mladen, lütfen aşağıdaki görüntünün filtresine yardım edin.


Üzgünüm ama bu resimden her şey olabilir. Tam olarak ne olduğunu ve ne yaptığını bilmenin bir yolu yok
 
NWFstudent :

Sevgili mladen.

Ortalamalar_ribbon 2_3 göstergenizdeki ortalamalardan herhangi birine kayma eklemenin mümkün olup olmadığını merak ediyorum. Ortalamalar arasındaki "bulut"u resmedebilseydiniz de çılgınca görünürdü.

O kadar önemli bulmasam bile normal ok/uyarı kodu da olabilir.

teşekkürler

[img]https://i.gyazo.com/2f6531b03b3780114167e08a23873961.png[/img]

NWFöğrenci

Sorun şu ki, metatrader 4 kullanırken metatrader 5'teki gibi doldurulmuş alanları kullanamayız.

Yarın metatrader 5 sürümünü yayınlayacak ve metatader 4'te neleri kaçırdığımızı göreceksiniz