[WARNING CLOSED!] Any newbie question, so as not to clutter up the forum. Professionals, don't go by. Can't go anywhere without you. - page 1069
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Let's perform a simple experiment proving that the drawdown in a separate (each) trade does NOT show up on the balance/equity graph.
Let's write an Expert Advisor of two lines of code:
Let's run it on the EURUSD D1 chart from May 1, 2010 to August 1, 2010. It will have to buy EUR at 1.2200 without a stop and close the position at take profit at 1.3000 We will see the drawdown on the balance/equity chart and on the visualization chart:
As you can see, on the visualization chart (upper in the screenshot) drawdown is visible, and on the balance/equity chart it is NOT. There is only one trade there. Let's look at the tester report:
In the tester report, the drawdown is FIGURING.
I hope the question is now cleared?
.
Perhaps, there is a question "WHY is it done that way?" This is a question not for us, the users, but for MT4 developers. In my opinion, this is wrong because the balance/equity chart does not show overbetting.
Colleagues, maybe someone has come across this.
Is there a limit to the number of files opened at the same time? 4 is OK, 5 is open, but it doesn't write to it. I can't figure out what's wrong.
There is a problem. A deal should be opened when passing through the upper (buy) or lower (sell) boundary of the indicator corridor.
double barier = 0.08; // boundaries of the corridor.
R() - indicator function
Function for checking the condition of crossing the upper or lower bound ary:
int RFilter()
{
if ( R(2)> -barier && R(1) < -barier ) return (-1);
if ( R(2)< barier && R(1) > barier ) return (1);
}
The Expert Advisor opens a position immediately when the indicator passes a boundary (irrespective of which one). If it is up - buy, if it is down - sell.
There is a problem. The deal should be opened when passing through the upper (buy) or lower (sell) boundary of the indicator corridor.
...
It actually happens that the EA opens a position immediately when the indicator passes the boundary (it doesn't matter which one). If it goes up - buy, if it goes down - sell.
Question for connoisseurs
Can I create my own trading tool for my tester?
Replace EURUSD30_2.fxt with mine or something else.
metaquotes\tester\history\EURUSD30_2.fxt
I tried to create simple_csv2fxt, but tester has replaced the file with its own one.
Maybe someone has some experience of creation, thank you.
Increase the value of the barier variable slightly
Not helpful. Could it be due to a sign assignment error?
You can read coffee grounds or something else, as there is obviously not enough information.
1. an indicator or oscillator:
2. If oscillator, does it have limits or not? If it does, what are its highs and lows?
3. Perhaps the problem lies not in the code of the above function but in the code of its interpretation?
Since there are no telepaths here, and all the necessary information you have is classified, the question is the answer. I.e. based on the information you provided, increasing the variable should have solved the problem.
You can read coffee grounds or something else, as there is clearly insufficient information.
1. an indicator or oscillator:
2. If it is an oscillator, is it limited or not? If it does, what are its maximum and minimum?
3. Perhaps the problem lies not in the code of the above function, but in the code of its interpretation?
Since there are no telepaths here and you have all the necessary information classified as secret, the question is the answer. I.e. at a glance, judging by the information you provide, increasing the variable should have solved the problem.
This is an indicator with the following formula:
double R(int shift)}
Constraints: (-1;1)
This is an indicator with this formula:
double R(int shift)}
Constraints: (-1;1)
Your function must work correctly according to the conditions mentioned in the comments:
int RFilter()
{
if ( R(2)> -barier && R(1) < -barier ) return (-1); // Short pose if the indicator value on the previous bar is higher than the lower bar and the current one is lower than this bar
if ( R(2)< barier && R(1) > barier ) return (1); // Long pose if the indicator value is below the upper barrier on the previous bar and is above it on the current bar
return(0); // Do nothing in all other cases.
}
Then your function should work correctly for the conditions in the comments:
int RFilter()
{
if ( R(2)> -barier && R(1) < -barier ) return (-1); // Short pose, if the indicator value on the previous bar is higher than the lower bar and the current one is lower than this bar
if ( R(2)< barier && R(1) > barier ) return (1); // Long pose if the indicator value is below the upper barrier on the previous bar and is above it on the current bar
return(0); // No action in all other cases.
}