<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Forex Software — SessionIgnore Weekdays?]]></title>
		<link>https://forexsb.com/forum/topic/7865/sessionignore-weekdays/</link>
		<atom:link href="https://forexsb.com/forum/feed/rss/topic/7865/" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in SessionIgnore Weekdays?.]]></description>
		<lastBuildDate>Sat, 22 Jun 2019 11:18:00 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: SessionIgnore Weekdays?]]></title>
			<link>https://forexsb.com/forum/post/56037/#p56037</link>
			<description><![CDATA[<p>it seems that the code is working correct..</p>]]></description>
			<author><![CDATA[null@example.com (Roughey)]]></author>
			<pubDate>Sat, 22 Jun 2019 11:18:00 +0000</pubDate>
			<guid>https://forexsb.com/forum/post/56037/#p56037</guid>
		</item>
		<item>
			<title><![CDATA[SessionIgnore Weekdays?]]></title>
			<link>https://forexsb.com/forum/post/56036/#p56036</link>
			<description><![CDATA[<p>Hi,</p><p>i want to modify ea that i can switch between Ignore Trading days. So that ea will not trade at special weekdays.</p><div class="codebox"><pre><code>//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool IsOutOfSession()
  {
   MqlDateTime time0; TimeToStruct(Time[0],time0);
   int weekDay           = time0.day_of_week;
   long timeFromMidnight = Time[0]%86400;
   int periodLength      = PeriodSeconds(_Period);
   bool skipTrade        = false;

   if(weekDay==0)
     {
      if(sessionIgnoreSunday) return true;
      int lastBarFix=sessionCloseAtSessionClose ? periodLength : 0;
      skipTrade=timeFromMidnight&lt;sessionSundayOpen || timeFromMidnight+lastBarFix&gt;sessionSundayClose;
     }
   else if(weekDay&lt;5)
     {
      int lastBarFix=sessionCloseAtSessionClose ? periodLength : 0;
      skipTrade=timeFromMidnight&lt;sessionMondayThursdayOpen || timeFromMidnight+lastBarFix&gt;sessionMondayThursdayClose;
     }
   else
     {
      int lastBarFix=sessionCloseAtFridayClose || sessionCloseAtSessionClose ? periodLength : 0;
      skipTrade=timeFromMidnight&lt;sessionFridayOpen || timeFromMidnight+lastBarFix&gt;sessionFridayClose;
     }

   return (skipTrade);
  }</code></pre></div><p>i checked the code how can we change it.</p><p>adding this </p><div class="codebox"><pre><code>const bool sessionIgnoreSunday        = true;
const bool sessionIgnoreMonday        = true;
const bool sessionIgnoreTuesday       = true;
const bool sessionIgnoreWednesday     = true;
const bool sessionIgnoreThursday      = true;
const bool sessionIgnoreFriday        = true;</code></pre></div><p>changed it to</p><div class="codebox"><pre><code>//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool IsOutOfSession()
  {
   MqlDateTime time0; TimeToStruct(Time[0],time0);
   int weekDay           = time0.day_of_week;
   long timeFromMidnight = Time[0]%86400;
   int periodLength      = PeriodSeconds(_Period);
   bool skipTrade        = false;

   if(weekDay==0)
     {
      if(sessionIgnoreSunday) return true;
      int lastBarFix=sessionCloseAtSessionClose ? periodLength : 0;
      skipTrade=timeFromMidnight&lt;sessionSundayOpen || timeFromMidnight+lastBarFix&gt;sessionSundayClose;
     }
   if(weekDay==1)
     {
      if(sessionIgnoreMonday) return true;
      int lastBarFix=sessionCloseAtSessionClose ? periodLength : 0;
      skipTrade=timeFromMidnight&lt;sessionMondayThursdayOpen || timeFromMidnight+lastBarFix&gt;sessionMondayThursdayClose;
     }
   if(weekDay==2)
     {
      if(sessionIgnoreTuesday) return true;
      int lastBarFix=sessionCloseAtSessionClose ? periodLength : 0;
      skipTrade=timeFromMidnight&lt;sessionMondayThursdayOpen || timeFromMidnight+lastBarFix&gt;sessionMondayThursdayClose;
     }
   if(weekDay==3)
     {
      if(sessionIgnoreWednesday) return true;
      int lastBarFix=sessionCloseAtSessionClose ? periodLength : 0;
      skipTrade=timeFromMidnight&lt;sessionMondayThursdayOpen || timeFromMidnight+lastBarFix&gt;sessionMondayThursdayClose;
     }  
   if(weekDay==4)
     {
      if(sessionIgnoreThursday) return true;
      int lastBarFix=sessionCloseAtSessionClose ? periodLength : 0;
      skipTrade=timeFromMidnight&lt;sessionMondayThursdayOpen || timeFromMidnight+lastBarFix&gt;sessionMondayThursdayClose;
     }
   if(weekDay==5)
     {
      if(sessionIgnoreFriday) return true;
      int lastBarFix=sessionCloseAtSessionClose ? periodLength : 0;
      skipTrade=timeFromMidnight&lt;sessionFridayOpen || timeFromMidnight+lastBarFix&gt;sessionFridayClose;
     }                       
   else if(weekDay&lt;5)
     {
      int lastBarFix=sessionCloseAtSessionClose ? periodLength : 0;
      skipTrade=timeFromMidnight&lt;sessionMondayThursdayOpen || timeFromMidnight+lastBarFix&gt;sessionMondayThursdayClose;
     }
   else
     {
      int lastBarFix=sessionCloseAtFridayClose || sessionCloseAtSessionClose ? periodLength : 0;
      skipTrade=timeFromMidnight&lt;sessionFridayOpen || timeFromMidnight+lastBarFix&gt;sessionFridayClose;
     }

   return (skipTrade);
  }</code></pre></div><p>Does it work correctly?</p>]]></description>
			<author><![CDATA[null@example.com (Roughey)]]></author>
			<pubDate>Fri, 21 Jun 2019 12:47:30 +0000</pubDate>
			<guid>https://forexsb.com/forum/post/56036/#p56036</guid>
		</item>
	</channel>
</rss>
