Help! How to set a stop loss that does NOT trigger when the price is reached, but instead ONLY if the candle can CLOSE past that level.
Code the stop level as a variable and then test if your close is beyond this point. Obviously, you wouldn't send this stop level to the broker but I would recommend retaining an actual stop loss at some safe distance.... would hate to lose your connection when reliant on the EA to close.
hth
V
int stopValue = 1.2345; // example int oldTime; init(){ oldTime = Time[0]); // set your time watcher return(0); } start(){ ... // Do your stuff to make a trade, close in profit, etc if(oldTime != Time[0]){ // suddenly there is a new bar, so the old current bar just closed if(Close[1] > stopValue){ // and if the close is above your stop CloseTrades(); // close your trade } } oldTime = Time[0]; // reset the time watcher so any new trades won't close with stopValue during this bar return(0); }
if(Close[1] > stopValue){ // and if the close is above your stop CloseTrades();
This line does the same thing. The first tick of the new bar sees Close[1] triggers stop so executes the order close. Job done....
V
Thought Experiment:
Bid = 1.2500 Close[1] = 1.2550
short at 1.2500, 20 pip stop...
What happens?
During the next tick (or even the same tick) your simplification exits the trade.
I stop out the trade ONLY if price can CLOSE past my stop level.
Thought Experiment:
Bid = 1.2500 Close[1] = 1.2550
short at 1.2500, 20 pip stop...
What happens?
During the next tick (or even the same tick) your simplification exits the trade.
Thunk and understood... I normally wait for my third or forth back test before working things like that out :)
V
Thank you so much for responding. I would have wrote back sooner, but for some reason I didn't get an email telling me that there were replies.
Ok, so it can be done. But I need a little more help on implementing this. Even though I've been trading using MT4 for a couple of years, I'm not a programmer, and don't use EA's.
The way you wrote it out is assuming that the trade is also executed by the EA. However, most of my trades are either entered manually, or by orders that I have set manually. What i would like, is to be able to set the regular stop in MT4 for emergencies, and then also add the stop based on close to these trades. How can I do this?
Thank you so much for helping, I was going crazy with this!
At the top of the hour manually send an order to close if your conditions are met.
At the top of the hour manually send an order to close if your conditions are met.
The only reason I am not using that approach is because I enter about 30 new trades a day, all that i have to manually enter at that time. Some of the trades are open for days to weeks. This means I have over 100 trades open at the same time. It would be nearly impossible to manually manage them all in a timely fashion whilst also entering my new positions. All of this would have to be done almost simultaneously. That's why i'm trying to automate it some way.
Do you have any other ideas?
Thanks.
Write code to send an order to close if your conditions are met.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
I have been trading for a while now and one technique I use for my stops, is that I stop out the trade ONLY if price can CLOSE past my stop level. However, it doesn't seem that MT4 has a built in function for this. I have been looking all over the internet for quite some time and cannot find any solution. Please help. Is there an EA or something out there can enable a stop loss like this?