By the way, I wrote a plugin for the new version to prevent posting links for new accounts. This is mostly inspired by the spammers. New registrations will not be able to make posts with links to other websites when they are newer than some days, and also if they don't have some number of posts. I'm thinking about 60 days and 20 posts, but I can change the numbers. I can also change which websites to Not be counted and be allowed, but initially I will start with just fxdreema.com.
Best posts made by fxDreema
-
RE: Forum updateposted in Questions & Answers
-
About the Chrome extension to download filesposted in Questions & Answers
Technically, it's not an extension, but a Chrome App... not that this matters. The problem is that Google are removing support for the API (the functions with which it is written), from 2020 it seems. Maybe it still works for someone who still have it in the browser, maybe not. But it's not available in the Google Store - https://chromewebstore.google.com/detail/fxdreema-download-files/lnlppnklledgeaafojedgemkdhjdgdkp
If we go to the documentation page of the chrome.fileSystem API that is used in the extension, we can see that there is a deprecation message and a link to find out how to migrate to another API. And we can see there is something called File System Access API.
I tried this API, it's nice, it works directly in the browser, I wrote the whole functionality of the extension (and a little bit more) and everything works very good... in Linux... and for some directories in Windows, like Documents. The thing is that this API doesn't allow access to system directories, and it seems that they consider \AppData\Roaming\MetaQuotes\Terminal...\MQL4\Experts as such. And as you all probably know, this is where usually expert advisor files are.
At this point I don't know what API to use.
There is still a chance for the extension to work, but it needs to be installed locally. If you want to try:
- Download this fxdreema.download.files.zip file, unpack it somewhere. You will get a directory with some files.
- In Chrome, go to Extensions (chrome://extensions/) and turn on Developer mode in the upper right corner.
- 3 buttons will appear, click on the Load unpacked one and navigate to the unpacked directory.
- fxDreema: Download Files 0.3 should appear under Chrome Apps and it should have ID: lnlppnklledgeaafojedgemkdhjdgdkp
- Now if it works, good... for now. I guess at some point they will completely remove the API and it will stop working forever.
-
RE: Possible BUG. Block " Position Closed "posted in Questions & Answers
It seems that the problem started to happen after some MT5 update, because I haven't changed this code where I found the problem now. I believe I fixed it. But the Trade detection code is a little bit complicated, so I would not be surprised if there is another bug. I hope ther is not.
Here is a little tip for being able to see what is going on in these Trade events in case there is a problem like this. There is a big class where the Trade detection happens, and I added few methods to print out information about the events. Normally this information does not appear, but this can be enabled. In the source code search for "debug" and you will find this:
public: /** * Default constructor */ OnTradeEventDetector(void) { debug = false; isRepeat = false; eventValuesQueueIndex = -1; };Change debug = false; to debug = true;. Now in MT5, in the logs, information about every trade event will be printed.
-
RE: Why doesnt everyone here come together?posted in Questions & Answers
@ontradingx said in Why doesnt everyone here come together?:
@biztet
The idea is to do the project 100% in Fxdreema because I believe that most people who use Fxdreem like me are not mql programmers or have difficulty in programming only in codes.I think it's not only for non-programmers, but for programmers too. There is one interesting aspect here - maybe most of the time our expert advisors are trading ideas that we want to try, but also these trading ideas can change very much when we start adding new ideas to try to minimize the losses. We start with the idea to make something, then we make something different (or even few EAs), and at the end no EA is really finished. In comparison, if it's a normal program (desktop app, website), the programmer more or less knows what he wants to make.
I think the EA bulder is good for making very quick changes in the behavior of the program. Doing such thing in the code is at least annoying. Actually, before making this website, I was experimenting with different strategies (martingale, trailing stop, fibonacci...) in MQL4 and even if my code was not that big, I was always changing the code here and there to add the new functionality. At some point I was even making some "universal" EA with everything in it.
After I made it, I was trying to make EAs with the EA builder as well, and of course I did it faster. However, my trading ideas were always very limited - some Martingale, some breakout, simple stuff. Which is probably what most people do. For that reason I see the EA builder mostly as a learning tool where anyone can try to make the strategies that other traders tried before many times.
There are also those people with bigger projects that I really can't understand. Mostly because I think fxDreema is not very good for making big projects, it just doesn't allow for good programming practices in such big scale.
But even if someone makes a profitable strategy, there is the age old question - why he will want to share it with others? That's why I don't believe in the idea of everyone coming together. Also, if for some reason this happens and everyone starts trading the same time, that strategy would quickly become obsolete.
When it comes to the usual simple strategies, I can imagine a website or a page where these strategies are presented with their results. This way if someone wants to try them, he would just see the results and understand their downsides. Or even try them himself without making them himself again.
-
RE: Telegram to MT4posted in General Discussions
I know that EAs can send emails or messages to android. HTTP requests to a server are also possible. They can also write to files and thus communicating with other programs on the same PC, but this is very ugly way of doing things. To communicate between EAs under the same MetaTrader, you can use those Terminal Variables (or Global Variables, F3 in MetaTrader). In theory one EA can also communicate via sockets or named pipes, but this would be very special EA that does only this task.
-
RE: Object naming with arraysposted in Bug Reports
They are in fact 4 lines printed on the chart.

fxd_line_5_0 is the one that appears first on candle 1. Eventually id3_thirdline appers on top of it.Well, as @miki says, there is right and wrong code in this particular situation. But the thing is that there could be a reason for "// Set variables (in)" to be at the bottom, and this is because in that Variables window you could use those P1, P2, P3 things, which are shortcuts for ObjName, ObjectType, ObjColor and the others. It's like the chicken and egg problem.
It looks that my assumption was that in the Variables window we should be able to use the Px values after they are modified. And there could be an use case where we want this, for example:
https://fxdreema.com/shared/5zi3oorD

But when I'm thinking about it, this use case is less intuitive and less possible from the one @roar stumbled upon, so I decided to fix the problem by moving "Set variables (in)" at the top. This means that the example that I'm giving above will be wrong.
I hope that this update doesn't change anyone's project, because it is always possible that someone is doing the things in the way my example works.
-
RE: unix timestamp to "hh:mm" timestampposted in Questions & Answers
Well, this is better https://www.mql5.com/en/docs/convert/timetostring
I guess there is no proper way in fxDreema to output time variable, I wonder what can I do about this. But this works: http://prntscr.com/dwzl2t -
Cryptocurrencies are exploding these daysposted in General Discussions
I know that this is Forex-related forum, but just take a look at the cryptocurrencies these days - they are exploding and I think this is very interesting.
In the Forex world we have regular government currencies - USD, EUR and so on. All of them are controlled by some shadow entities (for example FED for US Dollars) and the value of these currencies goes up (not really) or down depending on the mood of these shadow entities. Even the prices of gold and silver are artificially suppressed. So, in Forex we may think that we are trading, but we are in fact betting in this huge virtual casino.
Cryptocurrencies - take a look at their performance - https://coinmarketcap.com/ (those small charts). Bitcoin doubled in value in few months, Ethereum doubled in a week, ZCash doubled in few hours. And I think that this is only the beginning, because most of the people in the world still don't understand cryptocurrencies, but one by one they will, and the value can only go up and up.
So, I can suggest to anyone to take a look at the cryptocurrencies. If you still don't understand them, take some time to learn them. And get some, just in case.
-
RE: Is Fxdreema being updated or something similar or BUG?posted in Bug Reports
https://fxdreema.com/forum/topic/16633/all-blocks-resized-lost-all-connections?_=1682276113577
I fixed the problem that caused the website to be slow. It was a very slow database query that I wrote few months ago.
The other problem with the missing block titles the connections... I still don't know why it happened. I know where in the code it happens, I just can't explain how this part of the code is reached for newly created projects. It's some code where the structure of old projects (created years ago) is being updated to newer structure. For some reason some newly created projects ended up being "updated" and their structure was changed. I'm still not finished with this problem, I have to make some additional investigations.
-
RE: Variables and Constantsposted in Questions & Answers
It's a long story...
In the beginning Variables were just regular global variables and Constants were "extern" global variables. Then I started thinking "Hey, what if I remove the Constants and put a checkbox to turn any Variable into "extern" parameter?". And obviously I did that. But immediately I found a small problem...
In MQL5 you can define "extern" variable and then modify it in the code. But in MQL5. Try this MQL5 code:
input int inp = 0; void OnInit() { inp = 1; }It can't be compiled, it says "'inp' - constant cannot be modified"
If I use "extern" instead of "input", then there is no compile error, but also the variable is no longer an input parameters, it's like the keyword "extern" does nothing for MQL5.
Only in MQL4 and only if you use the keyword "extern" you can have input parameter that can then be modified into the code. But this behavior is for legacy reasons.So, having input parameters that can be also modified in the code was (and still is) forbidden in MQL5 and even in MQL4 (when you use "input"). That's why after I added those checkboxes for the Variables I almost immediately regretted.
What is the situation today? In the output code of the web version of fxDreema, both Constants and Variables are not global variables. They are members of two separate classes. This means that they all can be modified. But there are some problems again. I found that for people with many many Variables, the code is compiled very slowly. I guess that having classes with too many members is not good idea. So I'm now thinking to make Constants and Variables global variables again.
There are some technical difficulties as you can see and this determines my decisions

-
RE: Cryptocurrencies are exploding these daysposted in General Discussions
When I wrote this topic I think the Bitcoin price was somewhere between 2000 and 3000 dollars. Over 15000 now and I still believe that cryptocurrencies will grow. Guys, forget about this Forex stuff and buy and hold some cryptos, I think you will be much better in the future

-
RE: All Blocks Resized + Lost All Connectionsposted in Bug Reports
@Jim67 said in All Blocks Resized + Lost All Connections:
I had noticed it was slower than usual but thought it just my connection.
It's interesting that it all started suddenly. My first thought was that someone is attacking the website again. And by the way, the other day I banned one IP that was trying to open different non-existing paths, but he was not the problem.
There is a guy who has multiple accounts, paid accounts, and some of these accounts contain many projects, and some of them are big projects. At least 14 of his accounts were active in the last few days. I saw one account with more than 4k projects, another with more than 7k projects, and the active projects that I noticed contained more than 2k blocks. Also, because I'm monitoring the logins, I knew that there are lots of logins to his profiles through the day - all of his accounts have similar emails, it's very easy to spot them. It's like half of all logins are to his accounts, and maybe all logins are by email. First I focused on the number and the size of the projects, but at the end it was the logins by email that contributed to the problem. This guy is doing some kind of business and it looks that he got more clients or more work lately.
-
Forum updateposted in Questions & Answers
I'm planning to make an update to the forum to its latest version, and I will do it maybe tomorrow. I tested this locally, it's a little bit tricky, but not too much. I don't expect problems, but I also expect problems... if you know what I mean.
The forum is where the user profiles are, and it also manages the sessions (deals with the session cookie), so I can imagine problems like the need to login again or maybe clean the cookies.
If there are problems that last longer than... let's say an hour, write here about them or send me an email.
-
RE: Bucket of Positionsposted in Bug Reports
Ok, there was a problem in many blocks and it is my fault. When I was making the EA builder to work with the new hedge mode in MT5, I did that for some blocks, but I guess I missed other blocks - all those blue blocks where "If position" is. Also "Bucket of Positions".
I think I fixed the problems, but who knows what I missed again. By the way, the EA should work the same without some "If position" blocks, like 30, 40, 17 and 27, but if you feel better with them, keep them.
-
RE: Opening 2+ </> Condition block's details displays 'Cross width' optionposted in Bug Reports
I found that this option didn't worked and I did some updates to fix it. Maybe something broke visually now, but in any case this option is only for x> and x<, so the fact that you see it under > is only a visual bug. Which is an old bug I think, I knew that something like this happened from a long time, but when I decided to finally fix it I forgot how to cause the problem. Now I know

-
RE: Trademark is beautiful, but gets in the way of my Comments!posted in Questions & Answers
Actually the reason of this logo to be there is not advertising, but recognizing that the EA is made with fxdreema. And it was fun for me to create it. In fact, this logo exists only in the MQL4 part, for MQL5 I was too lazy to create it
And it can be easily removed from the output source code - it exists somewhere in "init()".Also, I think that EA creators (in general) are good to quickly build some strategy and backtest it, but for professional use it's better to write the strategy in MQL4/5 from scratch. Because EA creators are made to be universal, the biggest part of the output code is trash. At least this is the case with fxDreema, I can admit that. Yes, the EA can work, but every EA can be written with less code from someone who knows how.
Well, I will add some option to enable/disable if this is what many people wants. This is already planned update
