Molanis Mistake Anyone? - page 2

 
JDeel:

deVries, the fact is, EA Builders exists for a reason. And the reason is MQL4 and especially MQL5 programming is not as easy as it seems.

"On this forum there had been a few topics where the code was to be repaired that was made by an EABuilder"

True. And tons of topis for the same reason, but without using EA Builder!

The difference is that the person that didn't use some kind of EA Builder has a slight clue so might be able to learn something when helped . . . as for coding being easy, well if you can't handle something simple like coding then you have no chance with trading, it is 1000 times more difficult.
 

JDeel:

....... the fact is, EA Builders exists for a reason.

.

Then it has to do its Job well if you can use it for the reason it is made.....

Still you haven't proof me that If you think it is a help then you're wrong when this product is not doing its job well

.

So again I will ask you also. Proof us that you can code correctly an Expert Advisor with using your tool

The standard MACD Sample is a nice EA for making that test there is enough inside this EA why you can't use the standard EA on your live account

but you have already made several EA's with it ..... one of those is for me also good enough for checking how good your tool is

I think the biggest problem you will always have using tools for making EA's is that you don't recognize or never learn how to read and change a code...

If you give us the full .mq4 code of an Expert Advisor build with your best tool and proof us that it correctly codes then you can give such an advice for that tool

Till now I haven't seen you doing this... or someone else...

 

Code builders are for those who try to do things whichever way appears to be the easiest, rather than whichever way appears to be the best, because usually the best way takes more effort.

 

RaptorUK:

T he difference is that the person that didn't use some kind of EA Builder has a slight clue so might be able to learn something when helped . . . as for coding being easy, well if you can't handle something simple like coding then you have no chance with trading, it is 1000 times more difficult.


SDC
:

Code builders are for those who try to do things whichever way appears to be the easiest, rather than whichever way appears to be the best, because usually the best way takes more effort.


Ah, so... computers are the best at trading and therefore the human should be dispensed with.

But then... computers are the worst at coding and therefore the human is irreplaceable.

But seriously, I believe my original post already acknowledged the value of human programmers. I'm merely updating a 5 minute self proclaimed rant from 2010 with my recent experience. So far I've seen a lot of EA builder generalizations and not one other SB user experience. I would simply say, if you can't mod SB's code to your liking then don't use it.

If you're really interested in a MACD sample, you can get the free trial of SB and then search the site for EA examples (MACD-EA2.mol). I had to add the mol extension when doing Save Target As. Basically, follow the instructions provided. You will get the ex4 to test, but no mq4 without buying the Pro version. Having said that, I have yet to see a functional ex4 with a defective mq4 from SB. I have the MACD-EA2.mq4 (I have the Pro version), but I'm not sure how copyright applies because I did not create the mol (it's their example EA). If you just want to test any mq4 EA, I'm attaching a simple 3 EMA's EA that I tested for functionality at one time. It calls a custom indi which is also attached. And now I really do have to stop or else demand a paycheck from the company.

 

EA (with indi):

Files:
3_emas_ea.mq4  89 kb
 
Indi:
 

Why don't we start to program in assembler? We can control everything in the lowest level available (after machine code). Yes, it takes more effort to learn that, but we will surely get so small and super optimized code! This is soooooooo amazing, don't you think, people?

deVries, Molanis is not my tool and I have never made EA's using it. But I see you are not a fan of EA Builders and I can advice you to never try to work with them. Just use MQL4/MQL5, this is not forbidden. There are people to like pink color the most, and people to like blue color the most. It was always been that way and it will continue to be.

 
I like to mix pink and blue to get purple.
 

Ichi_Cloud_EA.mql4 in no particular order

  1. external Is_micro_account instead of computing it via Market_info
  2. Using micro_account and NormalizeDouble assumes lotStep is 0.1 0r 0.01. No other broker defined values allowed.
  3. external FiveDigits instead of computing it. Only test for 3 or 5 allows standard pairs, jpy type pairs. Trading metals FAIL. Why the test for invalid settings.
  4. global PipMultiplier never reset back on chart change.
  5. lots of external bools can not be strategy tested.
  6. No reason to use two magic numbers
  7. Will only trade when hour between TradingStartTime and TradingEndTime. No possibility to set time over midnight (e.g. start 2000, end 0600, i.e. Sydney session only)
  8. Uses PreviousBarCount==Bars. Bars in unreliable (max bars in chart) Volume is unreliable (you can miss ticks) always use time.
  9. uses iClose(Symbol(),0,1) instead of the simpler and quicker Close[1]
  10. in Init Slippage = Slippage*PipMultiplier; means EACH TIME you change charts (pair or time frame) Slippage increases 3, 30, 300, 3000!!
  11. magiccond and other bool use if (condition) boolVar= true; else boolVar = false; when it could use the simplier boolVar = condition;
  12. Never caches values if (iClose() <> iCustom()) the exact same iClose and iCustom calls are called 4+ times.
  13. Counts up while closing. calls function twice. Counting up means it will miss every other order. Calling function twice means it fails on 4 or more open orders. Always count down.
  14. "M-ERROR : Expiration has to be at least 1 minute." just had a posting on this expiration period should be more then 10 minutes!
  15. For pending order, calls Normaliszedouble(price, Digits) which will not work when ticksize != Point
    double NormalizePrice(double p, string pair=""){
        // https://forum.mql4.com/43064#515262 zzuegg reports for non-currency DE30:
        // MarketInfo(chart.symbol,MODE_TICKSIZE) returns 0.5
        // MarketInfo(chart.symbol,MODE_DIGITS) return 1
        // Point = 0.1
        // Prices to open must be a multiple of ticksize
        if (pair == "") pair = Symbol();
        double ts = MarketInfo(pair, MODE_TICKSIZE)
        return( MathRound(p/ts) * ts );
    }
    double NormalizeLots(double lots, string pair=""){
        if (pair == "") pair = Symbol();
        double  lotStep     = MarketInfo(pair, MODE_LOTSTEP),
                minLot      = MarketInfo(pair, MODE_MINLOT);
        lots            = MathRound(lots/ls) * ls;
        if (lots < minLot) lots = 0;    // or minLot
        return(lots);
    }
    

 
Thank you for your diagnosis, WHRoeder. Some of these limitations would be obvious to the user while viewing the trading diagram in SB. For example, in SB orders cannot be closed by counting (#13). The options would be close all longs, close all shorts, SL, TP, and/or TS. My thanks to RaptorUK is on display for posting his code at Always count down as a fix for this issue for my future EA's. Yes, I read your related discussion as well. It's clear that other problems you found never affected my EA's simply due to my trading style. For example, my strategies don't use pending orders so #15 never arose. For similar reasons, #'s 1 through 7 also never arose. Yet others like #10 must have affected my EA's at some point so these are really good to know.
Reason: