Hi funyoo.
I am not a coder at all
Can you fix the code below for three time session

here is your code tried to modify for three time session but if select true more than one session
does not trade at all but if i select one session true out of three then work fine
sorry for my poor english


extern string timefilter="Time Filter";

extern int gmtshift=1; // gmt offset of the broker

extern bool Trade_Asian_market=false; // enable time filter
extern int starthour=7; // start hour to trade after this hour
extern int startminutes=0; // minutes of the start hour
extern int endhour=21; // stop to trade after this hour
extern int endminutes=0; // minutes of the start hour

extern bool Trade_Euro_market=false; // enable time filter
extern int starthour2=7; // start hour to trade after this hour
extern int startminutes2=0; // minutes of the start hour
extern int endhour2=21; // stop to trade after this hour
extern int endminutes2=0; // minutes of the start hour

extern bool Trade_Ny_market=false; // enable time filter
extern int starthour3=5; // start hour to trade after this hour
extern int startminutes3=0; // minutes of the start hour
extern int endhour3=20; // stop to trade after this hour
extern int endminutes3=0; // minutes of the start hour


int nstarthour,nendhour,nstarthour2,nendhour2,nstartho ur3,nendhour3,nfridayhour;

string istarthour,istartminutes,iendhour,iendminutes,ista rthour2,istartminutes2,iendhour2,iendminutes2,ista rthour3,istartminutes3,iendhour3,iendminutes3,ifri dayhour,ifridayminutes;

datetime tstart,tend,tstart2,tend2,tstart3,tend3,tfriday;



if(Trade_Asian_market){
nstarthour=starthour+(gmtshift);if(nstarthour>23)n starthour=nstarthour-24;
if(nstarthour<10)istarthour="0"+nstarthour;
if(nstarthour>9)istarthour=nstarthour;
if(startminutes<10)istartminutes="0"+startminutes;
if(startminutes>9)istartminutes=startminutes;
tstart=StrToTime(istarthour+":"+istartminutes);

nendhour=endhour+(gmtshift);if(nendhour>23)nendhou r=nendhour-24;
if(endhour<10)iendhour="0"+nendhour;
if(endhour>9)iendhour=nendhour;
if(endminutes<10)iendminutes="0"+endminutes;
if(endminutes>9)iendminutes=endminutes;
tend=StrToTime(iendhour+":"+iendminutes);
}

if(Trade_Euro_market){
nstarthour2=starthour2+(gmtshift);if(nstarthour2>2 3)nstarthour2=nstarthour2-24;
if(nstarthour2<10)istarthour2="0"+nstarthour2;
if(nstarthour2>9)istarthour2=nstarthour2;
if(startminutes2<10)istartminutes2="0"+startminute s2;
if(startminutes2>9)istartminutes2=startminutes2;
tstart2=StrToTime(istarthour2+":"+istartminutes2);

nendhour2=endhour2+(gmtshift);if(nendhour2>23)nend hour2=nendhour2-24;
if(endhour2<10)iendhour2="0"+nendhour2;
if(endhour2>9)iendhour2=nendhour2;
if(endminutes2<10)iendminutes2="0"+endminutes2;
if(endminutes2>9)iendminutes2=endminutes2;
tend2=StrToTime(iendhour2+":"+iendminutes2);
}

if(Trade_Ny_market){
nstarthour3=starthour3+(gmtshift);if(nstarthour3>2 3)nstarthour3=nstarthour3-24;
if(nstarthour3<10)istarthour3="0"+nstarthour3;
if(nstarthour3>9)istarthour3=nstarthour3;
if(startminutes3<10)istartminutes3="0"+startminute s3;
if(startminutes3>9)istartminutes3=startminutes3;
tstart3=StrToTime(istarthour3+":"+istartminutes3);

nendhour3=endhour3+(gmtshift);if(nendhour3>23)nend hour3=nendhour3-24;
if(endhour3<10)iendhour3="0"+nendhour3;
if(endhour3>9)iendhour3=nendhour3;
if(endminutes3<10)iendminutes3="0"+endminutes3;
if(endminutes3>9)iendminutes3=endminutes3;
tend3=StrToTime(iendhour3+":"+iendminutes3);
}

if(fridayfilter){
nfridayhour=fridayhour+(gmtshift);if(nfridayhour>2 3)nfridayhour=nfridayhour-24;
if(nfridayhour<10)ifridayhour="0"+nfridayhour;
if(nfridayhour>9)ifridayhour=nfridayhour;
if(fridayminutes<10)ifridayminutes="0"+fridayminut es;
if(fridayminutes>9)ifridayminutes=fridayminutes;
tfriday=StrToTime(ifridayhour+":"+ifridayminutes);
}


if((Trade_Asian_market && (nstarthour<nendhour && TimeCurrent()<tstart || TimeCurrent()>tend) || (nstarthour>nendhour && TimeCurrent()<tstart && TimeCurrent()>tend))
|| (tradesunday==false && DayOfWeek()==0) || (fridayfilter && DayOfWeek()==5 && TimeCurrent()>tfriday))

return(0);





if((Trade_Euro_market && (nstarthour2<nendhour2 && TimeCurrent()<tstart2 || TimeCurrent()>tend2) || (nstarthour2>nendhour2 && TimeCurrent()<tstart2 && TimeCurrent()>tend2))
|| (tradesunday==false && DayOfWeek()==0) || (fridayfilter && DayOfWeek()==5 && TimeCurrent()>tfriday))

return(0);



if((Trade_Ny_market && (nstarthour3<nendhour3 && TimeCurrent()<tstart3 || TimeCurrent()>tend3) || (nstarthour3>nendhour3 && TimeCurrent()<tstart3 && TimeCurrent()>tend3))
|| (tradesunday==false && DayOfWeek()==0) || (fridayfilter && DayOfWeek()==5 && TimeCurrent()>tfriday))

return(0);