Jump to content

Megadroid Pro (links first post)


Recommended Posts

  • Replies 2.1k
  • Created
  • Last Reply

Top Posters In This Topic

Re: Megadroid Pro

 

What I am really working towards is seeing if a free dll version can be created. I don't care about auto-GMT, it looks to me like the system rules are still in the mq4 file not the dll but can anyone confirm if this is true?? I am not sure yet how to modify the rule calls for no dll mode.

 

well.. if you go study the code you will see the dll is ONLY calculating the server stop loss and one other variable uhhh... crap.. what was it.. tradefunction??? help me here..

Link to comment
Share on other sites

Re: Megadroid Pro

 

Don, great work!!!

 

Here is the link to the version that Hacker posted. This one had begin and end times that you can set. Useful feature because Megadroid trades for 2 hours by default. I think to trade AUD or JPY pairs, the best time would be one hour between US close and Asia open. Of course I need to run backtest to verify....

 

 

 

 

http://[email protected]/724574

 

actually MdPro unmodified trades between..

 

int gi_540 = 21;

int gi_544 = 4;

 

on the s1 magicnumber

 

and

 

int gi_548 = 21;

int gi_552 = 0;

 

on the s2 magicnumber..

 

whether or not it finds trades while the trade window is open is a different story...

 

oh:: and of couse thats gmt.. then whatrever you server offset is..

Link to comment
Share on other sites

Re: Megadroid Pro

 

well.. if you go study the code you will see the dll is ONLY calculating the server stop loss and one other variable uhhh... crap.. what was it.. tradefunction??? help me here..

 

Would be good if its only licensing kind of stuff, I am sure will figure out how to trade without dll if that's the case, will just lose the auto-gmt which I don't care about, manual is fine.

Link to comment
Share on other sites

Re: Megadroid Pro

 

Something interesting: I just found this educated version somewhere else, and it works slightly different in backtests:

http://r@[email protected]/files/256056705/mdpro.rar.html

 

Difference is, that this one opens more trades in backtest. Don't know why. Now what I would like to know is, which version is the one that works like the purchased one?

 

 

Does anyone use the version stated as the above? How is the performance? Did it crash? Please share. Thanks. :)

Link to comment
Share on other sites

Re: Megadroid Pro

 

Ok folx, I have found it. (I think.)

It will be a bit long story, I'm sorry. :)

 

As a foreword, I'd like to tell you it was not my fault. However, it's not

the authors' fault, either. (It's your fault... :D :D :D )

 

MegaDroidPro was created for trading up to a maximum of FOUR DIFFERENT pairs.

While you're trading 1 x EURUSD, 1 x EURGBP, 1 x EURCHF and 1 x USDCHF, there

should be no problems showing up.

 

But as you're begin to trade more EURGBP or EURCHF pairs or such pairs which

requires these logic settings, then MDPro will probably crash sooner or later.

As I've seen, if I trade another EURUSD or USDCHF pair (or pairs that needs

these logics) the problem is not appearing.

 

Just try it:

Start an EURGBP and an EURCHF chart. Put MDPro on both of them.

They're running nicely.

Now go and backtest EURGBP with MDPro. You'll probably get a nice crash.

If not the first time, then at the next try.

I'm on Alpari UK and when TWO EURGBP tests are trying to run with MDPro,

it crashes.

Not so often, but the problem is appearing with EURCHF, too.

 

Now, what is this? And how to fix it?

 

I think there is a limitation or rather a bug in the .dll file. The authors

never thought that there will be more than 4 pairs will be traded with their

robot, especially such pairs which are traded by the same logic. Therefore

they did not tested this case.

That's why I wrote: it's your fault. :D You want to run it on more and more pairs.

 

How to fix this problem? I guess we should not ask the authors to fix the dll

in order to be able to trade 5-8-12 etc. pairs for us. :D

 

Anyway, I have found a solution. It's ugly, it's lame, but IS WORKING!

(at least up to this moment :D )

 

The idea is to make more instances of MegaDroidPro. These instances are

loading their OWN .dll-files, this way there will be no conflict between

the logics.

 

For example: if you're trading a pair which is using logic #3 (EURGBP) and

you want to trade another pair which is also using logic #3, then you MUST

start an other instance of MegaDroidPro for this pair.

Of course, if you want to trade or test a pair which uses logic different than

the one which is already "occupied", then you don't have to start another

instance. One isntance can serve four pairs with DIFFERENT logic.

 

In the next post I'll show you the "new" version.

 

 

Hi Don,

 

I have observed something and not sure whether it is the real cause of MT4 Crashed with MD Pro.

 

Each time when I closed the MT4 while there was a trade opening/ running by MDPro and I re-opened the MT4, soon after the MT4 would crash. Could it be the crash of MT4 caused by the interruption or inconsistency of Internet connection with the broker's server?

 

Also, I have noticed some people are trading quite successfully with Eur_Gbp with MDPro while others seemed that they failed! I think there is an issue related to "latency". For those who are running MDPro in VPS seem to get positive trades rather than negative. Thanks.:)

Link to comment
Share on other sites

Re: Megadroid Pro

 

Ok, I need to clear up a few things.

 

Apple1937 asked if someone tried to use the rapidshare version that was posted here earlier.

Before I came up with this "multi-instance" trick, I have tried dll's and mx4's in every possible combinations.

 

Yes, I have tried the rapidshare version alone, without any modifications to see if I messed up something or not. But it DID produce the crash as well at EURGBP and EURCHF pairs (one was traded live, the other was backtested => crash).

 

This rapidshare version has the dll which is modified so that it does not call home. This needed a bigger modification.

In "MY" dll there was only 8 bytes modified: the ones which prevented opening positions when the receipt code was not valid. This version called home, but this way it did not care about the result of the authentication. (this was the simple "ee" version)

Of course, I can also modify my dll to avoid calling back home, but this alone does not solves the crashing problem.

 

This "multi-instance" trick is working for me. Apple1937 wrote that he still get crashes. However he used to turn off his MT4 while there are positions opened by MegaDroid. This is a BIG no-no anyway! Although you're seeing that there are TP ans SL values set for your MegaDroid positions, but these are "fake", these are for fooling the broker. The REAL TP and SL IS BEING handled continuously DURING runtime of MegaDroidPro. If you exit MT4, then these REAL TP's and SL's will not be handled anymore. Of course, as an "emergency", the fake TP and SL "protects" your position, but you WILL lose greater amounts of money (and you'll win greater, as well) if you leave them unguarded.

 

As for the AutoGmtOffset... I don't know how does access MDPro without the winininet.dll. But the correct values are showing on the chart (for me). Yet MDPro can run on Linux (wine-emulator) which does not "like" wininet.dll.

Link to comment
Share on other sites

ET thing

 

Does this in fact mean your dll still calls home? then please make it not to or make your version work with the rapidshare dll because otherwise info on number of users is gathered.

Thanks for your great work.

 

PS: And is there a way of keeping the internal SL/ TP values after reboot (for example by creating a global variable, of course only if this cannot be seen by broker)? This is pretty important I think.

Link to comment
Share on other sites

Re: Megadroid Pro

 

Peri, don't worry, only the simple "ee" version contained my dll.

The "ee2" and "ee2x" are using the rapidshare guy's dll. No calling back home.

 

Now I'm after a tool which can "peek" in other functions of the dll. But I don't promise anything.

Link to comment
Share on other sites

Re: Megadroid Pro

 

Ok, I need to clear up a few things.

 

Apple1937 asked if someone tried to use the r@pidsh@re version that was posted here earlier.

Before I came up with this "multi-instance" trick, I have tried dll's and mx4's in every possible combinations.

 

Yes, I have tried the r@pidsh@re version alone, without any modifications to see if I messed up something or not. But it DID produce the crash as well at EURGBP and EURCHF pairs (one was traded live, the other was backtested => crash).

 

This r@pidsh@re version has the dll which is modified so that it does not call home. This needed a bigger modification.

In "MY" dll there was only 8 bytes modified: the ones which prevented opening positions when the receipt code was not valid. This version called home, but this way it did not care about the result of the authentication. (this was the simple "ee" version)

Of course, I can also modify my dll to avoid calling back home, but this alone does not solves the crashing problem.

 

This "multi-instance" trick is working for me. Apple1937 wrote that he still get crashes. However he used to turn off his MT4 while there are positions opened by MegaDroid. This is a BIG no-no anyway! Although you're seeing that there are TP ans SL values set for your MegaDroid positions, but these are "fake", these are for fooling the broker. The REAL TP and SL IS BEING handled continuously DURING runtime of MegaDroidPro. If you exit MT4, then these REAL TP's and SL's will not be handled anymore. Of course, as an "emergency", the fake TP and SL "protects" your position, but you WILL lose greater amounts of money (and you'll win greater, as well) if you leave them unguarded.

 

As for the AutoGmtOffset... I don't know how does access MDPro without the winininet.dll. But the correct values are showing on the chart (for me). Yet MDPro can run on Linux (wine-emulator) which does not "like" wininet.dll.

 

 

Hi Don,

 

Thanks for your concern about my issues. I really appreciated that.:)

Link to comment
Share on other sites

Re: Megadroid Pro

 

Crash workaround is here:

 

hxxp://www.filefactory*com/file/ahd9fh3/n/MegaDroidPro_v1_00ee2x_rar

 

MegaDroidPro v1.00ee2 (ee means "Educated & Enhanced" ;) )

------------------------------------------------------------------------

 

Installation:

 

Copy ALL of the .ex4 files to the <your metatrader folder>\experts folder.

Copy ALL of the .dll -files to the <your metatrader folder>\experts\libraries folder.

 

 

This version of MegaDroidPro has

 

1. Disabled Authentication You can write any ReceiptCode or leave the field empty.

The .dll doesn't prevent buy & sell orders anymore if authentication fails.

No annoying "Not Authenticated" message is showing up.

 

2. Applicable on any pairs Not just EUR/USD, EUR/CHF, EUR/GBP and USD/CHF can be traded, but any pairs.

The pairs are traded by separate logics. The default pairs are traded by

their own logics, this cannot be changed.

 

However, if you're start MegaDroidPro on an officially unsupported pair,

you have to choose by which logic should that pair be traded.

For this, there is a Logic variable among the settings.

 

The Logic variable can set to four values:

1 - trade by the EUR/USD logic

2 - trade by the EUR/CHF logic

3 - trade by the EUR/GBP logic

4 - trade by the USD/CHF logic

 

The default is 1 (EUR/USD logic).

 

ATTENTION!

If you want to trade more than one pair with the SAME logic, then you must

use other instance(s) of MegaDroidPro in order to prevent crashes!

This rule is valid for backtests too! (while there is an ongoing live

trading with MegaDroidPro)

MegaDroidPro originally was created for a maximum of four pairs, traded by

DIFFERENT logics!

 

For example:

Let's say you have four charts opened (EURUSD, EURGBP, EURCHF and USDCHF)

and you are running MegaDroidPro on all of them.

Now, if you want to run a backtest or another live trading with MegaDroidPro

on e.g. EURGBP or a pair which uses the EURGBP-logic (3), then it has a good

chance of a crash, because there is already another EURGBP trading in the

background with the SAME instance of MegaDroidPro.

 

There is a workaround for this problem. It's ugly, but works. :)

There are 3 other instances included in this archive:

MegaDroidPro2.dll/ex4, MegaDroidPro3.dll/ex4 and MegaDroidPro4.dll/ex4.

These are completely identical, except that they are loading their own

numbered .dll's separately. This trick is preventing the crashes.

 

If you want to do a backtest or another live trading with a logic that is

already being used by another instance of MegaDroidPro, then you must simply

use (run) a new, numbered copy of the EA.

 

In the example above there all four logics are being used, therefore we must

use another instance of MDPro for the backtest.

It can be either MegaDroidPro2 or MegaDroidPro3 or MegaDroidPro4 as long as

they are not used for a pair with the same logic we want to trade with.

 

Please keep track of the instances and logics you're using in order to

prevent crashes.

 

For example you started MegaDroidPro on a EURGBP chart. This instance cannot

handle more "logic #3" pairs since that one is already occupied by EURGBP.

Now, if you want to trade e.g. GBP/CHF which you found the best to trade

with EURGBP's logic (3), then you must start another instance, like

MegaDroidPro2.

If you want to test or trade further pairs which are not using logic #3,

then you can still safely use MegaDroidPro or MegaDroidPro2 instance for them.

If MegaDroidPro/2 has used up all of its logics, or you want trade another

pair which uses a logic which is already "occupied", then you must run a

new instance, like MegaDroidPro3 and so on.

 

The only drawback of this method is that "Riskproportioning" feature is

being used WITHIN the same instance only. The instances cannot recognize

each other (therefore no more crashes), but the risk cannot be overally

proportioned, just by instances only (in groups of four pairs).

 

3. Spread limit can be freely changed

Some broker has higher night spreads at some pairs, therefore MegaDroid

often sent out the message: "Safe spread limit exceeded"

Therefore there is a new variable called MaxSpread.

If MaxSpread set to 0 (zero), then MegaDroid's default built-in

spread limits are used.

If MaxSpread set to other number, then that number will be used as the new

"Safe spread limit". If you're on 5 digit broker, then multiply it by 10!

 

You can set MaxSpread to -1 (minus one). This tells MegaDroidPro to set

the maximum allowed spread to the currency's actual highest spread.

This way you don't have to guess what is the correct value. This setting is

actually disabling the spread limit protection! (See Warning!)

 

Example: you want to trade GBP/JPY, but its spread is 7 / 10 (day/night).

Set MaxSpread to 10 (night spread) if you're on 4 digit broker.

Set MaxSpread to 100 if you're on 5 digit broker!

Set MaxSpread to -1 and spread limit protection will be disabled.

 

Warning! MegaDroidPro is a scalping robot! If you set MaxSpread too high or

trade pairs with too high spreads, then it may lead to large drawdown or

even account blowup! Try to trade the pairs with the thightest spreads!

 

That's all!

 

Enjoy!

 

 

don, thank you so much for your work, for your effort. thanks a million.

Link to comment
Share on other sites

Re: Megadroid Pro

 

Hi Don,

 

Do you use Alpari UK Micro or Classic account?

 

Have you had any problems using Megadroid with Alpari UK live account (like the account being manipulated by the brokers)?

 

Are they good and reliable brokers for using EAs (scalping or other EAs)?

 

Please let me know.

 

Thanks

Link to comment
Share on other sites

Re: Megadroid Pro

 

I've got an Alpari UK Classic account with the min. 0.1 lotsize.

I am running single MD on a live account since 17th of June and it was profitable so far, it has collected 11.5% during the one month period. But there was one and half week with no trading at all!...

 

Yes, I have already seen "interesting" spikes in the tick data one or two times, but it did not disturbed me in any way. They was at daytime, not during the Asian session.

If you want seriously to scalp then it's better to use an ECN broker because of the lower spreads. But for beginners Alpari UK looks ok. Big enough, old enough, therefore I think they're not a simple blatant scam.

Link to comment
Share on other sites

Re: Megadroid Pro

 

I did not study the code so much. I don't know. Of course these values could be written out to a file and could be read in again after a reboot. But what if the price moving too much in the meantime? BTW as I remember these internal TPs are between 10-15 pips and the SLs are also lower than those at the trading history.

 

Instead of this I'm using a stable computer that is solely used for running EAs and a good uninterruptible power source. :)

Link to comment
Share on other sites

solution to the crashing

 

Don, great work, especially in discovering the cause of the crash. Intermittent/random crashes are difficult to pin down because you don't really know when they'll happen.

 

But I think running multiple instances is a messy solution. There must be a cleaner solution. e.g. Have you tried simply disabling (commenting out) these calls to the DLL functions:

Increment()

Decrement()

Quantity()

 

These are the new DLL functions that handle risk-based position sizing when trading multiple symbols using the same DLL. Please try it, as I am fairly confident that commenting these out would work.

Link to comment
Share on other sites

AutoGmtOffset

 

As for the AutoGmtOffset... I don't know how does access MDPro without the winininet.dll

 

At first I thought this was what was going on:

MegaDroidPro.dll probably calls the GetSystemTime Function in the Kernel32 Windows library (Kernel32.dll): http://msdn.microsoft.com/en-us/library/ms724390(VS.85).aspx which gets the UTC time based on your computer's time. It would then compare this time with the server time to get the UTC offset.

 

I've seen Kernel32.dll used in other MetaTrader expert advisors to get the UTC time. One problem that I've found is that if your computer's time is wrong (or you intentionally change it to the wrong local time) then the GetSystemTime Function will return an incorrect UTC time and therefore the AutoGmtOffset would not work correctly. So you'd need to ensure that your computer's time has the correct time for your location and that the GMT Offset is correct in Date & Time Properties -> Time Zone.

 

If this is how MegaDroid gets the UTC offset, it would not need to use wininet.dll for AutoGmtOffset; it would just use Kernel32.dll.

 

But I did some further checking and it looks like it actually gets the current UTC time from this page on the MegaDroid web site: http://forex-megadroid.com/timetest.php

In this case, it would require wininet.dll, because wininet is the Microsoft Windows library for internet functionality.

Link to comment
Share on other sites

Re: Megadroid Pro

 

I have another problem with this MDpro:

 

I am planning to run both MDpro and FapTurbo on EURGBP. What if one ea tries to open a buy order, and another ea tries to open a sell order at the same time? So the broker has to allow hedging to do that?

 

Could somebody tell me if ATC brokers allow hedging or not? I remember somebody in this forum said all brokers in USA are not allowed to hedge. Could somebody confirm?

 

Thanks.

Link to comment
Share on other sites

Re: Megadroid Pro

 

By the new NFA-rules USA brokers does not allow hedged positions. But it's not MD's fault. :))

 

hyperdimension: I'll look after this RiskProportioning thing, because I also see how ugly my workaround is. (But works, at least.)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...