코딩 도움말 - 페이지 631

 
mladen :

싸이더스 인디케이터의 리페인팅 버전입니다.

다시 칠하지 않는 버전은 여기에서 다운로드할 수 있습니다. https://www.mql5.com/en/forum/180648/page293

감사해요
 

@mladen,

이 표시기를 고칠 수 있습니까? 제발 ...

매번 차트 새로고침 해야지... 감사합니다

 //+------------------------------------------------------------------+
//|                                                 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 :

모레노코스타

그 지표는 우리를 그대로 OK

코드를 변경할 필요가 없습니다.

안녕하세요, 믈라덴입니다. 이 표시기 parabolic_ziggy 3차 회귀를 추가할 수 있으며, 예를 들어 표시기 I-regr?
그리고 이 지표에도 같은 정도의 회귀를 추가할 수 있습니까?
 
Garry119 :
안녕하세요, 믈라덴입니다. 이 표시기 parabolic_ziggy 3차 회귀를 추가할 수 있으며, 예를 들어 표시기 I-regr?
그리고 이 지표에도 같은 정도의 회귀를 추가할 수 있습니까?

게리


_RegressionDegree 매개변수 를 사용해 보셨습니까?

 

친애하는 믈라덴.

Averages_ribbon 2_3 표시기의 평균 중 하나에 이동을 추가할 수 있는지 궁금합니다. 평균 사이에 "구름"을 칠할 수 있다면 미친 것처럼 보일 것입니다.

그렇게 중요하지 않더라도 일반 화살표/경고 코드 도 가능합니다.

감사해요

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

 

안녕하세요 :)

작은 요청이 있습니다. 누군가 바 백 패턴을 얼마나 많이 표시할지(100, 500 등) 설정하는 옵션을 추가해 주시겠습니까? RangeBar 차트에서 이 표시기는 많은 신호를 보여주고 플랫폼 속도를 늦추기 때문에...

매우 감사합니다 :)

파일:
Patterns.mq4  17 kb
 
freakout :

안녕하세요 :)

작은 요청이 있습니다. 누군가 바 백 패턴을 얼마나 많이 표시할지(100, 500 등) 설정하는 옵션을 추가해 주시겠습니까? RangeBar 차트에서 이 표시기는 많은 신호를 보여주고 플랫폼 속도를 늦추기 때문에...

매우 감사합니다 :)

기절

지금 사용해 보세요.

파일:
 

안녕하세요 Mladen, 아래 이미지의 필터를 도와주세요.


 
kewu :

안녕하세요 Mladen, 아래 이미지의 필터를 도와주세요.


미안하지만 그 사진에서 그것은 무엇이든 될 수 있습니다. 그것이 무엇이며 무엇을 하고 있는지 정확히 알 수 있는 방법이 없습니다.
 
NWFstudent :

친애하는 믈라덴.

Averages_ribbon 2_3 표시기의 평균 중 하나에 이동을 추가할 수 있는지 궁금합니다. 평균 사이에 "구름"을 칠할 수 있다면 미친 것처럼 보일 것입니다.

그렇게 중요하지 않더라도 일반 화살표/경고 코드도 가능합니다.

감사해요

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

NWF학생

문제는 메타 트레이더 4를 사용할 때 메타 트레이더 5와 같이 채워진 영역을 사용할 수 없다는 것입니다.

내일 메타트레이더 5 버전을 게시할 예정이며 메타트레이더 4에서 우리가 놓치고 있는 것이 무엇인지 알게 될 것입니다.