So finally. We do not ex­pect to see any de­vel­op­ments to come out of MT4 ever again - page 2

 
You can do all of that and more in MQL5.
 

Alain Verleyen:
A software where development and support is stopped by the owner company is dying, it's what I mean.
I have read that so many times. I understand your feeling, but Metaquotes has taken its decision. Now we will see what will happen.

I am aware that metaquotes has indicated they will not develop mt4 any further.

I am not aware that they have said that they will stop supporting it. 

I think you are not right, most people have nothing against MT5 if it provides what they need. 

Of course they can't in the long term. You can't imagine what it costs to support a platform.
 

   

After a decade of development and progressing to the current level of popularity and sales of signals

and products through the store I would hope the platform is making money not costing money.
 
Carl Schreiber:

Well for anybody who is interested just compare the length of the mt5-broker-list and the mt4-broker-list.


Very good point Carl. I think that dropping MT4 support would be a foolish and expensive thing to do.

 
eevviill13:

Really?

 Of course.

You can move the bucket of apples by hand, but you can use a crane.

 The result is the same, but it is impractical.

 

Do you see in data window what happens when use ArrayIntitialize(buf,EMPTY_VALUE)? No? Numbers dissapairs and when indicator counts all than numbers appeirs(blinking). 

Or you want to say that open order function must use classes?

Or you want to say that this

High[4]

 equal to this by simlyties?

high(4)
//////////////////////////////
double high(int CC)
{
double high[1];
CopyHigh(Symbol(),0,CC,1,high);

return(high[0]);
}


 

 EMPTY_VALUE...!~

This just shows your lack of programming skills.

Why don't you try something like this:

//+------------------------------------------------------------------+
//| iTime function                                                   |
//+------------------------------------------------------------------+
datetime iTime(string symbol,ENUM_TIMEFRAMES timeframe,int shift)
  {
   datetime time_array[];
   ArrayResize(time_array,shift,1);
   ArraySetAsSeries(time_array,1);
   int copy=CopyTime(symbol,timeframe,0,shift+1,time_array);
   datetime result=time_array[shift];
   return (result);
  }
//+------------------------------------------------------------------+
//| iOpen function                                                   |
//+------------------------------------------------------------------+
double iOpen(string symbol,ENUM_TIMEFRAMES timeframe,int shift)
  {
   double open_array[];
   ArrayResize(open_array,shift,1);
   ArraySetAsSeries(open_array,1);
   int copy=CopyOpen(symbol,timeframe,0,shift+1,open_array);
   double result=open_array[shift];
   return (result);
  }
//+------------------------------------------------------------------+
//| iHigh function                                                   |
//+------------------------------------------------------------------+
double iHigh(string symbol,ENUM_TIMEFRAMES timeframe,int shift)
  {
   double high_array[];
   ArrayResize(high_array,shift,1);
   ArraySetAsSeries(high_array,1);
   int copy=CopyHigh(symbol,timeframe,0,shift+1,high_array);
   double result=high_array[shift];
   return (result);
  }
//+------------------------------------------------------------------+
//| iLow function                                                    |
//+------------------------------------------------------------------+
double iLow(string symbol,ENUM_TIMEFRAMES timeframe,int shift)
  {
   double low_array[];
   ArrayResize(low_array,shift,1);
   ArraySetAsSeries(low_array,1);
   int copy=CopyLow(symbol,timeframe,0,shift+1,low_array);
   double result=low_array[shift];
   return (result);
  }
//+------------------------------------------------------------------+
//| iClose function                                                  |
//+------------------------------------------------------------------+
double iClose(string symbol,ENUM_TIMEFRAMES timeframe,int shift)
  {
   double close_array[];
   ArrayResize(close_array,shift,1);
   ArraySetAsSeries(close_array,1);
   int copy=CopyClose(symbol,timeframe,0,shift+1,close_array);
   double result=close_array[shift];
   return (result);
  }
//+------------------------------------------------------------------+
//| iVolume function                                                 |
//+------------------------------------------------------------------+
long iVolume(string symbol,ENUM_TIMEFRAMES timeframe,int shift)
  {
   long volume_array[];
   ArrayResize(volume_array,shift,1);
   ArraySetAsSeries(volume_array,1);
   int copy=CopyRealVolume(symbol,timeframe,0,shift+1,volume_array);
   long result=volume_array[shift];
   return (result);
  }
//+------------------------------------------------------------------+
Go ahead and call either one of these in MQL5 and then speak again.
 
eevviill13:

Once again.

mql4 is simple language for understanding and writting.

mql5 is a big monster. People afraid him.

 

Programming on mql5 is almost the same as programm on C# for trading. This is a problem. 

Don't moan - take the reality as it is.

  1. Metaquotes has decided to to support only MQL5 which is financially reasonable.
  2. Most of the brokers and most of the clients still offer/use mt4 - so mt4 will not disappear overnight.
  3. If you are moving from EU to Japan you'd better learn the handling of chopsticks instead of trying to use them as knife and fork.
 

I do agree at some point with eevviill.

Maybe it will be indeed MetaQuotes biggest mistake ever... Time will tell.


A specific example comes to my mind, it was about a gaming console that was a very big success globally.

The amount of consoles sold went through the roof and reached mind boggling levels.

The company that produced these consoles, or rather the involved investors, decided to pull it off once more by designing a new even better game console.

Basically, they took the capital that they had made from sales, and used that to set up the production for the new and improved console.

When it was finally released to the public the sales did not get off the ground and only so few consoles were bought by gaming enthusiasts.

The market was said to be saturated because all of the previously buying customers still had their working first model console, with many many games.

In this example, the old games were even compatible to run on the new console...

The final result was that the sales from the new console collapsed, and that the investors eventually lost what they had gained in the first run.

Not sure how this would apply to MT4 vs MT5 but it certainly shows that a earlier run can be the biggest run, and that newer does not always equal better.

I guess they learned their lesson.

 
Marco vd Heijden:

This just shows your lack of programming skills.

Why don't you try something like this:


Go ahead and call either one of these in MQL5 and then speak again.

So this

 //+------------------------------------------------------------------+

//| iHigh function                                                   |
//+------------------------------------------------------------------+
double iHigh(string symbol,ENUM_TIMEFRAMES timeframe,int shift)
  {
   double high_array[];
   ArrayResize(high_array,shift,1);
   ArraySetAsSeries(high_array,1);
   int copy=CopyHigh(symbol,timeframe,0,shift+1,high_array);
   double result=high_array[shift];
   return (result);
  }

 

better than this???????????????????????????????

iHigh()
Are you really think so or you are joking? 
 
eevviill12:

So this

 //+------------------------------------------------------------------+

//| iHigh function                                                   |
//+------------------------------------------------------------------+
double iHigh(string symbol,ENUM_TIMEFRAMES timeframe,int shift)
  {
   double high_array[];
   ArrayResize(high_array,shift,1);
   ArraySetAsSeries(high_array,1);
   int copy=CopyOpen(symbol,timeframe,0,shift+1,high_array);
   double result=high_array[shift];
   return (result);
  }

 

better than this???????????????????????????????

iHigh()
Are you really think so or you are joking? 

Ok so it's obvious that you have no idea about what it is or what it does.

 
Alain Verleyen:

 etc...

Of course arise the question "why to change ?", it's really not specific to MT4/MT5, the same issue occurs in all domains of life. In computer : I was happy with Window XP or even Windows 7 but now I have to use Windows 10...at first it's just waste of time, but slowly you forgot completely about XP or 7... In 2000, I had a mobile already, it was as big as a talkie walkie, but it was working well to phone, why to change, it could probably still work now ? In 19th century most people were happy to use horses for their displacements, then come train, car, plane...why to change ? All is changing, always, but most people don't like to change...and they remain married 40 years with the same person forgetting why they were married at first.

MT4 is dying, you can prepare yourself to follow the hearse while crying or you could start to adjust to real world, it's up to you.

No, my friend, here most uses Windows 7 or 10, and also most uses MT4, .. lol. If I migrate from W7 to W10, ALL my applications work perfectly. But if I am forced to migrate from MT4 to MT5, NOTHING WORKS ..... Why, I have to switch to another platform, when I am Does it work correctly?We are not against progress. All new developments and improvements, products are welcome 100%, if they are superior to the old.
With mt5 this is only partially true. The new language is not superior, just more complicated. They just change things for the sake of change. And compatibility is lost.Today you can still run MS DOS programs on the the latest windows. You can run programs from windows 95 on windows 10. There are ways to do this and it works perfectly! Microsoft didn't force people to re-write their old software.
 
aboncab:

No, my friend, here most uses Windows 7 or 10, and also most uses MT4, .. lol. If I migrate from W7 to W10, ALL my applications work perfectly.

That's is not exact, maybe you didn't have problem while migrating to W10 but it's far from being the case for everyone. Anyway it has nothing to do with MT4/MT5. When I was talking about Windows it was a metaphor about reluctance to change.

But if I am forced to migrate from MT4 to MT5, NOTHING WORKS ..... Why, I have to switch to another platform, when I am Does it work correctly?

You are not forced to anything. Just continue to use MT4, it will not dissapear this night.

We are not against progress. All new developments and improvements, products are welcome 100%, if they are superior to the old.

MT5 is far superior to MT4. There is no doubt about that, it an be demontrated easily...for someone who want to see the facts.

What we are talking here has nothing to do with superior or not but we MONEY and only with money.

With mt5 this is only partially true. The new language is not superior, just more complicated. They just change things for the sake of change. And compatibility is lost.Today you can still run MS DOS programs on the the latest windows. You can run programs from windows 95 on windows 10. There are ways to do this and it works perfectly! Microsoft didn't force people to re-write their old software.

Of course it was an error to broke compatibility, who is saying otherwise ? This is not the discussion.

From PM :

But if I am forced to migrate from MT4 to MT5, NOTHING WORKS ....

MT5 is working well, you just have to learn it or ask help (free or paid).