What I want?
- Any one who wants to learn and wants to help with the MQL4 Projects.
- Any one who believe the Money Making Systems should not be sold for what so ever(if it makes money, then why you sell it?).
- Any one who believe that every one deserve a second chance and there is more than enough for everyone.
- I always want to learn but there is a problem because I don't know who (and what) will teach me. But I could consider whether I want to help with this project.
- I agree that somebody who created a profitable system don't need to sell it.
- This is more a philosophical topic than an MQL topic.
What we will do in this topic?
So we will work together on a potentially profitable strategies and develop them to make money for me and you and every body out there.
Great idea but... I'm afraid that there aren't sufficiently experienced people here who want to participate to this project. In other words there are lots of beginners on this forum but too few good coders and traders (they usually don't need to work with newbies together).
I'll watch your topic and we'll see. If it start to be interesting I'll join you.
Sounds like Wa7eed wants to build Communism. :D
The idea is not really new though, in fact it's already implemented in the site. It's called Code Base.
https://www.mql5.com/en/code

- www.mql5.com
Sounds like Wa7eed wants to build Communism. :D
The idea is not really new though, in fact it's already implemented in the site. It's called Code Base.
https://www.mql5.com/en/code
I did not claim to be a professional programmer, I am still learning and I think it would be so much fun and interesting to learn with others as will, until I feel I can do something better maybe I will go to the Code Base, but for now the Code Base seems to be a waste of my time because I do not know much and I dont think I will do much as will.
About "Communism" I dont know what it suppose to mean, but it seems interesting.
Thank you @kypa for paying attention, and for your replay.
- I always want to learn but there is a problem because I don't know who (and what) will teach me. But I could consider whether I want to help with this project.
- I agree that somebody who created a profitable system don't need to sell it.
- This is more a philosophical topic than an MQL topic.
Great idea but... I'm afraid that there aren't sufficiently experienced people here who want to participate to this project. In other words there are lots of beginners on this forum but too few good coders and traders (they usually don't need to work with newbies together).
I'll watch your topic and we'll see. If it start to be interesting I'll join you.
Thank you @Petr Nosek for your replay and you are very welcome when ever you like.
I will start small very soon and see what is gonna happen.
see yah!
General rules and best pratices of the Forum. - General - MQL5 programming forum
Next time post in the correct place. The moderators will likely move this thread there soon.
- I agree that somebody who created a profitable system don't need to sell it.
Really ?
When I will have a profitable system in some years, I will sell it. I will need to sell it. Why ? Because I don't have a capital. I can build it, I can test it on a cent account for example, investing 1000 USD but I will not be able to really profit from it without a real capital. To be able to really profit and live from it you need a capital of minimum 50,000 USD.
Why did you post your MT4 post in the Root / MT5 EA section instead of the MQL4 section, (bottom of the Root page?)
General rules and best pratices of the Forum. - General - MQL5 programming forum
Next time post in the correct place. The moderators will likely move this thread there soon.
Really ?
When I will have a profitable system in some years, I will sell it. I will need to sell it. Why ? Because I don't have a capital. I can build it, I can test it on a cent account for example, investing 1000 USD but I will not be able to really profit from it without a real capital. To be able to really profit and live from it you need a capital of minimum 50,000 USD.
Really ?
When I will have a profitable system in some years, I will sell it. I will need to sell it. Why ? Because I don't have a capital. I can build it, I can test it on a cent account for example, investing 1000 USD but I will not be able to really profit from it without a real capital. To be able to really profit and live from it you need a capital of minimum 50,000 USD.
Hi @Alain Verleyen, sorry for posting this thread in this section.
About selling the profitable systems, it is hard to know whether or not this system or that system will be profitable in the future or not, and I bought around three systems before with a hope that it can make some profit but it did not, what I mean is there is a scammers who make money by selling their systems and they dose not even use it at all because they know it dose not work. So how can I trust them after what they did to me?
As you can see, there is two types of people in here:
- The one who has a real profitable system in this industry but has no capital investment to start trading, and they only have the right to sell their product.
- The one who has a crappy system and know it wont work and he has no place in the Forex industry but he is their to scam people and steal them, and this is the worst kind ever who should be in prison in no time and unfortunately they are not because...(I DON'T KNOW)
I think you @Alain Verleyen do hate the second type as much as I do and you should actually because they take a potential customers from you.
So before it gets out of the topic and be too late, lets get started.
The system that I am going to start up with is a one of the most popular and most famous trading system in the history of the automated trading. (I guess!)
Martingale
The file is in the Attachments, you can use it on a demo account if you wish or a real account (UNDER YOUR OWN RISK!!!), modify it, suggest a modification or contribute with me to improve it.
About this EA:
It uses a simple Martingale strategy where the next order lot size is as twice as much as the previously closed order. On a fresh accounts were no orders been closed before it open a random position. It opens the next orders on the same type of the previous order if the previous order is won and it opens the next order of an opposite type if the previously closed order is loss. It multiplies the next order lot only if the previous order been closed was a loss.
installation:
I assume you all know how to install it on your platform, so if you have any troubles with that search google or just reply on this thread.
Settings:
MagicNumber: You know what it is, so leave it as it is or change it as you wish.
TakeProfit: You also know what it is, I recommend a value of 10 for Spread purposes.
StopLoss: And you also know what it is, I recommend a value of 10 also for Spread purposes.
LotsMultiplier: I recommend it to be 2, and it is used if you want the next lot size to be as twice or as three times of the previous one, so change as you wish.
minLotSize: This defines the minimum risk lot size for every position you entered, change it as you wish.
Code Breakdown:
Now in depth with the source code of this EA, I will divide it into three categories as following:
1. Global Variables:
////////////////////////////////////////////////////////////////////////////////////////// //// //// //// Global Variables //// //// //// ////////////////////////////////////////////////////////////////////////////////////////// extern int MagicNumber=10001; extern int TakeProfit=10; extern int StopLoss=10; extern int LotsMultiplier=2; extern double minLotSize=0.01; int Slippage=3; double MyPoint=Point;
2. Main Function:
/////////////////////////////////////////////////////////////////////////////////////////// //// //// //// Main Function //// //// //// /////////////////////////////////////////////////////////////////////////////////////////// int start() { if(Digits==3 || Digits==5) MyPoint=Point*10; //On Fresh Account, Random Start if( (OrdersHistoryTotal()==0)&& (OrdersTotal()==0) ) { if(MathRand()%2==0) openBuy(); else openSell(); } // Following Orders if( (OrdersHistoryTotal()>0)&& (OrdersTotal()==0) ) { if( (OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY))&& (OrderProfit()>0) ) { if( (OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY))&& (OrderType() == OP_BUY) ) { openBuy(); } else openSell(); } if( (OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY))&& (OrderProfit()<0) ) { if( (OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY))&& (OrderType() == OP_BUY) ) { openSell(); } else openBuy(); } } return true; }
3. Costume Functions:
////////////////////////////////////////////////////////////////////////////////////////// //// //// //// Custom Functions //// //// //// ////////////////////////////////////////////////////////////////////////////////////////// double GetLots() { double min_lot = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN); double max_lot = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX); double lotSize=min_lot; if( (OrdersHistoryTotal()==0) || ( (OrdersHistoryTotal()>0)&& (OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY))&& (OrderProfit()>0) ) ) { lotSize= NormalizeDouble((AccountBalance()/baseRisk()), 2); if(lotSize < min_lot) lotSize = min_lot; if(lotSize > max_lot) lotSize = max_lot; } if( (OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY))&& (OrderProfit()<0) ) { lotSize= NormalizeDouble((OrderLots()*LotsMultiplier), 2); if(lotSize < min_lot) { lotSize = min_lot; } if(lotSize > max_lot) { lotSize = max_lot; } } return lotSize; } //--------------------------------------------------------------------------------------------------------------------- int baseRisk() { return AccountBalance()/minLotSize; } //--------------------------------------------------------------------------------------------------------------------- int openSell() { if(OrderSend(Symbol(),OP_SELL,GetLots(),Bid,Slippage,0,0,"Martingale",MagicNumber,0,Red)) { double TheTakeProfit=Bid-TakeProfit*MyPoint; double TheStopLoss=Bid+StopLoss*MyPoint; if(OrderSelect(OrdersTotal()-1,SELECT_BY_POS, MODE_TRADES)) { if(OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green)) return true; } } return true; } //--------------------------------------------------------------------------------------------------------------------- int openBuy() { if(OrderSend(Symbol(),OP_BUY,GetLots(),Ask,Slippage,0,0,"Martingale",MagicNumber,0,Blue)) { double TheTakeProfit=Ask+TakeProfit*MyPoint; double TheStopLoss=Ask-StopLoss*MyPoint; if(OrderSelect(OrdersTotal()-1, SELECT_BY_POS, MODE_TRADES)) { if(OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green)) return true; } } return true; }
Suggested Modifications:
- There is a chance when this system lose control and can not place stop limits for opened positions, there should be a separated function that can check if the opened order has stop limits and if not then stop limits has to be placed.
- The EA will fail to open larger lot sizes more than the maximum lot size allowed on the current account, we need to figure out a way to check whether the naxt order lot size is more than the maximum lot size allowed for any position and if true then the next lot size will be seberated into multible orders where the total lot size of all of them equal to the needed lot size volume.
- This EA can fall easily into huge gabs over the week ends, so there should be a way to permits that from happening.
So now it is your turn, feel free to suggest anything, use this system, modify it, backtesting it, do what ever you might think with it, it is mine as it is yours.
Any thoughts or Ideas are very welcomed. Thanks in advance for your hard work and contribution.

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hello there, I am new to this forum and I am wondering if any of you would help me make it possible for this topic to become free for all, not profitable, collaborative, and educational. The thing is I got hooked with the automated trading around a year ago, and yes I bought some of them and ended up with empty accounts, so I asked my self "why won't I make my own?" and "What it takes to make my own any way?", so I started searching Google for answers and found the MQL4 and knew it can be used to make an automated trading Expert Advisers. Luckily I had just a little experience with the CPP Programming Language, so I did not have any problem with learning the basics of programming with the MQL4.
What I want?
What we will do in this topic?
I have been working on MQL4 and so far I developed 4 Expert Advisers, and yes I can share it with you so you may learn something from them or maybe you will suggest some sort of an improvement on any of them, or you may help me to improve them, they all will be open source, free for all, with no extra charge, that if you liked them anyway!. So we will work together on a potentially profitable strategies and develop them to make money for me and you and every body out there.
So..
With the permission of this forum moderators, can I proceed with this workshop?
And to the other members who are interested in this idea, will you be with me in this and what do you think of it?