Une fois encore, il s'agit de l'éternel : tendance/plat. - page 13

 
Andrey Dik:

ok

Si vous le voulez bien, montrez-nous une capture d'écran du graphique pour que nous puissions voir de quoi il s'agit.

//+------------------------------------------------------------------+
//|                                                  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);
}
//+------------------------------------------------------------------+
 

Bon indicateur, simple et de bon goût ! Marqué très uniformément, juste étonnant.

 
Andrey Dik:

Bon indicateur, simple et de bon goût ! Marqué très uniformément, juste étonnant.

 
prostotrader:

Hmm... Vous avez une image plus gaie, plus vivante.

Mais sérieusement, qu'est-ce que ça montre ? C'est quoi maintenant, T ou F ?

 
prostotrader:
L'un porte sur Thomas, l'autre sur Eremia). Sur un graphique, il y a le Forex, qui n'a jamais eu de telles informations, et sur l'autre, il y a FORTS. Deux grandes différences).
 
Yuriy Asaulenko:
L'un porte sur Thomas, l'autre sur Yerema). Sur un graphique, il y a le Forex, qui n'a jamais eu de telles informations, et il y a FORTS sur l'autre. Deux grandes différences).

Tu ne peux pas penser avec ta tête ?

Quelle différence fait le FORTS ou le FOREX dans ce cas ?

 
Yuriy Asaulenko:
L'un porte sur Thomas, l'autre sur Eremia). Il y a le Forex sur un graphique, qui n'a jamais eu de telles informations, et FORTS sur l'autre. Deux grandes différences).

Aaaa.... Tout s'explique alors ! Il est devenu immédiatement clair où se trouve la tendance et où se trouve le plat..... Ne me fais pas rire, s'il te plaît.

Quelle différence cela fait-il, forts, forex ou l'échange de kortofel de Baba Mani ? Où se trouve la corrélation entre le ratio vendeurs/acheteurs indiqué sur le graphique ?

Il a été dit "mais vous ne trouverez pas de meilleure définition d'un plat/tendance", c'est donc ce que je demande, où l'indicateur le montre-t-il ?

houston, entrez, nous avons été battus...

 
Andrey Dik:

Aaaa.... Tout s'explique alors ! Il est devenu immédiatement clair où se trouve la tendance et où se trouve le plat..... Ne me fais pas rire, s'il te plaît.

Quelle différence cela fait-il, forts, forex ou l'échange de kortofel de Baba Mani ? Où se trouve la corrélation entre le ratio vendeurs/acheteurs indiqué sur le graphique ?

Il a été dit "mais vous ne trouverez pas de meilleure définition d'un plat/tendance", c'est donc ce que je demande, où l'indicateur le montre-t-il ?

houston, entrez, nous avons été battus...

Tout droit sorti de l'hôpital....

 
prostotrader:
Exactement de l'hôpital....

Ne vous inquiétez pas, c'est hors sujet.

Vous avez montré le code, très bien ! Mais que montre l'indicateur ? Expliquez, montrez la correspondance entre l'indicateur et les zones du graphique. Je veux voir - l'indicateur est plat, on regarde le graphique - hmm, c'est vraiment plat !

L'indicateur est bien, il est beau, mais il ne montre rien d'autre que 3 lignes horizontales en pointillés. Peut-être qu'il y a un sens profond mais caché derrière ça que je ne vois pas. Aidez-moi à comprendre, s'il vous plaît.

 
Andrey Dik:

Ne vous inquiétez pas, c'est hors sujet.

Vous avez montré le code, très bien ! Mais que montre l'indicateur ? Expliquez, montrez la correspondance entre l'indicateur et les zones du graphique. Je veux voir - l'indicateur est plat, on regarde le graphique - hmm, c'est vraiment plat !

L'indicateur est bien, il est beau, mais il ne montre rien d'autre que 3 lignes horizontales en pointillés. Peut-être qu'il y a un sens profond mais caché derrière ça que je ne vois pas. Aidez-moi à comprendre, s'il vous plaît.

Vous n'avez donc pas de tableau des transactions sur votre compte.

C'est pourquoi CopyTicks ne montre pas non plus les transactions.