И снова о вечном: тренд/флет. - страница 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:

Хмм... У Вас веселее картинка получилась, живенько так.

А если серьёзно, что он показывает? Что сейчас, т или ф? 

 
prostotrader:
Один про Фому, другой про Ерему.)) На одном графике Форекс, на кот. отродясь такой инфы не было, на другом ФОРТС. Две большие разницы.)
 
Yuriy Asaulenko:
Один про Фому, другой про Ерему.)) На одном графике Форекс, на кот. отродясь такой инфы не было, на другом ФОРТС. Две большие разницы.)

А подумать головой не?

Какая разница ФОРТС или ФОРЕКС в данном случае? 

 
Yuriy Asaulenko:
Один про Фому, другой про Ерему.)) На одном графике Форекс, на кот. отродясь такой инфы не было, на другом ФОРТС. Две большие разницы.)

Аааа.... Тогда всё понятно! Стало сразу видно где тренд а где флет.... Не смешите мои тапки, пожалуйста.

Какая разница, фортс, форекс или кортофельная биржа бабы Мани? Где зависимость между соотношением продавцов и покупателей отображённая на графике?

Было сказано "но более точного определения флет/тренд вы не найдёте", так вот и спрашиваю, где это видно по индикатору?

зы. хьюстон, приём, нас опередили... 

 
Andrey Dik:

Аааа.... Тогда всё понятно! Стало сразу видно где тренд а где флет.... Не смешите мои тапки, пожалуйста.

Какая разница, фортс, форекс или кортофельная биржа бабы Мани? Где зависимость между соотношением продавцов и покупателей отображённая на графике?

Было сказано "но более точного определения флет/тренд вы не найдёте", так вот и спрашиваю, где это видно по индикатору?

зы. хьюстон, приём, нас опередили... 

Точно из больницы....

 
prostotrader:
Точно из больницы....

Не переживайте, это не относится к теме. 

Вы показали код, очень хорошо! Но что показывает индикатор? Объясните, покажите соответствие показаний индикатора и участков на графике. Что бы было видно - вот, индикатор говорит флет, смотрим на чарт - хмм, действительно флет!

Индикатор получился на славу, красивый, но он же ничего не показывает кроме 3-х горизонтальных пунктирных линий. Может быть в этом кроется очень глубинный, но скрытый смысл, которого я не вижу. Помогите понять, плиз. 

 
Andrey Dik:

Не переживайте, это не относится к теме. 

Вы показали код, очень хорошо! Но что показывает индикатор? Объясните, покажите соответствие показаний индикатора и участков на графике. Что бы было видно - вот, индикатор говорит флет, смотрим на чарт - хмм, действительно флет!

Индикатор получился на славу, красивый, но он же ничего не показывает кроме 3-х горизонтальных пунктирных линий. Может быть в этом кроется очень глубинный, но скрытый смысл, которого я не вижу. Помогите понять, плиз. 

Значит у вас на счёте нет таблицы сделок. 

Поэтому и CopyTicks не показывает сделки