Possible, now even on MT4. Well, I still explain the basic datatypes to people, I wonder if they are able to deal with these enumerations 
Posts made by fxDreema
-
RE: Enumerations the input Parametersposted in Questions & Answers
-
RE: EA based on a channel indicatorposted in Questions & Answers
Here is some example of the EA from the video... I believe...
https://fxdreema.com/shared/HszmN2poe
http://prntscr.com/4gpmx5It can be made with less blocks, but that's ok
-
RE: EA based on a channel indicatorposted in Questions & Answers
I want to say that I don't want to create complete EAs for people, what I want is to help people to understand fxDreema. In fact, fxDreema specifics are not very much - how to place blocks, how to modify parameters, how to connect, disconnect, what the inputs and outputs mean. Where people mostly fail is in the logic part of the project, so most of the time I repeat the same things again and again -> the basics of the EA.
The ability to detect problems is the best. It's a little bit hard in MT4 and MT5 to detect problems (to debug), you are looking at multiple events happened in time in a log that is very old school. Also working with numbers like 1.37292 is very intensive, especially for someone who is not friend with mathematics. But this is not impossible.
- To check when and where some block passes, use "Draw arrow"
- To check some value, variable, indicator value... anything numeric - use "Indicator tester"
- Also "Comment on chart" is good to visualize some values in realtime
Just train that, finding the problems with simple tools like the blocks above

This video... let's say that describing some strategy over the chart is easy and unfortunately not very realistic most of the time
Technically, it's a little bit different, here we work with data. Looking at the chart you can clearly say - this is uptrend and this is downtrend, but technically it's all about following very very specific rules, it's not that subjective. -
RE: EA based on a channel indicatorposted in Questions & Answers
Ahhh, maybe there is another prtoblem in block 42!
See... when the indicator is not "visible" it still have some value, normally the biggest possible positive integer value is used. It's some numeric value that is like... millions... something very big. And this value is bigger than the Bid price for sure, so the condition it true even if the indicator is not "visible"
You can check it for visibility using "Indicator is visible" -
RE: EA based on a channel indicatorposted in Questions & Answers
You know that the price moves up and down, so multiple crossovers may happen in very short amount of time, especially with "Minimum turnover distance" parameter set to 1 pips. What happens now is that multiple crosses happen in very short period of time due to the moving price.
Again, this method of crossover checks where is the indicator level compared to the previous tick value and the present tick value. The indicator value can be still... it's probably moving... but ticks moves up and down for sure, so in just a few seconds the price can, and actually do, cross the same indicator point multiple times - above, below, above, below... This is how this specific block works. So I added this minimum turnover distance parameter to filter out repeated crossovers like this.
I thin you need some "Once per bar" and/or bigger value for the minimum turnover distance. Or use the crossover from "Condition" block. Or use Candle Open, Candle Close (or Bid) to compare them with the indicator value.
-
RE: EA based on a channel indicatorposted in Questions & Answers
But I don't think you need that anyway, this also probably makes the EA to go slower.
Why it's not enough to detect when the price crosses one line while the price also must be above/below other line? This insicator is like MA or Bollinger, just some lines, positive values for each candle, nothing special. I don't know what can't be done with simple ">" and "<" conditions.
-
RE: EA based on a channel indicatorposted in Questions & Answers
I don't know
I mean... I know how, but I can't suggest how to do it using blocks, it's a little bit weird
But if A crossed B in the past, no matter where, then at the present moment A is probably above B, so are you sure you can't use that simple condition? -
RE: EA based on a channel indicatorposted in Questions & Answers
My idea is to check only 1 crossover at a time. The second one can probably be something normal... let's say ">". Why don't you write down all the conditions that must be true at a given moment, this will tell you everything.
Well, there can be situation where you want some condition somewhere in the past. Something what was happened while ago, but not in a specific time or candle. Unfortunately I think that fxDreema becomes weak in this scenario. Is this your case? Note that you can have some crossover happened while ago, and then the opposite one.
-
RE: EA based on a channel indicatorposted in Questions & Answers
I think the problem with this EA is that there are 2 "Price crossover Indicator" blocks placed one after another. I have made these more precise than the crossover in "Condition".
Each of these blocks knows the previous tick value, it uses that value and the present tick value to detect whether the price is crossing the indicator - below or above. Three values are compared - previous tick value, present tick value and the indicator value. A signal happens when the indicator value is between the two price values. The "problem" here is that the signals detected with this blocks are rare - you have the signal for 1 single tick only, on the next tick that signal is not there. These blocks detects the exact moment when the price crosses some value.
Compared to the crossover in "Condition" - there the signal is up to 1-candle-long. Even that way, using two crossovers one after another should be used in very special situations.
So, I think when there is some crossover to be detected, all the other conditions should be regular >, <, >= or <=.
-
RE: Compilation errorsposted in Bug Reports
So you are having troubles working with fxDreema. Do you have some ideas and recommendations of how some things can be done? Things that does not exists already?
-
RE: Compilation errorsposted in Bug Reports
HIGH_LOW equals to 0, HIGH_LOW_OPEN is 1, then 2, 3 and 4. But the EA can't see and use these constants. The same can be defined in the EA, but this is another story. Just define that parameter as "int" and give it values between 0 and 4.
Here is more about Enumerations: http://docs.mql4.com/basis/types/integer/enumeration
-
RE: Closing trades for no reasonposted in Bug Reports
This function (and few more) is automatically added to all EAs, but you have at the very top:
if (USE_VIRTUAL_STOPS=="no") {return(0);}And USE_VIRTUAL_STOPS equals to no at the top of the EA, which means that it's forbidden to enter the body of the function. You can clear it's contents anyway, don't remove the function itself, as it is called from another functions.
But I think the problem is somewhere else. What are the logs saying?
-
RE: self updating/refreshing grid, compare two groups of tradesposted in Questions & Answers
By the way you can try the "iExposure" indicator, it comes with MT4
-
RE: self updating/refreshing grid, compare two groups of tradesposted in Questions & Answers
There is no such thing
There is a block that calculates this, but everything that it does is hidden from other blocks.But I was thinking about that, I have 2 ways of doing it and I can't decide which is better. I mean... to get data from group of trades - profit, count, average profit, stuff like this.
- In Condition, adding the ability to filter trades as a group and get some property.
- Similar to trade loop, using block like "Select Group of Trades" to select the group of trades and calculate all the properties, then getting properties from special category in Condition.
Why I can't decide which one to do...
- If you have selected the same group of trades in both sides of Condition, it will recalculate the same stuff twice. Not to mention if you have other Condition blocks. This will make the EA slow on backtest. Also the need to set filters again and again...
- In this way you can calculate all parameters once in a single block "Select Group of Trades" and then use any parameter multiple times without making the EA increasingly slower. The problem is that many people will not get the idea. And the other problem appears when you want to compare things from two groups of trades - when you get properties in Condition, which group they belongs to?
-
RE: Closing trades for no reasonposted in Bug Reports
You have trades closed by EA, not by SL or TP? This is interesting, because I can't see any block able to do that in these, and I don't think that is possible. The MQL4 function that closes trades "OrderClose()" exists in the code, but it can run only in when Virtual stops are used (when USE_VIRTUAL_STOPS is "yes"). You don't use Virtual stops, so I think that is something else.
Do you have another EA running in background, some that you forgot that is there and now it does some bad things?
-
RE: Can not upload new indicator to My Indicatorsposted in Questions & Answers
Thanks! I think it's ok now.
-
RE: Every "N" Barsposted in Questions & Answers
Now study this: https://fxdreema.com/demo/mt4-wrong-closing-rule
many people think that some block should wait for some time and then it will pass and go to the next block. Not true, this does not happen at all. What really happens is that blocks under "on Tick" become active on every tick, again and again, and again, and again - the very same blocks. Well, those on top level at least.
There is no block that will wait 15 candles for something. Blocks work NOW, at the moment. If it's some condition - it works now. If you want to check the current indicator values, fine. If you want to check past indicator values - also fine. Checking future indicator values... no way.
And because so many people think the wrong way, which is in fact the most intuitive way, I thought that I can make it that way... but then I realized that this is not a good idea for some reasons.
So again, you can check anything using the "Condition" block NOW, but the "Condition" block will not wait for the comparison inside to happen. The only block that can wait for some time (but not waiting for something to happen) is called "Delay".
What you can do is to check for crossover NOW and also check for the other indicator 15 candles in the past. Just thing in the opposite way.
Why is that better? Because MetaTrader already have history data that can be accessed. Also because saying that you want to check something in the future requires the use of some variables - the problem here is that if you restart the EA those variables will be gone, they are not persistent. But if you check the past data, in case you restart the EA, that data will still be there and the same, so the EA will continue working as before.
-
RE: self updating/refreshing grid, compare two groups of tradesposted in Questions & Answers
I decided to create some EA builder when I found myself trying to create multifunctional EA back then

"Comment on chart"?