Stop below low of previous candle
24 replies
slowbutsure
10 years ago #112031
Hi
Can anyone help with how I tell EA Wizard to place a stop loss below the low of the 2nd candle back?
Thanks
Mark Fric
10 years ago #124111
Hello,
the problem is indeed in pips and functions around them.
You have defined
PipDistance = (Open[1] – Close[1])
and then you have in condition (not exactly the same way, but same effect):
IF (PipDistance > 15)
This will never be true, because PipDistance is in “real” pips.
Open[1] is for example 1.6234, Close[1] could be 1.6111.
So PipDistance = 1.6234 – 1.6111 = 0.0123, and 0.0123 will never be bigger than 15.
There are two possibilities which are both correct:
1, use function ConvertToPips() for PipDistance, for example
IF ConvertToPips(PipDistance) > 15
this will work, because the function will convert “real” pips value 0.0123 to 123 pips, so it will compare 123 > 15
2. use funciton ConvertToRealPips() for the right side of comparison, example:
IF PipDistance > ConvertToRealPips(15)
this will work as well, because in this case 15 pips will be converted to “real” pips value, which is 0.0015. So it will compare 0.0123 > 0.0015
I hope it is clear now how it works with pips and prices.
.
Mark
StrategyQuant architect
slowbutsure
10 years ago #124115
IM just a bit confused with it. Could you fix the file I uploaded and then I will see what you have done.
Thanks
Mark Fric
10 years ago #124117
Hello,
I’m posting corrected strategy.But you should try to understand my explanation in the previous post, otherwise you’ll not be able to use the program.
Mark
StrategyQuant architect
slowbutsure
10 years ago #124120
Thanks, I do want to understand it. However, the version you gave still doesn’t enter any trades.
slowbutsure
10 years ago #124121
In the first rule, you have convert to pips, and in the second convert to real pips. Could that be the issue?
slowbutsure
10 years ago #124144
Mark, I’m going away soon and would really like to do this before I do, if you have time to respond. thanks.
Mark Fric
10 years ago #124174
Hello,
in the strategy I didn’t check for logic, only for how you use the pips values.
I found several problems in the strategy:
1. problem with variable types – I added ConvertToPips function to the PipDistance assign variable, because it was type int, it cannot hold the difference in prices which is decimal.
2. you had a condition there High[0] > High[0] which is never true, I deleted it
3. you also had PipDistance = Open[1] – Close[1], but in the IF condition you compte it only if Close[1] > Open[1] so this difference is always negative number, which would never be bigger than 15.
So I changed the order in the subtraction to PipDistance = Close[1] – Open[1]
Mark
StrategyQuant architect
mantadiver
9 years ago #124699
I am trying to do a similar thing but applying a buffer to the entry price rather than a stoploss.
The example shows how to work with a variable and I can see how to do this with a stop or limit order but I want to code it so that the strategy enters at (let’s say) last high + 1 pip. This will likely be too close within the spread to place a stop order so I need a way to say – enter at market when price reaches last high + 1 pip.
I cannot see how to do this in the THEN area with a market order so I assume it needs to be an IF statement.
I’m sure it’s really simple but would appreciate pointing in the right direction.
Many thanks.
Mark Fric
9 years ago #124732
Hello,
see the attached sample. If you want to enter at market then you have to make a condition that checks if price reached last High + 1 pip.
Mark
StrategyQuant architect