Hi @titangeorge!
So basically the system tries to pinpoint daily highs and lows and trade them? I'd love to see some backtest results on this
Hi @titangeorge!
So basically the system tries to pinpoint daily highs and lows and trade them? I'd love to see some backtest results on this
Block IDs set the procedure when one block triggers multiple blocks.
This setup will have an SL:

This setup will NOT have any SL:

However, I don't bother fixing the block IDs in my projects, as I constantly copy and rearrange multiple blocks. A somewhat clearer way is to take the "Loop (pass n times)" block and set the looping cycle 1. This block will now set the procedure regardless of the block IDs.
This setup will have SL:

what software you you use to backtest accurately
mt5 lol
@crazycnw Those are just moving averages (of the price) displayed in a "wrong" window.

@fxgjg If you have some conditions (e.g. check for loss), you must check those conditions on every tick, and only filter the trade execution.
In short, move your filter block down in the chain.
@titangeorge This is pretty much how I would do it
@anse33 Square brackets refer to individual array elements. For example, array[1] will return the second element for an array, because the indexing starts at 0.
Now, if there are no open orders, OrdersTotal() will be 0.
This:
[OrdersTotal()-1]
will return value of -1. Arrays don't have negative indexes - its out of array range.
Try adding a trade count filter before the block in question.
@khalids222 You want to check if candle crosses 10-MA?
Don't use candle body size, or candle total size.
Those are sizes, not levels.
If you want to take action when a candle touches moving average, a solution is to use two conditions:
if candle open > MA, then
if candle close < MA
-> take action
another case:
if candle open < MA, then
if candle close > MA
-> take action
If you do want to check candle size, dont use cross.
Crossing condition will always compare a candle with the previous candle, it doesn't compare intra-candle values.
@khalids222 When working with candle crosses, you probably want a confirmed cross. This is why you should use ID1, the completed candle.
Why are you measuring candle size? Isn't it the level you are interested in?
@khalids222 The "level" on moving average is just a deviation.
Compare 14-MA with 200 level with the Envelopes indicator (period 14, deviation 0.200.
They are the same thing.
@khalids222 What? 200-day level? You mean the 200-day moving average?
@pan4pips This is the setting I mean. Put 1 there, its 0 by default.

@pan4pips If you are trading a crossover, make sure to use Candle ID 1 in the settings. The crossover can happen while the candle is still moving, and its not always visible in the final candle (this is the "bug").
@fabiobioware Here for mt5: https://fxdreema.com/shared/SkvHsECkb
The problem with this is, you can never know if its correlation or causation.
When the RSI moves different directions, 99.99% of the time its just random noise, maybe 0.000001% of time actual direct influence.
@fabiobioware I don't see why you would want to compare RSI between different instruments, especially on tick-by-tick basis...
Anyway, this is how I would do it:
https://fxdreema.com/shared/vELOLN2Xd
You dont have to store each value into a variable, only the difference is important.
how does the candle id work
Current candle is candle ID 0
Last completed candle is ID 1
2 candles back = candle id 2
4 candles back = candle id 4
2 candles into the future = candle id -2
4 candles id into the future = candle id -4
@brianharig I think it is technically working, but the problem is the variable SL.
Trailing stop will never increase your SL. But the ATR increases when the price moves, and it increases even more because you multiply it. The trailing system can't update the SL, to protect your trade.
Try using candle ID 1 on the ATR, maybe it helps. Also, make sure the "trailing start" is set up as you want it.