그리고 다시 영원한 것에 대해: 추세/평면. - 페이지 13

 
Andrey Dik :

확인

그것이 어렵지 않다면 차트의 스크린샷을 보여주어 그것이 무엇에 관한 것인지 이해할 수 있도록 하십시오.

//+------------------------------------------------------------------+
//|                                                  Flat_trend.mq5 |
//|                                   Copyright © 2016, prostotrader |
//|                                                  http://mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, prostotrader"
#property link        "http://mql5.com"
#property version    "1.00"
#property description "Flat trend indicator"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots    1
//--- plot Max
#property indicator_label1   "FT"
#property indicator_type1   DRAW_LINE
#property indicator_color1   clrYellow
#property indicator_style1   STYLE_SOLID
#property indicator_width1   1
//--- Levels
#property indicator_level1 0
#property indicator_level2 0
#property indicator_levelwidth 1
#property indicator_levelstyle STYLE_DOT
//
input double FTLine = 50 ; //Граница флэта
//
//--- indicator buffers
double Buff[];
double deals;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
{
   IndicatorSetInteger ( INDICATOR_DIGITS , 0 );
   IndicatorSetString ( INDICATOR_SHORTNAME , "Flat_trend" );
   SetIndexBuffer ( 0 ,Buff, INDICATOR_DATA );
   ArraySetAsSeries (Buff, true );
   PlotIndexSetDouble ( 0 , PLOT_EMPTY_VALUE , EMPTY_VALUE );
//---
   IndicatorSetInteger ( INDICATOR_LEVELCOLOR , 0 , clrRed );
   IndicatorSetInteger ( INDICATOR_LEVELCOLOR , 1 , clrRed );
   IndicatorSetDouble ( INDICATOR_LEVELVALUE , 0 , FTLine );
   IndicatorSetDouble ( INDICATOR_LEVELVALUE , 1 , -FTLine );  
   IndicatorSetDouble ( INDICATOR_MAXIMUM , 105 );
   IndicatorSetDouble ( INDICATOR_MINIMUM , - 105 );
//---
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Custom indicator Get all deals                                   |
//+------------------------------------------------------------------+
double GetDeals( const string a_symbol, const datetime start, const datetime end)
{
   MqlTick ticks[];
   int buy_deal = 0 ;
   int sell_deal = 0 ;
   ulong a_end = ulong (end) * 1000 ;
   ulong a_start = ulong (start) * 1000 ;
   int result = CopyTicks (a_symbol, ticks, COPY_TICKS_TRADE , a_start, 0 );
   if (result > 0 )
  {
     for ( int i = 0 ; i<result; i++)
    {
       if ( ulong (ticks[i].time_msc) <= a_end)
      {
         if ((ticks[i].flags & TICK_FLAG_BUY )== TICK_FLAG_BUY ) buy_deal++;
         if ((ticks[i].flags & TICK_FLAG_SELL )== TICK_FLAG_SELL ) sell_deal++;
      }
    }
       return ( double (buy_deal-sell_deal));
  }
   return ( 0 );
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const int begin,
                 const double &price[])
{
   datetime times[];
   datetime end;
   int result = CopyTime ( Symbol (), PERIOD_CURRENT , 0 , 1 , times);
   if (result== 1 )
  {
    end = TimeTradeServer ();
    deals = GetDeals( Symbol (), times[ 0 ], end);
  }
//---    
   if (prev_calculated== 0 )
  {
     ArrayInitialize (Buff, 0 );
    Buff[ 0 ] = deals;
  }
   else
  {
     int a_diff = rates_total - prev_calculated;
     if (a_diff > 1 )
    {
       for ( int i = 1 ; i<(rates_total - a_diff- 1 ); i++)
      {
        Buff[i] = Buff[i+ 1 ];
      }
    }
    Buff[ 0 ] = deals;
  }
//--- return value of prev_calculated for next call
   return (rates_total);
}
//+------------------------------------------------------------------+
 

좋은 지표, 간단하고 세련된! 매우 균일하게 표시되어 있습니다. 정말 놀랍습니다.

 
Andrey Dik :

좋은 지표, 간단하고 세련된! 매우 균일하게 표시되어 있습니다. 정말 놀랍습니다.

 
prostotrader :

흠 ... 사진이 더 재미있고 활기차게 나왔네요.

그러나 진지하게 그가 보여주는 것은 무엇입니까? 이제 t 또는 f는 무엇입니까?

 
prostotrader :
하나는 Foma에 관한 것이고 다른 하나는 Yerema에 관한 것입니다.)) 한 Forex 차트에서 고양이에 관한 것입니다. 그러한 정보를 생성하는 것은 다른 FORTS에서 하지 않았습니다. 두 가지 큰 차이점이 있습니다.)
 
Yuriy Asaulenko :
하나는 Foma에 관한 것이고 다른 하나는 Yerema에 관한 것입니다.)) 한 Forex 차트에서 고양이에 관한 것입니다. 그러한 정보를 생성하는 것은 다른 FORTS에서 하지 않았습니다. 두 가지 큰 차이점이 있습니다.)

왜 머리로 생각하지 않습니까?

이 경우 FORTS와 FOREX의 차이점은 무엇입니까?

 
Yuriy Asaulenko :
하나는 Foma에 관한 것이고 다른 하나는 Yerema에 관한 것입니다.)) 한 Forex 차트에서 고양이에 관한 것입니다. 그러한 정보를 생성하는 것은 다른 FORTS에서 하지 않았습니다. 두 가지 큰 차이점이 있습니다.)

Ahhh .... 그러면 모든 것이 명확해집니다! 트렌드가 어딘지, 플랫이 어딘지 바로 알 수 있었다.... 슬리퍼 말하지마.

요새, 외환 또는 Baba Mani의 감자 교환의 차이점은 무엇입니까? 그래프에서 표시되는 판매자와 구매자의 비율 사이의 관계는 어디에 있습니까?

"하지만 플랫/트렌드에 대한 더 정확한 정의를 찾을 수 없을 것"이라고 말했기 때문에 지표에서 이것이 어디에서 볼 수 있습니까?

추신 휴스턴, 어서, 우리가 앞서가고 있어...

 
Andrey Dik :

Ahhh .... 그러면 모든 것이 명확해집니다! 트렌드가 어딘지, 플랫이 어딘지 바로 알 수 있었다.... 슬리퍼 말하지마.

요새, 외환 또는 Baba Mani의 감자 교환의 차이점은 무엇입니까? 그래프에서 표시되는 판매자와 구매자의 비율 사이의 관계는 어디에 있습니까?

"하지만 플랫/트렌드에 대한 더 정확한 정의를 찾을 수 없을 것"이라고 말했기 때문에 지표에서 이것이 어디에서 볼 수 있습니까?

추신 휴스턴, 어서, 우리가 앞서가고 있어...

바로 병원에서....

 
prostotrader :
바로 병원에서....

걱정하지 마세요. 주제가 아닙니다.

당신은 코드를 보여줬어, 아주 좋아! 그러나 지표는 무엇을 보여줍니까? 설명하고 차트의 지표 판독 값과 플롯 간의 일치를 보여줍니다. 볼 수 있는 것 - 여기 표시기가 평평하다고 표시되어 있습니다. 차트를 보십시오 - 흠, 정말 평평합니다!

인디케이터는 이쁘게 잘 나왔는데 가로 점선 3개 빼고는 아무것도 안보입니다. 아마도 여기에는 내가 보지 못하는 매우 깊지만 숨겨진 의미가 있습니다. 이해를 도와주세요.

 
Andrey Dik :

걱정하지 마세요. 주제가 아닙니다.

당신은 코드를 보여줬어, 아주 좋아! 그러나 지표는 무엇을 보여줍니까? 설명하고 차트의 지표 판독 값과 플롯 간의 일치를 보여줍니다. 볼 수 있는 것 - 여기 표시기가 평평하다고 표시되어 있습니다. 차트를 보십시오 - 흠, 정말 평평합니다!

인디케이터는 이쁘게 잘 나왔는데 가로 점선 3개 빼고는 아무것도 안보입니다. 아마도 여기에는 내가 보지 못하는 매우 깊지만 숨겨진 의미가 있습니다. 이해를 도와주세요.

이것은 귀하의 계정에 거래 테이블이 없음을 의미합니다.

이것이 CopyTicks가 거래를 표시하지 않는 이유입니다.