[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 830
![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
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
This is taken from Moving Average.mq4
There were no such strings )) You must have changed the EA code yourself some time ago, and now you're guided by these entries yourself )
Sorry, maybe I've got it wrong. I based my code on Moving Average.mq4 and made changes on it.
I'm not Russian and sometimes it's hard for me to describe what I want.
I am not Russian and sometimes I find it hard to describe what I want.
But until you describe what you want, it's just hard to help you
You have two signals
double tr0=iCustom(NULL,0, "trd",0,0);//may be 0 or 1 . If 1, then buy
double tr1=iCustom(NULL,0, "trd",1,0);//may be 0 or 1. If 1 we sell
I will talk about selling
When tr1 is equal to 1 after the next tick, then the check starts at the time t to see if the unit will hold since t for the time period tim . The check is carried out at intervals of time delta. As an example we take t=........ //10.00 hour, tim = 600 sec, delta = 60 sec. So at 10.00 there is tr1=1 (before it was 0). But we will not sell it. The sale will be confirmed if the signal reaches 600 sec, i.e. 10.10. The check is not performed all the time, but in time intervals delta=60 sec (10.00, 10.01, 10.02, ....... , 10.09, 10.10). And if at each check tr1=1, then we give a sell signal.
There is also a disadvantage - zero can appear between each check and the signal may be false. Checks can be simplified, but the computer gets very busy. You should find the golden mean in this case and see what happens. This is all for experimentation.
There are two signals
double tr0=iCustom(NULL,0, "trd",0,0);//may be 0 or 1 . If 1 we buy
double tr1=iCustom(NULL,0, "trd",1,0);//may be 0 or 1. If 1 we sell
It is not clear, can two different (contradictory) signals be received at the same time?
It is not clear, can two different (conflicting) signals be received at the same time?
No, it is not. They are taken from different buffers and only one of them can get one. Possible combinations
tr0 0 1 0
tr1 0 0 1
1 and 1 is an impossible combination
Check with each tick, not at discrete intervals
Sorry if I've made a mistake.
No, it can't. They are taken from different buffers and only one of them can give 1. Possible combinations
tr0 0 1 0
tr1 0 0 1
1 and 1 is an impossible combination
signal == 1.
activate the override timer.
if signal == 1. do not set the override timer.
if signal == -1, then reset the Buy timer and set the Buy timer to Buy.
if the signal == -1. do not touch the sell timer.
if the signal came 0 reset both timers to zero.
If timer counts down for 5 minutes, then we're good to go.
The signal sig_bye== 1. If 0 the timer does not start
set the bay timer.
If signal ==1, leave the bay timer idle.
If the signal sig_bai== 0. then reset the bay timer.
timer counts down 5 minutes at intervals of, let's say, one minute twice, so we'll work in bai.
When signal sig_beam goes off== 1. If 0, timer won't start.
turn on the timer sel.
If the signal Sat_en_esel==1, leave the sleep timer idle.
If a Sig_sel==0 signal arrived, reset the selftimer.
the timer counts down for 5 minutes at one minute intervals, say twice a minute, then reset.
Check with each tick, not at discrete intervals
Sorry if I've made a mistake.
All ticks are unacceptable.