Beta Testing of MetaTrader 5 Has Started! - page 22

 
fxt:

There are w, y, and z waves as well as x wave in wave nomenclature.


orthodox ew wxy(xz) designation is merely a label for a complex correction, which can still be either a 3 (wxy) or 5 (wxyxz) wave structure with waves w, y and z subdividing (thus a complex correction).


the point i was making is that corrective waves do not come merely as three-wave abc moves but can be five-waves as well. and since complex corrective waves can be any combination of corrective waves, connected by x waves, it would suffice to extend the labeling to at least wave e (abcde) as well as include a labeling for the connecting x-waves. that would cover the corrective wave structures sufficiently, no point in complicating it by including the alternative wxyxz labeling as well.


in fact, the two ew tools in mt5 would probably be better off consolidated into one tool (simply make it selectable the labeling that is to be used - probably a drop-down menu would work best, with selections 12345, ABC, ABCDE, ABCX, ABCDEX).


the idea is that the tool can be used by an expert advisor. and for that, the tool needs to be complete (show type, degree and complexity of the wave, all of which can be determined from the labeling itself: 12345 - impulse, ABC & ABCDE - simple corrective, ABCX & ABCDEX - part of a complex correction, to be followed by another corrective wave, either ABC/ABCDE (to end the complex correction) or ABCX/ABCDEX).


mt5 currently only has abc labels for corrective waves, which is not enough.


also, the origin point does need to be specified (0-1 or 0-a). it does not need to be labeled (0) but it does need to be specified as it allows to connect waves and draw lines in a proper way (as well as it allows to calculate wave 2/b targets based on 0-1/0-a wave length, especially if this is the first ew object drawn - and no, iterating through objects looking for the possible/probable previous same-degree wave to find the origin is not good enough). currently the first line (0-1/0-a) is not drawn because the origin point is not specified).




abc-x-abcde corrective wave example


 
Rosh wrote >>
Help MQL5 was updated.

  • Added new functions: SymbolInfoTick () and ZeroMemory ();
  • Added new structure MqlTick;
  • Add the enumeration ENUM_FILE_POSITION;
  • Added new properties
    * DEAL_MAGIC
    * DEAL_COMMENT
    * POSITION_MAGIC
    * POSITION_COMMENT;

  • Changed the property ORDER_EXPERT on the one ORDER_MAGIC;
  • Changed the field in the structure MqlTradeRequest: expert => magic;
  • Added description of the function OnTrade ();
  • Added new error codes

Thanks. One small ommission: Alert(...) appears to be an available function but is not documented

 

wanted to report a potential bug.


If I have a trendline on chart and when I try to retrieve the time and price, I would use:


Print(ObjectGetInteger(0,"testObj", OBJPROP_TIME,0));
Print(ObjectGetInteger(0,"testObj", OBJPROP_TIME,1));
Print(ObjectGetDouble(0,"testObj", OBJPROP_PRICE,0));
Print(ObjectGetDouble(0,"testObj", OBJPROP_PRICE,1));


The price works fine and shows both point 1 and point 2 prices as expected. time only shows the point 1 time for both.

 

Quote from the new help file 

"Users must independently verify the code to implement state trading account upon receipt of this event (if required under the terms of the trading strategy). If the function call OrderSend () completed successfully and returned a value of true - this means that the trading server put in place a order of execution and granted him the ticket number. As soon as the server will process this order will be generated event Trade. And if the user remember the value of ticket, then the processing events OnTrade () it can be on the ticket to find out what happened to the order. "

"And if the user remember the value of ticket" Oh My God! 

So this is how a state-of-the-art event-based trading station is supposed to handle trading?

Normally, since it's an EVENT, the OnTrade should tell the user not "an order has been filled", rather "the order, having ticket ...., symbol ..., lotsize ..., comment ... etc". 

Otherwise the event is quite useless. It reminds me the old loop from MQL4, when you needed to scan the order pool to find which one was executed.

Normally the order parameters should fill a supposedly MqlFillResult structure, so as programmer you can easily implement something useful.

void OnTrade(MqlFillResult& fillstatus)
     {
       if (fillstatus.comment=="SPECIAL ORDER 1")
         {
           if (fillstatus.execlotsize+fillstatus.prevexeclotsize<fillstatus.orderlotsize)
              {
                Print("Special order 1 not fully executed yet... , still ",DoubleToStr(fillstatus.orderlotsize-fillstatus.prevexeclotsize-fillstatus.execlotsize)," left to be executed")
              }
         }
       return;
     }



 
TheEconomist:

Quote from the new help file:


The event is quite useless. It reminds me the old loop from MQL4, when you needed to scan the order pool to find which one was executed.

Normally the order parameters should fill a supposedly MqlFillResult structure, so as programmer you can easily implement something useful.


Quite so. I've been eagerly awaiting the documentation on OnTrade() for months. Now I know, I wish I hadn't bothered.


No chance of a fix at some point over the next 6 months I suppose?


Jim



 
The smallest advantage of OnTrade() is that the order recognition loop does not has to be found in the OnStart(), which will mean great speed on backtesting and general code execution, although OnTrade() inner code will be as ugly and time wasting as in MT4.
 
maximillion:


orthodox ew wxy(xz) designation is merely a label for a complex correction, which can still be either a 3 (wxy) or 5 (wxyxz) wave structure with waves w, y and z subdividing (thus a complex correction).


the point i was making is that corrective waves do not come merely as three-wave abc moves but can be five-waves as well. and since complex corrective waves can be any combination of corrective waves, connected by x waves, it would suffice to extend the labeling to at least wave e (abcde) as well as include a labeling for the connecting x-waves. that would cover the corrective wave structures sufficiently, no point in complicating it by including the alternative wxyxz labeling as well.


in fact, the two ew tools in mt5 would probably be better off consolidated into one tool (simply make it selectable the labeling that is to be used - probably a drop-down menu would work best, with selections 12345, ABC, ABCDE, ABCX, ABCDEX).


the idea is that the tool can be used by an expert advisor. and for that, the tool needs to be complete (show type, degree and complexity of the wave, all of which can be determined from the labeling itself: 12345 - impulse, ABC & ABCDE - simple corrective, ABCX & ABCDEX - part of a complex correction, to be followed by another corrective wave, either ABC/ABCDE (to end the complex correction) or ABCX/ABCDEX).


mt5 currently only has abc labels for corrective waves, which is not enough.


also, the origin point does need to be specified (0-1 or 0-a). it does not need to be labeled (0) but it does need to be specified as it allows to connect waves and draw lines in a proper way (as well as it allows to calculate wave 2/b targets based on 0-1/0-a wave length, especially if this is the first ew object drawn - and no, iterating through objects looking for the possible/probable previous same-degree wave to find the origin is not good enough). currently the first line (0-1/0-a) is not drawn because the origin point is not specified).




abc-x-abcde corrective wave example


Yeah, I agree with u.


retracement levels, price length, 0 point is neccesary cuz it's a part of 1st motive wave, channel,s, and etc. so much good thing to do for this tool damn :DDDD

 
I don't know if that has already been mentioned but I can't seem to set the e-mail settings in MT5 without login/password. My SMPT server doesn't require login and password, but MT5 doesn't understand that. It also doesn't allow server port setting if I set it to something like "example.com:587" the result is "example.com:587:25".
 

An update to mt4timeseries.mqh. Probably the last one for this version(I made an alternative).

-Fixed yet another bug with the iHighest and iLowest.

-Added iSpread

-iBarShift can now do exact=false and exact=true

-provided option to wait for bars to update for situations when a timeframe hasn't loaded its bars when you first call on it. It may not be needed for most people, so i have it turned off by default.


Also, I want to note that the mt4objects.mqh is very under done, and I would only keep some of the functions. There are functions(ObjectSet, ObjectGet) which require a modifier now and use different constants, Making a conversion would be difficult and the resulting code would probably be slow. I would recommend to manually convert at least those object functions to mql5 equivalents. I found out the hard way how different some things were when porting some of my code.

Files:
 

Can you consider adding in ChartEvent events for windows messages that aren't handled by the chart?

regards

Reason: