Solo gli utenti che hanno acquistato o noleggiato il prodotto possono lasciare commenti
12
NightTrader  
у меня в терминалах Exness не работает почему то, просто грузится на график, но сделок не закрытых не открытых вообще нечего не отображает
daileycon  

Can you give us the settings to change the size, color, text , etc. of the currency/pips labels? These big blocks are ugly!

 

I do love this indicator! I just like pretty things :) 

Andrey Maksimov  
осторожнее с использованием на нескольких графиках, этот индикатор способен напрочь подвесить терминал !!!.. особенно если открыто графиков более 20-30 шт. в одном терминале..
Дима  
а у вас есть такой индикатор только для mt5?
Olivier Guguen  
Very good indicator
Small suggestion:
Is it possible to display it results on the graph according to the unit of time in which one took each trade
Pavel Lesnichenko  
установл - работает супер , автор ты молодец! благодарность от меня.
johnlyj  
this is very useful. 5 stars from me!
María Lunes  
could you upload de file? i have mac and i can´t donwload it from this web. Thanks in advance!
samHAN8998  
María Lunes:
could you upload de file? i have mac and i can´t donwload it from this web. Thanks in advance!
Hi Maria, try this and see if it will work on your Mac.
File:
fxsaber  
MT5-version

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Библиотеки: MT4Orders

fxsaber, 2019.05.02 01:22

#define MT4_TICKET_TYPE // Обязываем OrderSend и OrderTicket возвращать значение такого же типа, как в MT4 - int.
#include <KimIVToMT5.mqh> // https://c.mql5.com/3/263/KimIVToMT5.mqh

#define MT4_OLD_EVENT_HANDLERS
#include "ind4to5.mqh" // https://c.mql5.com/3/277/ind4to5.mqh

bool ObjectSetText( const string name, const string text,
                    const int font_size = 0, const string font_name = NULL, const color Color = clrNONE )
{
  return(ObjectSetString(0, name, OBJPROP_TEXT, text) &&
         ((font_name == NULL) || ObjectSetInteger(0, name, OBJPROP_FONTSIZE, font_size)) &&
         ((font_name == NULL) || ObjectSetString(0, name, OBJPROP_FONT, font_name)) &&
         ((Color == clrNONE) || ObjectSetInteger(0, name, OBJPROP_COLOR, Color)));
}

int WindowFind( const string ) { return(ChartWindowFind()); }
int Digits( void ) { return(_Digits); }
string StringTrimRight2( string Str ) { StringTrimRight(Str); return(Str); }
string StringTrimLeft2( string Str )  { StringTrimLeft(Str); return(Str); }
string ObjectDescription( const string name ) { return(ObjectGetString(0, name, OBJPROP_TEXT)); }

#define CORNER_LEFT_LOWER  2
#define CORNER_LEFT_UPPER  0
#define CORNER_RIGHT_LOWER 3
#define CORNER_RIGHT_UPPER 1
#define CORNER(A) ((A) ? ((A) + 1) % 3 + 1 : 0)

bool ObjectSet2( const string name, const ENUM_OBJECT_PROPERTY_INTEGER property, const long value )
{
  return((property != OBJPROP_CORNER) ? ObjectSetInteger(0, name, property, value)
                                      : ObjectSetInteger(0, name, OBJPROP_CORNER, CORNER(value)) && 
                                        ObjectSetInteger(0, name, OBJPROP_ANCHOR, CORNER(value) << 1));
}

bool ObjectSet2( const string name, const ENUM_OBJECT_PROPERTY_DOUBLE property, const double value )
{  
  return(ObjectSetDouble(0, name, property, value));
}

#undef CORNER

template <typename T>
bool ObjectCreate2(const string name, const T type, const int subwindow, const datetime time1, const double price1,
                                                                        const datetime time2 = NULL, const double price2 = NULL)
{
  return(ObjectCreate(0, name, (ENUM_OBJECT)type, subwindow, time1, price1, time2, price2));
};

template <typename T>
bool ObjectCreate2(const long chart_id, const string name, const T type, const int subwindow,
                   const datetime time1, const double price1, const datetime time2 = NULL, const double price2 = NULL)
{
  return(ObjectCreate(chart_id, name, (ENUM_OBJECT)type, subwindow, time1, price1, time2, price2));
};

#define TRUE  true
#define FALSE false

#define StringTrimRight   StringTrimRight2
#define StringTrimLeft    StringTrimLeft2
#define ObjectSet ObjectSet2
#define ObjectCreate ObjectCreate2
#define StringConcatenate StringConcatenate2

string StringConcatenate2( const string Str1, const int Str2 ) { return(Str1 + (string)Str2); }
string StringConcatenate2( const double Str1, const string Str2, const string Str3 ) { return((string)Str1 + Str2 + Str3); }
string StringConcatenate2( const string Str1, const string Str2, const string Str3 = "", 
                           const string Str4 = "", const string Str5 = "", const string Str6 = "", const string Str7 = "" )
{
  return(Str1 + Str2 + Str3 + Str4 + Str5 + Str6 + Str7);
}

string StringConcatenate2( const string Str1, const int Str2, const string Str3, 
                           const string Str4, const string Str5, const double Str6,
                           const string Str7,  const string Str8, const string Str9, const double Str10 )
{
  return(Str1 + (string)Str2 + Str3 + Str4 + Str5 + (string)Str6 + Str7 + Str8 + Str9 + (string)Str10);  
}

string StringConcatenate2( const string Str1, const int Str2, const string Str3, 
                           const string Str4, const string Str5, const double Str6,
                           const string Str7,  const string Str8, const string Str9,
                           const double Str10,  const string Str11, const double Str12 )
{
  return(Str1 + (string)Str2 + Str3 + Str4 + Str5 + (string)Str6 + Str7 + Str8 + Str9 + (string)Str10 + Str11 + (string)Str12);  
}

string StringConcatenate2( const string Str1, const int Str2, const string Str3, 
                           const double Str4, const string Str5, const double Str6 )
{
  return(Str1 + (string)Str2 + Str3 + (string)Str4 + Str5 + (string)Str6);
}

string StringConcatenate2( const string Str1, const double Str2, const string Str3, const string Str4 )
{
  return(Str1 + (string)Str2 + Str3 + Str4);  
}
   
string StringConcatenate2( const string Str1, const string Str2, const int Str3 )  { return(Str1 + Str2 + (string)Str3); }
   
#property indicator_buffers 0
#property indicator_plots 0

#define Symb  SymbTmp

#property indicator_chart_window
#include "IceFX.DrawProfit.mq4" // https://github.com/icefx/drawprofit/blob/master/IceFX.DrawProfit.mq4

Как обычно - оригинальный MT4-код не трогался.

Seb7  

I like this indicator, but after many trades on a chart, it really slows down MT4 (especially changing TF, but even just generally when doing nothing).

Does it process every tick, or just when a candle opens/closes, or on some other timer?  Does it process every closed trade every tick?  I think performance optimizations can be made...  For example by adding a setting to ProcessLastXCandles = X int

seevini  
Johnni Jægerstrøm:
  • MetaTrader 5 ??
Encontrou?
ajay7625g  
excellent indicator, Font size, color, offset options would have been added advantage...Thanks for giving it free
thanhdat888  

Có phiên bản MT5 không bạn ? Cảm ơn bạn

Artialberta  
Merci pour ce superbe indicateur !!!
Ivo Ferreira  
Is it possible to make an update with a function that allows for the change of colors? Like in the LOSS box and the WIN box. Any maybe font size? Thanks
777Mega  
Best tools I've ever used. Thank You
Solo gli utenti che hanno acquistato o noleggiato il prodotto possono lasciare commenti
12