지표를 무료로 작성해 드립니다 - 페이지 106

 
Iurii Tokman :

제발.

제대로 작동합니까? 나는 확인하지 않았다

신호는 모두 명확해 지지만 여기에 또 다른 문제가 있습니다. 정확히 어떤 쌍이 표시되지 않고 어느 방향으로 위 또는 아래로 신호를 보낼 때 비용이 발생합니다(clock-alarm3.wav).

고칠 수 있니?

노고에 다시 한번 감사드립니다

 
Andrej2478 :

신호는 모두 명확해 지지만 여기에 또 다른 문제가 있습니다. 정확히 어떤 쌍이 표시되지 않고 어느 방향으로 위 또는 아래로 신호를 줄 때 비용만 발생합니다(clock-alarm3.wav)

고칠 수 있니?

이러한 조건에 대해 다시 작성해야 합니다.

 
안녕하세요! 친애하는 프로그래머 여러분, 특정 조건에서 신호를 보내고 화살표를 표시하는 표시기를 작성하십시오. 구매 조건: AO 표시기는 플러스, 프랙탈 위로, AC 표시기는 빨간색으로 모든 조건이 충족되는 즉시 화살표와 신호가 나타납니다. 7개의 막대에 대한 프랙탈 표시기 . 판매를 위해 모든 것이 미러링됩니다. 미리 감사드립니다!!!
 
친애하는 각하, 동료 프로그래머, 도와주세요! 스크린샷 1과 같이 현재 범위가 형성을 넘어 히스토리로 넘어가지 않도록 ORB 범위 표시기의 도면을 수정하십시오.

그리고 스크린샷 2와 같이 선이 아닌 세그먼트로 그렸습니다.

그리고 MA를 넘을 때 포물선 표시 Ma_Parabolic_Alert _2의 색이 변하고 화살표가 동시에 나타나면 좋을 것입니다.

나는 매우 감사 할 것입니다!
 
좋은 오후입니다. MT5용 FX Aliev 표시기를 다시 만드십시오.
 
sergionnik :
좋은 오후입니다. MT5용 FX Aliev 표시기를 다시 만드십시오.

어디서 얻을 수 있습니까? 검색에서 찾지 못한

- 무언가를 리메이크하려면 - 리메이크할 무언가가 있어야 합니다.

-------------------------------------------------- ------------------------

이 사람이야? https://www.mql5.com/en/forum/219756#comment_6057329

Продолжаю тему простейших индикаторов
Продолжаю тему простейших индикаторов
  • 2017.11.14
  • www.mql5.com
Продолжаю тему простейших индикаторов , встречал ли кто нибудь на просторах интернета индикатор нумерации свечей к примеру 1-2-3 направленных в одн...
 
sergionnik :
좋은 오후입니다. MT5용 FX Aliev 표시기를 다시 만드십시오.

당신의 모습은 이렇습니다???

AUUSDH1

파일:
 
SanAlex :

당신의 모습은 이렇습니다???


네, 바로 그 모습입니다.
 
sergionnik :
네, 바로 그 모습입니다.

나는 독학했습니다 - 시도했습니다. 그러나 이러한 문제에 대한 지식이 거의 없습니다.

- 여기까지 왔어요.

스냅 사진

 //+------------------------------------------------------------------+
//|                                                 Fine volumes.mq5 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_buffers 6
//--- plot Label1
#property indicator_label1    "Label1"
#property indicator_type1    DRAW_HISTOGRAM
#property indicator_color1    clrSkyBlue
#property indicator_style1    STYLE_SOLID
#property indicator_width1    2
//--- plot Label2
#property indicator_label1    "Label2"
#property indicator_type1    DRAW_HISTOGRAM
#property indicator_color1    clrMaroon
#property indicator_style1    STYLE_SOLID
#property indicator_width1    2
//--- plot Label3
#property indicator_label1    "Label3"
#property indicator_type1    DRAW_HISTOGRAM
#property indicator_color1    clrYellow
#property indicator_style1    STYLE_SOLID
#property indicator_width1    2
//--- plot Label4
#property indicator_label1    "Label4"
#property indicator_type1    DRAW_HISTOGRAM
#property indicator_color1    clrBlue
#property indicator_style1    STYLE_SOLID
#property indicator_width1    4
//--- plot Label5
#property indicator_label1    "Label5"
#property indicator_type1    DRAW_HISTOGRAM
#property indicator_color1    clrRed
#property indicator_style1    STYLE_SOLID
#property indicator_width1    4

input int     BarsToCount = 400 ;
input string pus1 = "" ;
input string p_s = "Points settings" ;
input bool    use_points = true ;
input int     distance_point = 80 ;
input color   color_point_u = Lime;
input color   color_point_d = Red;
input color   color_point_s = Yellow;
input int     size_point = 6 ;
input string pus2 = "" ;
input string s_w = "Way" ;
input bool    use_show_same_way = true ;
input bool    use_show_daily_way = true ;
input string pus3 = "" ;
input string al = "Alerts" ;
input bool    use_alerts = false ;
input string up_alert = "Up" ;
input string down_alert = "Down" ;

double up[];
double down[];
double mid[];
double up2[];
double down2[];
double none[];

static int prevtime = 0 ;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,up, INDICATOR_DATA );
//--- set as an empty value 0
   PlotIndexSetDouble ( 0 , PLOT_EMPTY_VALUE , 0.0 );
//--- indicator buffers mapping
   SetIndexBuffer ( 1 ,down, INDICATOR_DATA );
//--- set as an empty value 0
   PlotIndexSetDouble ( 1 , PLOT_EMPTY_VALUE , 0.0 );
//--- indicator buffers mapping
   SetIndexBuffer ( 2 ,mid, INDICATOR_DATA );
//--- set as an empty value 0
   PlotIndexSetDouble ( 2 , PLOT_EMPTY_VALUE , 0.0 );
//--- indicator buffers mapping
   SetIndexBuffer ( 3 ,up2, INDICATOR_DATA );
//--- set as an empty value 0
   PlotIndexSetDouble ( 3 , PLOT_EMPTY_VALUE , 0.0 );
//--- indicator buffers mapping
   SetIndexBuffer ( 4 ,down2, INDICATOR_DATA );
//--- set as an empty value 0
   PlotIndexSetDouble ( 4 , PLOT_EMPTY_VALUE , 0.0 );
//--- indicator buffers mapping
   SetIndexBuffer ( 5 ,none, INDICATOR_DATA );
//--- set as an empty value 0
   PlotIndexSetDouble ( 5 , PLOT_EMPTY_VALUE , 0.0 );
//---
   IndicatorSetInteger ( INDICATOR_DIGITS , _Digits + 1 );
   string short_name= "Fine volumes" ;
//---
   IndicatorSetString ( INDICATOR_SHORTNAME ,short_name);
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Indicator deinitialization function                              |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
   string name_de;
   for ( int c=BarsToCount; c>= 0 ; c--)
     {
      name_de= "Vol_" + DoubleToString (c, 0 );
       if ( ObjectFind ( 0 ,name_de)!=- 1 )
         ObjectDelete ( 0 ,name_de);
     }
//--- removes all objects of the specified type using prefix in object names
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---
   ArraySetAsSeries (open, true );
   ArraySetAsSeries (high, true );
   ArraySetAsSeries (low, true );
   ArraySetAsSeries (close, true );
//---
   up[ 0 ]= EMPTY_VALUE ;
   down[ 0 ]= EMPTY_VALUE ;
   mid[ 0 ]= EMPTY_VALUE ;
   if (close[ 0 ]>open[ 0 ])
      up[ 0 ]=volume[ 0 ];
   if (close[ 0 ]<open[ 0 ])
      down[ 0 ]=volume[ 0 ];
   if (close[ 0 ]==open[ 0 ])
      mid[ 0 ]=volume[ 0 ];
   if (use_points)
      Ob_cre( 0 ,time,open,close);
   if (!use_points)
      Ob_del( 0 );
   if (use_show_daily_way)
      Ob_cre2();
   if (!use_show_daily_way)
      Ob_del2();
   if (time[ 0 ] == prevtime)
       return ( 0 );
   prevtime = time[ 0 ];
   for ( int c=BarsToCount; c>= 1 ; c--)
     {
       if (use_points)
         Ob_cre(c,time,open,close);
       if (!use_points)
         Ob_del(c);
      up[c]= EMPTY_VALUE ;
      down[c]= EMPTY_VALUE ;
      mid[c]= EMPTY_VALUE ;
      up2[c]= EMPTY_VALUE ;
      down2[c]= EMPTY_VALUE ;
       if (close[c]>open[c])
         up[c]=volume[c];
       if (close[c]<open[c])
         down[c]=volume[c];
       if (close[c]==open[c])
         mid[c]=volume[c];
      none[c]=volume[c]+volume[c]/ 6 ;
       if (use_show_same_way)
        {
         if (close[c]>open[c] && close[c+ 1 ]>open[c+ 1 ])
           {
            up2[c]=volume[c];
            up2[c+ 1 ]=volume[c+ 1 ];
            up[c]= EMPTY_VALUE ;
            up[c+ 1 ]= EMPTY_VALUE ;
           }
         if (close[c]<open[c] && close[c+ 1 ]<open[c+ 1 ])
           {
            down2[c]=volume[c];
            down2[c+ 1 ]=volume[c+ 1 ];
            down[c]= EMPTY_VALUE ;
            down[c+ 1 ]= EMPTY_VALUE ;
           }
        }
       if (use_alerts)
        {
         if (up2[ 1 ]!= EMPTY_VALUE && up2[ 4 ]== EMPTY_VALUE )
             Alert (up_alert);
         if (down2[ 1 ]!= EMPTY_VALUE && down2[ 4 ]== EMPTY_VALUE )
             Alert (down_alert);
        }
     }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Ob_cre( int num_of_bar,
             const datetime &time[],
             const double &open[],
             const double &close[])
  {
   string name= "Vol_" + DoubleToString (num_of_bar, 0 );
   color col_po;
   if (close[num_of_bar]>open[num_of_bar])
      col_po=color_point_u;
   if (close[num_of_bar]<open[num_of_bar])
      col_po=color_point_d;
   if (close[num_of_bar]==open[num_of_bar])
      col_po=color_point_s;
   if ( ObjectFind ( 0 ,name)==- 1 )
     {
       ObjectCreate ( 0 ,name, OBJ_TEXT , 0 , 0 , 0 );
     }
   ObjectSetInteger ( 0 ,name, OBJPROP_TIME ,time[num_of_bar]);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Ob_cre2()
  {
   if ( ObjectFind ( 0 , "D_w" )==- 1 )
     {
       ObjectCreate ( 0 , "D_w" , OBJ_LABEL , 0 , 0 , 0 );
       ObjectSetInteger ( 0 , "D_w" , OBJPROP_CORNER , 1 );
       ObjectSetInteger ( 0 , "D_w" , OBJPROP_XDISTANCE , 20 );
       ObjectSetInteger ( 0 , "D_w" , OBJPROP_YDISTANCE , 20 );
     }
   if ( ObjectFind ( 0 , "D_w_v" )==- 1 )
     {
       ObjectCreate ( 0 , "D_w_v" , OBJ_LABEL , 0 , 0 , 0 );
       ObjectSetInteger ( 0 , "D_w_v" , OBJPROP_CORNER , 1 );
       ObjectSetInteger ( 0 , "D_w_v" , OBJPROP_XDISTANCE , 20 );
       ObjectSetInteger ( 0 , "D_w_v" , OBJPROP_YDISTANCE , 45 );
     }
   color vol_col;
   if ( iClose ( Symbol (), PERIOD_D1 , 0 )> iOpen ( Symbol (), PERIOD_D1 , 0 ))
      vol_col=Lime;
   if ( iClose ( Symbol (), PERIOD_D1 , 0 )< iOpen ( Symbol (), PERIOD_D1 , 0 ))
      vol_col=OrangeRed;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Ob_del( int num_of_bar)
  {
   string name= "Vol_" + DoubleToString (num_of_bar, 0 );
   if ( ObjectFind ( 0 ,name)!=- 1 )
     {
       ObjectDelete ( 0 ,name);
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Ob_del2()
  {
   if ( ObjectFind ( 0 , "D_w" )!=- 1 )
       ObjectDelete ( 0 , "D_w" );
   if ( ObjectFind ( 0 , "D_w_v" )!=- 1 )
       ObjectDelete ( 0 , "D_w_v" );
  }
//+------------------------------------------------------------------+
 
친애하는 이여, 동지들이여, 도와주십시오! 포물선 표시기 Ma_Parabolic_Alert _2를 MA를 넘을 때 색이 변하도록 색칠하고 화살표가 동시에 나타나면 좋을 것입니다.

나는 매우 감사 할 것입니다!
파일:
사유: