X-Account-Key: account7
X-UIDL: 1265977600.4531.mail41,S=237853
X-Mozilla-Status: 0001
X-Mozilla-Status2: 10000000
X-Mozilla-Keys:                                                                                 
Return-Path: <sentto-12111071-106522-1265977592-ron=lightpatch.com@returns.groups.yahoo.com>
Delivered-To: ron@1166093.1882787
Received: (qmail 4521 invoked by uid 78); 12 Feb 2010 12:26:40 -0000
Received: from unknown (HELO cloudmark1) (10.49.16.77)
  by 0 with SMTP; 12 Feb 2010 12:26:40 -0000
Return-Path: <sentto-12111071-106522-1265977592-ron=lightpatch.com@returns.groups.yahoo.com>
Received: from [66.163.169.79] ([66.163.169.79:30270] helo=n53d.bullet.mail.sp1.yahoo.com)
	by cm-mr3 (envelope-from <sentto-12111071-106522-1265977592-ron=lightpatch.com@returns.groups.yahoo.com>)
	(ecelerity 2.2.2.41 r(31179/31189)) with ESMTP
	id 91/F2-04973-DF8457B4; Fri, 12 Feb 2010 07:26:39 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoogroups.com; s=lima; t=1265977597; bh=X9piHhaY7DagcO/dwS8v7OMQG/sxzcMuJ6h7wytSNZg=; h=Received:Received:X-Yahoo-Newman-Id:X-Sender:X-Apparently-To:X-Received:X-Received:X-Received:X-Received:X-Originating-Email:Message-ID:X-Received:X-Priority:To:X-Mailer:X-OriginalArrivalTime:X-Originating-IP:X-eGroups-Msg-Info:From:X-Yahoo-Profile:Sender:MIME-Version:Mailing-List:Delivered-To:List-Id:Precedence:List-Unsubscribe:Date:Subject:X-Yahoo-Newman-Property:Reply-To:Content-Type; b=R2op2hC93QO21iLP2ulzwHknHLyfPbitJ7h46zjNqTfSax25xX9dsEbOL9GC+r4eVWTP2QRegF92yee6aYDl11tJ8OD9bBX1C95AsYHI3x1PkKW4WVBSV493FSXJz2lX
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=lima; d=yahoogroups.com;
	b=nYEgn0ExP1HGVbyNWdN+Ql/9BhmMIC5H2efkOJyxfFEAbT7TSlFaH+WBOBDeXqAIg7D2ZTAOI2pwW2g3AXmsYh+16gAydkvCCt4QM6gAJbQAuj1C6LNBkK3Ngn+o/1yJ;
Received: from [69.147.65.147] by n53.bullet.mail.sp1.yahoo.com with NNFMP; 12 Feb 2010 12:26:37 -0000
Received: from [66.196.94.62] by t10.bullet.mail.sp1.yahoo.com with NNFMP; 12 Feb 2010 12:26:36 -0000
X-Yahoo-Newman-Id: 12111071-m106522
X-Sender: dmoser71@hotmail.com
X-Apparently-To: MetaTrader_Experts_and_Indicators@yahoogroups.com
X-Received: (qmail 30916 invoked from network); 12 Feb 2010 12:24:00 -0000
X-Received: from unknown (66.196.94.105)
  by m12.grp.re1.yahoo.com with QMQP; 12 Feb 2010 12:24:00 -0000
X-Received: from unknown (HELO blu0-omc3-s27.blu0.hotmail.com) (65.55.116.102)
  by mta1.grp.re1.yahoo.com with SMTP; 12 Feb 2010 12:24:00 -0000
X-Received: from BLU0-SMTP81 ([65.55.116.73]) by blu0-omc3-s27.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.3959);
	 Fri, 12 Feb 2010 04:23:33 -0800
X-Originating-Email: [dmoser71@hotmail.com]
Message-ID: <BLU0-SMTP81E464A1E8A4C4AABCD96FCB4D0@phx.gbl>
X-Received: from [192.168.0.198] ([218.212.52.134]) by BLU0-SMTP81.blu0.hotmail.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959);
	 Fri, 12 Feb 2010 04:23:29 -0800
X-Priority: 1
To: MetaTrader_Experts_and_Indicators@yahoogroups.com
X-Mailer: Apple Mail (2.1077)
X-OriginalArrivalTime: 12 Feb 2010 12:23:31.0490 (UTC) FILETIME=[304CA820:01CAABDE]
X-Originating-IP: 65.55.116.102
X-eGroups-Msg-Info: 1:12:0:0:0
From: David Moser <dmoser71@hotmail.com>
X-Yahoo-Profile: dmoser71
Sender: MetaTrader_Experts_and_Indicators@yahoogroups.com
MIME-Version: 1.0
Mailing-List: list MetaTrader_Experts_and_Indicators@yahoogroups.com; contact MetaTrader_Experts_and_Indicators-owner@yahoogroups.com
Delivered-To: mailing list MetaTrader_Experts_and_Indicators@yahoogroups.com
List-Id: <MetaTrader_Experts_and_Indicators.yahoogroups.com>
Precedence: bulk
List-Unsubscribe: <mailto:MetaTrader_Experts_and_Indicators-unsubscribe@yahoogroups.com>
Date: Fri, 12 Feb 2010 20:23:04 +0800
Subject: [MT_E and I] SPH 4.4 Major Update
X-Yahoo-Newman-Property: groups-email-ff-m
Reply-To: MetaTrader_Experts_and_Indicators@yahoogroups.com
Content-Type: multipart/mixed;
 boundary="Apple-Mail-76--92624078"
X-Antivirus: AVG for E-mail 9.0.733 [271.1.1/2683]

--Apple-Mail-76--92624078
Content-Type: multipart/alternative;
 boundary="Lbt-CIY9Pk2kyp4g6gjWgd-UN93tL7VCweP4CNu"

--Lbt-CIY9Pk2kyp4g6gjWgd-UN93tL7VCweP4CNu
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable

Greetings, traders!

Spike, Tom B, Peter W and myself have been working on an updated version of=
 the Stoch Power Hedger EA over the holidays.  This version has a few major=
 code updates.  The most visible update is in that all trades in a BUY or S=
ELL set have their TP and SL synchronized now.  Rather than depending on th=
e EA to close out trades, trades will remain in play until Stop Loss or Tak=
e Profit is hit for the set as a whole.  Also, there was recently a change =
in the public GMT time source, so this EA is updated to use the latest time=
 source information to determine your GMT offset automatically.  The EA wil=
l also only check the public time source at most, once per week, instead of=
 each time the EA is started.  Tom and I also fixed a few small bugs in the=
 code here and there that give the EA a more robust implementation.

Special thanks to Tom B for the TP/SL synchronization code.
Special thanks to Peter W for the embedded set file capability.
and of course, special thanks to Spike for providing the latest set files t=
o be embedded into the EA.

This version has the following enhancements and updates:

-- Corrected error with maxtrades greater then stop loss.
All trades now use level 1 stop loss and highest level take profit.

-- New function to embed all Spike's set files for the major supported curr=
encies:
USDJPY, AUDUSD, EURAUD, EURCAD, EURCHF, EURUSD, GBPCHF, USDCAD, USDCHF

-- Latest set files are now embedded into the EA.

-- Fixed divide by zero error when MaxTrades=3D0 and mm=3D2, removed
the MagicMigrate extern since no longer needed.  Merged in Tom B & Peter Wu=
's
changes and tweaked for proper integration. Merged in Spike's latest set fi=
les.
Updated MaxDDControl/MaxDDPercent control code to use MathAbs, so positive =
or=20
negative values can be correctly interpreted.

######################################################################
Frequently asked questions about Stoch Power Hedger (SPH):

Q1. How much does SPH cost?  Where can I get it from?
A1. Stoch Power Hedger (SPH) is FREE.  Please do not sell this EA because i=
t is free. You can find the EA files attached to this e-mail or at http://w=
ww.forexmt4.com/PlumCrazy/

Q2. What time frame chart should I run this EA on?
A2. Any time frame chart is fine.  The EA is coded to the correct timeframe=
 internally.  Most people run the EA on H1 charts.

Q3. Can I run this EA on MT4 brokers in the United States?=20
A3. Probably not.  This EA hedges and the hedging strategy helps reduce dra=
w down in some cases.  Splitting the EA into buy-only and sell-only account=
s will require more margin funds and is not advisable.

Q4. How much leverage is required?
A4. This EA operates best with 200:1 leverage or higher.  It will not be po=
ssible to run this EA on accounts limited to 10:1 leverage as the CFTC is p=
roposing for US-based FOREX brokers.

Q5. What currencies are currently supported?
A5. SPH 4.4 is optimized to run on USDJPY, AUDUSD, EURAUD, EURCAD, EURCHF, =
EURUSD, GBPCHF, USDCAD, USDCHF.

Q6. What amount of equity is required to run SPH 4.4?
A6. For a standard micro account (10 cent PIPs), about $1000 per currency t=
raded.  Nano accounts (1 cent PIPs or penny PIPs), closer to $100 per curre=
ncy traded.  More is obviously better. See the next question for more detai=
ls on this.

Q7: How much risk is the EA exposing me to?
A7: Load SPH EA on a chart and there will be two DD percentages shown at th=
e end of the lot sizing sequences.  This is the maximum draw down per set o=
f trades opened.  So, if you see 17% and 15%, then the buy set will have a =
max 17% DD if all positions opened against a trend and hit their stop loss.=
. the sell set will have a max 15% DD if all positions opened against a tr=
end and hit their stop loss.  The chances of hitting both stop losses is al=
most nonexistent because if you hit SL on buys, you will be hitting TP on s=
ells.  This is the percentage of your account equity at stake as of the tim=
e the trade sequence first opens.  If you have 5 charts open and each chart=
 is 15%, then you could lose up to 75% of your account balance in a worst c=
ase scenario.

Q8. Where are all the set files?
A8. The set file parameters are now built into SPH 4.4!  If you drop the EA=
 on the chart on a supported currency pair, and just use the default settin=
gs, the EA will automatically apply the best set file parameters to its tra=
ding algorithm, with a maximum 15% drawdown per chart, per direction.  If y=
our account balance is too small, then the EA will risk more than 15% of yo=
ur account balance using the minimum lot sizes.  See question 4 above about=
 this issue of risk.

Q9. Can I trade other currencies?
A9. Yes, but you must set USE_INTERNAL_AUTO_PAIR_SETTINGS to false, and the=
n configure the EA inputs yourself.

Q10. Can I backtest SPH 4.4?
A10. Yes, just set USE_INTERNAL_AUTO_PAIR_SETTINGS to false and backtest li=
ke any other EA by tweaking the various inputs.

Q11. What is Secure Profit Protection (SPP) and how does it work?
A11. Secure Profit Protection is an exit strategy to get out of trades near=
 to break even when a trend moves against the open positions.  After a set =
number of trades have opened, SPP will become activated and will close all =
the trades when the profit for all the trades is close to break even.  Some=
 pairs automatically invoke SPP if this strategy improves the profitability=
 of backtest results.

Q12. What is My Money Profit Target (MMPT) and how does it work?
A12. My Money Profit Target will close all open trades and disable the EA o=
nce the EA has earned a certain amount of profit.  It adds up all the profi=
t and loss from its trading history and then adds in the profit and loss fo=
r any open positions.  As soon as the SPH EA achieves the MMPT, the EA will=
 close all the open trades and disable itself.  So, if you set the EA's ini=
tial MMPT to $5000 and the EA disables itself, you will need to increase th=
at number to, say $6000, and restart the EA for it to continue trading.  Th=
en, SPH will trade until it reaches $6000 of profit and then will disable i=
tself again.  This is not used by default and cannot be used with internal =
set file parameters at this time.

Q13. What is Draw Down Control and how does it work?
A13. The EA can monitor open drawdown every time a data tick is processed. =
 If the EA exceeds a money threshold or a percentage threshold, it will imm=
ediately close all open trades and disable itself.  For example, if you set=
 MaxDDControl to true, and set MaxAllowedDD to $500, then the EA will close=
 all trades and disable itself the moment DD is $500 or greater.  Same hold=
s true for MaxPercentDDControl, except that you can specify a maximum DD pe=
rcentage threshold, say 25%, instead.  This is not used by default and cann=
ot be used with internal set file parameters at this time.
######################################################################

--Lbt-CIY9Pk2kyp4g6gjWgd-UN93tL7VCweP4CNu
Content-Type: text/html; charset=US-ASCII
Content-Transfer-Encoding: 7bit




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>







<body style="background-color: #fff;">
<span style="display:none">&nbsp;</span>

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="position:relative;">
  <div id="ygrp-msg" style="z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text" >
      
      
      <p>Greetings, traders!<br>
<br>
Spike, Tom B, Peter W and myself have been working on an updated version of the Stoch Power Hedger EA over the holidays.  This version has a few major code updates.  The most visible update is in that all trades in a BUY or SELL set have their TP and SL synchronized now.  Rather than depending on the EA to close out trades, trades will remain in play until Stop Loss or Take Profit is hit for the set as a whole.  Also, there was recently a change in the public GMT time source, so this EA is updated to use the latest time source information to determine your GMT offset automatically.  The EA will also only check the public time source at most, once per week, instead of each time the EA is started.  Tom and I also fixed a few small bugs in the code here and there that give the EA a more robust implementation.<br>
<br>
Special thanks to Tom B for the TP/SL synchronization code.<br>
Special thanks to Peter W for the embedded set file capability.<br>
and of course, special thanks to Spike for providing the latest set files to be embedded into the EA.<br>
<br>
This version has the following enhancements and updates:<br>
<br>
-- Corrected error with maxtrades greater then stop loss.<br>
All trades now use level 1 stop loss and highest level take profit.<br>
<br>
-- New function to embed all Spike's set files for the major supported currencies:<br>
USDJPY, AUDUSD, EURAUD, EURCAD, EURCHF, EURUSD, GBPCHF, USDCAD, USDCHF<br>
<br>
-- Latest set files are now embedded into the EA.<br>
<br>
-- Fixed divide by zero error when MaxTrades=0 and mm=2, removed<br>
the MagicMigrate extern since no longer needed.  Merged in Tom B &amp; Peter Wu's<br>
changes and tweaked for proper integration. Merged in Spike's latest set files.<br>
Updated MaxDDControl/<wbr>MaxDDPercent control code to use MathAbs, so positive or <br>
negative values can be correctly interpreted.<br>
<br>
############<wbr>#########<wbr>#########<wbr>#########<wbr>#########<wbr>#########<wbr>#########<wbr>####<br>
Frequently asked questions about Stoch Power Hedger (SPH):<br>
<br>
Q1. How much does SPH cost?  Where can I get it from?<br>
A1. Stoch Power Hedger (SPH) is FREE.  Please do not sell this EA because it is free. You can find the EA files attached to this e-mail or at <a href="http://www.forexmt4.com/PlumCrazy/">http://www.forexmt4<wbr>.com/PlumCrazy/</a><br>
<br>
Q2. What time frame chart should I run this EA on?<br>
A2. Any time frame chart is fine.  The EA is coded to the correct timeframe internally.  Most people run the EA on H1 charts.<br>
<br>
Q3. Can I run this EA on MT4 brokers in the United States? <br>
A3. Probably not.  This EA hedges and the hedging strategy helps reduce draw down in some cases.  Splitting the EA into buy-only and sell-only accounts will require more margin funds and is not advisable.<br>
<br>
Q4. How much leverage is required?<br>
A4. This EA operates best with 200:1 leverage or higher.  It will not be possible to run this EA on accounts limited to 10:1 leverage as the CFTC is proposing for US-based FOREX brokers.<br>
<br>
Q5. What currencies are currently supported?<br>
A5. SPH 4.4 is optimized to run on USDJPY, AUDUSD, EURAUD, EURCAD, EURCHF, EURUSD, GBPCHF, USDCAD, USDCHF.<br>
<br>
Q6. What amount of equity is required to run SPH 4.4?<br>
A6. For a standard micro account (10 cent PIPs), about $1000 per currency traded.  Nano accounts (1 cent PIPs or penny PIPs), closer to $100 per currency traded.  More is obviously better. See the next question for more details on this.<br>
<br>
Q7: How much risk is the EA exposing me to?<br>
A7: Load SPH EA on a chart and there will be two DD percentages shown at the end of the lot sizing sequences.  This is the maximum draw down per set of trades opened.  So, if you see 17% and 15%, then the buy set will have a max 17% DD if all positions opened against a trend and hit their stop loss... the sell set will have a max 15% DD if all positions opened against a trend and hit their stop loss.  The chances of hitting both stop losses is almost nonexistent because if you hit SL on buys, you will be hitting TP on sells.  This is the percentage of your account equity at stake as of the time the trade sequence first opens.  If you have 5 charts open and each chart is 15%, then you could lose up to 75% of your account balance in a worst case scenario.<br>
<br>
Q8. Where are all the set files?<br>
A8. The set file parameters are now built into SPH 4.4!  If you drop the EA on the chart on a supported currency pair, and just use the default settings, the EA will automatically apply the best set file parameters to its trading algorithm, with a maximum 15% drawdown per chart, per direction.  If your account balance is too small, then the EA will risk more than 15% of your account balance using the minimum lot sizes.  See question 4 above about this issue of risk.<br>
<br>
Q9. Can I trade other currencies?<br>
A9. Yes, but you must set USE_INTERNAL_<wbr>AUTO_PAIR_<wbr>SETTINGS to false, and then configure the EA inputs yourself.<br>
<br>
Q10. Can I backtest SPH 4.4?<br>
A10. Yes, just set USE_INTERNAL_<wbr>AUTO_PAIR_<wbr>SETTINGS to false and backtest like any other EA by tweaking the various inputs.<br>
<br>
Q11. What is Secure Profit Protection (SPP) and how does it work?<br>
A11. Secure Profit Protection is an exit strategy to get out of trades near to break even when a trend moves against the open positions.  After a set number of trades have opened, SPP will become activated and will close all the trades when the profit for all the trades is close to break even.  Some pairs automatically invoke SPP if this strategy improves the profitability of backtest results.<br>
<br>
Q12. What is My Money Profit Target (MMPT) and how does it work?<br>
A12. My Money Profit Target will close all open trades and disable the EA once the EA has earned a certain amount of profit.  It adds up all the profit and loss from its trading history and then adds in the profit and loss for any open positions.  As soon as the SPH EA achieves the MMPT, the EA will close all the open trades and disable itself.  So, if you set the EA's initial MMPT to $5000 and the EA disables itself, you will need to increase that number to, say $6000, and restart the EA for it to continue trading.  Then, SPH will trade until it reaches $6000 of profit and then will disable itself again.  This is not used by default and cannot be used with internal set file parameters at this time.<br>
<br>
Q13. What is Draw Down Control and how does it work?<br>
A13. The EA can monitor open drawdown every time a data tick is processed.  If the EA exceeds a money threshold or a percentage threshold, it will immediately close all open trades and disable itself.  For example, if you set MaxDDControl to true, and set MaxAllowedDD to $500, then the EA will close all trades and disable itself the moment DD is $500 or greater.  Same holds true for MaxPercentDDControl<wbr>, except that you can specify a maximum DD percentage threshold, say 25%, instead.  This is not used by default and cannot be used with internal set file parameters at this time.<br>
############<wbr>#########<wbr>#########<wbr>#########<wbr>#########<wbr>#########<wbr>#########<wbr>####<br>
</p>

    </div>
     

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div style="color: #fff; height: 0;">__._,_.___</div>

        
  
   
    <div id="ygrp-actbar" style="clear: both; margin-bottom: 10px; white-space: nowrap; color: #666; padding-top: 15px;">
      <div>
        <a href="mailto:dmoser71@hotmail.com?subject=SPH 4.4 Major Update">
          Reply to <span style="font-weight: 700;">sender</span></a>
          | <a href="mailto:MetaTrader_Experts_and_Indicators@yahoogroups.com?subject=SPH 4.4 Major Update">
        Reply to <span style="font-weight: 700;">group</span></a>
      </div>

                <a href="http://groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/message/106522;_ylc=X3oDMTM5YWFtNmptBF9TAzk3MzU5NzE0BGdycElkAzEyMTExMDcxBGdycHNwSWQDMTcwNTAwMTc4MARtc2dJZAMxMDY1MjIEc2VjA2Z0cgRzbGsDdnRwYwRzdGltZQMxMjY1OTc3NTkzBHRwY0lkAzEwNjUyMg--">Messages in this topic</a>
          (<span style="font-weight: 700;">1</span>)
          </div> 
<!------- Start Nav Bar ------>
<!-- |**|begin egp html banner|**| -->
<!-- |**|end egp html banner|**| -->

<!-- |**|begin egp html banner|**| -->
<div id="ygrp-vital" style="background-color: #e0ecee; font-family: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;">
      <span id="vithd" style="font-weight: bold; color: #333; text-transform: uppercase; ">Recent Activity:</span>

    <ul style="list-style-type: none; margin: 0; padding: 0; display: inline;">
            <li style="border-right: 1px solid #000; font-weight: 700; display: inline; padding: 0 5px; margin-left: 0;">
      <span class="cat"><a href="http://groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/members;_ylc=X3oDMTJnZmMyYm9nBF9TAzk3MzU5NzE0BGdycElkAzEyMTExMDcxBGdycHNwSWQDMTcwNTAwMTc4MARzZWMDdnRsBHNsawN2bWJycwRzdGltZQMxMjY1OTc3NTkz?o=6" style="text-decoration: none;">New Members</a></span>
      <span class="ct" style="color: #ff7900;">33</span>
    </li>
                                              </ul>
    
  <div style="clear: both; padding-top: 2px; color: #1e66ae;">
    <a href="http://groups.yahoo.com/group/MetaTrader_Experts_and_Indicators;_ylc=X3oDMTJmb2xyajhiBF9TAzk3MzU5NzE0BGdycElkAzEyMTExMDcxBGdycHNwSWQDMTcwNTAwMTc4MARzZWMDdnRsBHNsawN2Z2hwBHN0aW1lAzEyNjU5Nzc1OTM-" style="border-right: 1px solid #000; padding-right: 5px; margin-right: 2px; text-decoration: none;">Visit Your Group</a>
    <a href="http://groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/post;_ylc=X3oDMTJmaTZzdjQ2BF9TAzk3MzU5NzE0BGdycElkAzEyMTExMDcxBGdycHNwSWQDMTcwNTAwMTc4MARzZWMDZnRyBHNsawNudHBjBHN0aW1lAzEyNjU5Nzc1OTM-" style="font-weight: 700; text-decoration: none;">Start a New Topic</a>
  </div>
</div>

        <div id="ygrp-grft" style="font-family: Verdana; font-size: 12px; padding: 15px 0;">
      
<!-- |**|begin egp html banner|**| -->

      For archives of Experts and Indicators from the MetaTrader Experts and Indicators Group, See <a href="http://www.ForexMT4.com/mt_yahoo/">http://www.ForexMT4.com/mt_yahoo/</a><BR>
      
<!-- |**|end egp html banner|**| -->

    </div>
            <div id="ygrp-mkp" style="border: 1px solid #d8d8d8; clear: both; float: left; font-family: Arial; margin: 5px 0 10px 0; padding: 0 10px;">
      <div id="hd" style="color: #628c2a; font-size: 85%; font-weight: 700; line-height: 122%; margin: 10px 0;">MARKETPLACE</div>
      <div id="ads" style="margin-bottom: 10px;">
                  <div class="ad" style="color: #628C2A; font-family: Arial; font-weight: 700; padding: 0 0;">
            <p><a href="http://us.ard.yahoo.com/SIG=14kecfg0e/M=493064.13814333.13821539.13298430/D=groups/S=1705001780:MKP1/Y=YAHOO/EXP=1265984795/L=/B=nxNrC0SO53c-/J=1265977595782102/K=cpPedFW5.oa7gj3Ip994wA/A=5922843/R=0/SIG=11ckn2mo6/*http://advision.webevents.yahoo.com/green/">Going Green: Your Yahoo! Groups resource for green living</a></p>          </div>
                              </div>
    </div>
  
<div id="ft" style="font-family: Arial; font-size: 11px; margin-top: 5px; padding: 0 2px 0 0; clear: both;">
  <a href="http://groups.yahoo.com/;_ylc=X3oDMTJlNTQ3anY5BF9TAzk3MzU5NzE0BGdycElkAzEyMTExMDcxBGdycHNwSWQDMTcwNTAwMTc4MARzZWMDZnRyBHNsawNnZnAEc3RpbWUDMTI2NTk3NzU5Mw--" style="float: left;"><img src="http://l.yimg.com/a/i/us/yg/logo/us.gif" height="15" width="137" alt="Yahoo! Groups" style="border: 0;"/></a>
  <div style="color: #747575; float: right;">Switch to: <a href="mailto:MetaTrader_Experts_and_Indicators-traditional@yahoogroups.com?subject=Change Delivery Format: Traditional" style="text-decoration: none;">Text-Only</a>, <a href="mailto:MetaTrader_Experts_and_Indicators-digest@yahoogroups.com?subject=Email Delivery: Digest" class="margin-rt" style="text-decoration: none;">Daily Digest</a> &bull; <a href="mailto:MetaTrader_Experts_and_Indicators-unsubscribe@yahoogroups.com?subject=Unsubscribe" style="text-decoration: none;">Unsubscribe</a> &bull; <a href="http://docs.yahoo.com/info/terms/" style="text-decoration: none;">Terms of Use</a></div>
</div>

<!-- |**|end egp html banner|**| -->

  </div> <!-- ygrp-msg -->

  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px 0; background: #fff;">

<!-- Start Recommendations -->
<div id="ygrp-reco">
     </div>
<!-- End Recommendations -->



  </div>   <!-- |**|end egp html banner|**| -->

  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
</div>

  <img src="http://geo.yahoo.com/serv?s=97359714/grpId=12111071/grpspId=1705001780/msgId=106522/stime=1265977593/nc1=4507179/nc2=4025321/nc3=3848642" width="1" height="1"> <br>

<div style="color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->

</body>

<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
  <style type="text/css">
  <!--
  #ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
  #ygrp-sponsor #ygrp-lc {
  font-family: Arial;
}

#ygrp-sponsor #ygrp-lc #hd {
  margin: 10px 0px;
  font-weight: 700;
  font-size: 78%;
  line-height: 122%;
}

#ygrp-sponsor #ygrp-lc .ad {
  margin-bottom: 10px;
  padding: 0 0;
}

  a {
    color: #1e66ae;
  }

  #actions {
    font-family: Verdana;
    font-size: 11px;
    padding: 10px 0;
  }

  #activity {
    background-color: #e0ecee;
    float: left;
    font-family: Verdana;
    font-size: 10px;
    padding: 10px;
  }

  #activity span {
    font-weight: 700;
  }

  #activity span:first-child {
    text-transform: uppercase;
  }

  #activity span a {
    color: #5085b6;
    text-decoration: none;
  }

  #activity span span {
    color: #ff7900;
  }

  #activity span .underline {
    text-decoration: underline;
  }

  .attach {
    clear: both;
    display: table;
    font-family: Arial;
    font-size: 12px;
    padding: 10px 0;
    width: 400px;
  }

  .attach div a {
    text-decoration: none;
  }

  .attach img {
    border: none;
    padding-right: 5px;
  }

  .attach label {
    display: block;
    margin-bottom: 5px;
  }

  .attach label a {
    text-decoration: none;
  }
  
  blockquote {
    margin: 0 0 0 4px;
  }

  .bold {
    font-family: Arial;
    font-size: 13px;
    font-weight: 700;
  }

  .bold a {
    text-decoration: none;
  }

  dd.last p a {
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span {
    margin-right: 10px;
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span.yshortcuts {
    margin-right: 0;
  }

  div.attach-table div div a {
    text-decoration: none;
  }

  div.attach-table {
    width: 400px;
  }

  div.file-title a, div.file-title a:active, div.file-title a:hover, div.file-title a:visited {
    text-decoration: none;
  }

  div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div.photo-title a:visited {
    text-decoration: none;
  }

  div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
  }

  .green {
    color: #628c2a;
  }

  .MsoNormal {
    margin: 0 0 0 0;
  }

  o {
    font-size: 0;
  }

  #photos div {
    float: left;
    width: 72px;
  }

  #photos div div {
    border: 1px solid #666666;
    height: 62px;
    overflow: hidden;
    width: 62px;
  }

  #photos div label {
    color: #666666;
    font-size: 10px;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    width: 64px;
  }

  #reco-category {
    font-size: 77%;
  }

  #reco-desc {
    font-size: 77%;
  }

  .replbq {
    margin: 4px;
  }

  #ygrp-actbar div a:first-child {
   /* border-right: 0px solid #000;*/
    margin-right: 2px;
    padding-right: 5px;
  }

  #ygrp-mlmsg {
    font-size: 13px;
    font-family: Arial, helvetica,clean, sans-serif;
    *font-size: small;
    *font: x-small;
  }

  #ygrp-mlmsg table {
    font-size: inherit;
    font: 100%;
  }

  #ygrp-mlmsg select, input, textarea {
    font: 99% Arial, Helvetica, clean, sans-serif;
  }

  #ygrp-mlmsg pre, code {
    font:115% monospace;
    *font-size:100%;
  }

  #ygrp-mlmsg * {
    line-height: 1.22em;
  }

  #ygrp-mlmsg #logo {
    padding-bottom: 10px;
  }

  #ygrp-mlmsg a {
    color: #1E66AE;
  }

  #ygrp-msg p a {
    font-family: Verdana;
  }

  #ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: 700;
  }

  #ygrp-reco #reco-head {
    color: #ff7900;
    font-weight: 700;
  }

  #ygrp-reco {
    margin-bottom: 20px;
    padding: 0px;
  }

  #ygrp-sponsor #ov li a {
    font-size: 130%;
    text-decoration: none;
  }

  #ygrp-sponsor #ov li {
    font-size: 77%;
    list-style-type: square;
    padding: 6px 0;
  } 

  #ygrp-sponsor #ov ul {
    margin: 0;
    padding: 0 0 0 8px;
  }

  #ygrp-text {
    font-family: Georgia;
  }

  #ygrp-text p {
    margin: 0 0 1em 0;
  }

  #ygrp-text tt {
    font-size: 120%;
  }

  #ygrp-vital ul li:last-child {
    border-right: none !important; 
  } 
  -->
  </style>
</head>

<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->


--Lbt-CIY9Pk2kyp4g6gjWgd-UN93tL7VCweP4CNu--

--Apple-Mail-76--92624078
Content-Disposition: attachment;
	filename=Stoch_Power_Hedger_V4.4.ex4
Content-Type: application/octet-stream;
	name="Stoch_Power_Hedger_V4.4.ex4"
Content-Transfer-Encoding: base64

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
cmV2ZXJzZTQ0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAAAAAAAOwBAACMAwAAAAAAAAAAAABS
ZXZlcnNlQ29uZGl0aW9uAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAA9AEAAAAAAAAAAAAAAAAAAGxp
bWl0b3JkZXI0NAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAAAAAAD4AQAAxAMAAAAAAAAAAAAAU2V0
TGltaXRPcmRlcnMAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAACAAAAAAAAAAAAAAAAAAABAAAA
PBIAAAACWwJTdG9jaF9Qb3dlcl9IZWRnZXJfVjQuNABMYXN0IFVwZGF0ZWQ6IDEyIEZlYiAyMDEw
AC0tLS1TVE9DSCBTRVRUSU5HUy0tAC1DaG9vc2UgMT1tb2RlIFNNQSwgMj1tb2RlIExXTUEsIDM9
bW9kZSBFTUEsIDQ9bW9kZSBTTU1BAC0tRU5WRUxPUEUgU0VUVElOR1MtLQBpZy0tTU9WSU5HIEFW
RVJBR0UgU0VUVElOR1MtLQAtLVRSQURFIFNFVFRJTkdTLS0AIC0tTU9ORVkgTUFOQUdFTUVOVC0t
AC0tLW1tPTAsIHJpc2sgaXMgaWdub3JlZCwganVzdCB1c2UgTG90cyBwYXJhbWV0ZXIACm1tPTEs
IHJpc2sgaXMgYmFzaWMgbXVsdGlwbGllciBiYXNlZCBvbiBhY2NvdW50IGJhbGFuY2UAbW09Miwg
cmlzayBpcyAlIG9mIGFjY291bnQgYmFsYW5jZSB0byByaXNrIHBlciBzZXF1ZW5jZQBzZXQgcmlz
ayB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyBsb3Qgc2l6ZQBvUy0tTUFHSUMgTlVNQkVSUy0tAGlu
LS1DVVRMT1NTIFNFVFRJTkctLQBJZiBwcm9maXQgbWFkZSBpcyBiaWdnZXIgdGhhbiBTZWN1cmVQ
cm9maXQgd2UgY2xvc2UgdGhlIG9yZGVycwAATnVtYmVyIG9mIG9yZGVycyB0byB0cmlnZ2VyIFNQ
IFByb3RlY3Rpb24AAAAtLVRSQURJTkcgVElNRSBNQU5BR0VNRU5ULS0AU2V0IHRpbWUgZnJhbWVz
IHdoZW4gbmV3IHRyYWRlcyBjYW4gb3Blbi4ALS1JZiBTdGFydGhvdXIgPSBTdG9waG91ciwgdGhl
biB0cmFkZSAyNC81LgAgIElmIFRUTUdvRmxhdD10cnVlLCBjbG9zZSBhbGwgb3BlbiB0cmFkZXMA
dCCpd2hlbiBvdXRzaWRlIHRyYWRpbmcgaG91cnMgb3IgZGF5cy4ALS1EUkFXRE9XTiBDT05UUk9M
IFRPT0wtLQB1b01heCBERCBpbiBtb25leSBhbGxvd2VkPwAtLS1NYXggREQgaW4gcGVyY2VudGFn
ZSBhbGxvd2VkPwANCi0tRFJBV0RPV04gUkVQT1JUSU5HPT0ARS0tT1RIRVIgU0VUVElOR1MtLQBu
SWYgdHJ1ZSwgdGhlIGRlY2lzaW9uIHRvIGdvIGxvbmcvc2hvcnQgd2lsbCBiZSByZXZlcnNlZABp
ZiB0cnVlLCBpbnN0ZWFkIG9wZW4gbWFya2V0IG9yZGVycyBpdCB3aWxsIG9wZW4gbGltaXQgb3Jk
ZXJzIABlRmFsc2UAWwJFcnJvcjogUGFyYW1ldGVyICJBbGxvd0RMTCBJbXBvcnRzIiBtdXN0IGJl
IE9OLgBFQSBEaXNhYmxlZCBkdWUgdG8gRExMIHNldHRpbmcgY29uZmxpY3Qgd2l0aCBVc2VBdXRv
R01UT2Zmc2V0LgAAV2FpdGluZyBmb3IgY29ubmVjdGlvbi4uLgAAAFRydWUAAVsCTWF4REQ6IABN
YXhQZXJjREQ6IABFQSBEaXNhYmxlZCEgQ2hlY2sgSm91cm5hbCBMb2cgZm9yIGRldGFpbHMuCgAA
AABFQSBEaXNhYmxlZCEgQ2hlY2sgRXhwZXJ0cyBMb2cgZm9yIGRldGFpbHMuCgAAAABHVl9DbG9z
ZUFsbEFuZEhhbHQAAEFjY291bnQgU2VudHJ5IFNpZ25hbGVkIHRvIENsb3NlIEFsbCBhbmQgSGFs
dAAAAE15IE1vbmV5IFByb2ZpdCBUYXJnZXQgQWNoaWV2ZWQhAAAAAERyYXdEb3duIFRocmVzaG9s
ZCBCcmVhY2hlZCEAAAAAU3RhcnRpbmcgTmV3IFNFTEwgU2VxdWVuY2UAAFN0YXJ0aW5nIE5ldyBC
VVkgU2VxdWVuY2UAAAAKU2VjdXJlIFByb2ZpdCBQcm90ZWN0aW9uIEFjdGl2ZSBvbiBCVVkgc2Vx
dWVuY2UuAAAAClNlY3VyZSBQcm9maXQgUHJvdGVjdGlvbiBBY3RpdmUgb24gU0VMTCBzZXF1ZW5j
ZS4AAApNeSBNb25leSBQcm9maXQgVGFyZ2V0IFByb2dyZXNzOiAAACBvZiAAAVsCCldBSVRJTkcg
Rk9SIEJVWSBTSUdOQUwuLi4AAApXQUlUSU5HIEZPUiBTRUxMIFNJR05BTC4uLgAuLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uAAAAAApJc1RyYWRlVGltZT0AAAAsIG15T3JkZXJUeXBldG1wPQAA
ACwgU1BQIEVuYWJsZWQ9AAAsIE1NUFQgRW5hYmxlZD0ACkJ1eTogTGFzdCBQcmljZT0AAAAsIExh
c3QgVGltZT0AAAAALCBPcGVuIE1rdCBPcmRlcnM9AAAvAFsCLCBPcGVuIFByb2ZpdD0AAApTZWxs
OiAgTGFzdCBQcmljZT0AVHJhaWxpbmcgU3RvcCBFcnJvciA9IAAATk9UIEVOT1VHSCBNT05FWSBU
TyBPUEVOIFNFTEwgT1JERVIhIE5vIGZ1cnRoZXIgYXR0ZW1wdHMgdG8gb3BlbiBuZXcgdHJhZGVz
IHdpbGwgb2NjdXIuICBNb25pdG9yaW5nIGV4aXN0aW5nIG9yZGVycy4AAAAAU1BIIEVBIABTRUxM
IG9yZGVyIG9wZW5lZCA6IAAAAABNYW51YWwgVHJhZGUgQ29uZmlybWF0aW9uIERpYWxvZyBhYm9y
dGVkLiBObyBTZWxsIFBvc2l0aW9ucyB3aWxsIGJlIGF0dGVtcHRlZCBmb3IgdGhlIG5leHQgMSBo
b3VyLgAARXJyb3Igb3BlbmluZyBTRUxMIG9yZGVyIDogADIwIGF0dGVtcHRzIHRvIG9wZW4gU0VM
TCBwb3NpdGlvbiBoYXZlIGZhaWxlZAAAAE1hbnVhbCBUcmFkZSBDb25maXJtYXRpb24gRGlhbG9n
IGFib3J0ZWQgb3IgaW52YWxpZCB0aWNrZXQuIE5vIFNlbGwgUG9zaXRpb25zIHdpbGwgYmUgYXR0
ZW1wdGVkIGZvciB0aGUgbmV4dCAxIGhvdXIuAAAAAEVycm9yIG1vZGlmeWluZyBTRUxMIG9yZGVy
IDogAAAAQSBDcml0aWNhbCBFcnJvciBPY2N1cnJlZCEgVGhlIGV4cGVydCBjb3VsZCBub3QgbW9k
aWZ5IFNFTEwgcG9zaXRpb24hAAAATk9UIEVOT1VHSCBNT05FWSBUTyBPUEVOIEJVWSBPUkRFUiEg
Tm8gZnVydGhlciBhdHRlbXB0cyB0byBvcGVuIG5ldyB0cmFkZXMgd2lsbCBvY2N1ci4gIE1vbml0
b3JpbmcgZXhpc3Rpbmcgb3JkZXJzLgBCVVkgb3JkZXIgb3BlbmVkIDogAE1hbnVhbCBUcmFkZSBD
b25maXJtYXRpb24gRGlhbG9nIGFib3J0ZWQuIE5vIEJ1eSBQb3NpdGlvbnMgd2lsbCBiZSBhdHRl
bXB0ZWQgZm9yIHRoZSBuZXh0IDEgaG91ci4AAABFcnJvciBvcGVuaW5nIEJVWSBvcmRlciA6IAAA
MjAgYXR0ZW1wdHMgdG8gb3BlbiBCVVkgcG9zaXRpb24gaGF2ZSBmYWlsZWQAAAAATWFudWFsIFRy
YWRlIENvbmZpcm1hdGlvbiBEaWFsb2cgYWJvcnRlZCBvciBpbnZhbGlkIHRpY2tldC4gTm8gQnV5
IFBvc2l0aW9ucyB3aWxsIGJlIGF0dGVtcHRlZCBmb3IgdGhlIG5leHQgMSBob3VyLgBFcnJvciBt
b2RpZnlpbmcgQlVZIG9yZGVyIDogAAAAAGNudD0AAlsCLCBteUJhc2VMb3Q9AAAAACwgQnV5UHJp
Y2U9ACwgdGlja2V0PQAAAEEgQ3JpdGljYWwgRXJyb3IgT2NjdXJyZWQhIFRoZSBleHBlcnQgY291
bGQgbm90IG1vZGlmeSBCVVkgcG9zaXRpb24hAAAAAE1heEREAFsCQi9FAGh0dHA6Ly93d3AuZ3Jl
ZW53aWNobWVhbnRpbWUuY29tL3RpbWUvc2NyaXB0cy9jbG9jay04L3gucGhwAE1vemlsbGEvNC4w
IChjb21wYXRpYmxlOyBNU0lFIDguMDsgV2luZG93cyBOVCA2LjA7IFRyaWRlbnQvNC4wKQBfR01U
T2Zmc2V0X1ZhbHVlAAAAAF9HTVRPZmZzZXRfVGltZXN0YW1wAAAAAENvbm5lY3RpbmcgdG8gcHVi
bGljIEdNVCB0aW1lIHNvdXJjZS4uLgAwAJgCQUJDREVGR0hJSgAARXJyb3IgY29ubmVjdGluZyB0
byBBdXRvR01UIHRpbWUgc291cmNlLgAAAABhYmNkZWZnaGlqAABCL0U6ICQAAkltcGFjdAACUkRE
IE1heDogJAAAJQCYAgpDbG9zaW5nIGFsbCBvcmRlcnMgYW5kIHN0b3AgdHJhZGluZyBiZWNhdXNl
IE15X01vbmV5X1Byb2ZpdF9UYXJnZXQgcmVhY2hlZCBmb3IgdGhpcyBzeW1ib2wuAE5WQUNsb3Np
bmcgYWxsIG9yZGVycyBhbmQgc3RvcCB0cmFkaW5nIGJlY2F1c2UgTXlfTW9uZXlfUHJvZml0X1Rh
cmdldCByZWFjaGVkIGZvciB0aGlzIHN5bWJvbC4AUHJvZml0OiAAAAAAIEVxdWl0eTogAAAACkNs
b3NpbmcgQlVZIG9yZGVycyBiZWNhdXNlIGFjY291bnQgcHJvdGVjdGlvbiB3aXRoIFNlY3VyZVBy
b2ZpdCB3YXMgdHJpZ2dlcmVkLgBDbG9zaW5nIEJVWSBvcmRlcnMgYmVjYXVzZSBhY2NvdW50IHBy
b3RlY3Rpb24gd2l0aCBTZWN1cmVQcm9maXQgd2FzIHRyaWdnZXJlZC4AAEJhbGFuY2U6IAAAACBQ
cm9maXQ6IAAAAApDbG9zaW5nIFNFTEwgb3JkZXJzIGJlY2F1c2UgYWNjb3VudCBwcm90ZWN0aW9u
IHdpdGggU2VjdXJlUHJvZml0IHdhcyB0cmlnZ2VyZWQuAAAAAENsb3NpbmcgU0VMTCBvcmRlcnMg
YmVjYXVzZSBhY2NvdW50IHByb3RlY3Rpb24gd2l0aCBTZWN1cmVQcm9maXQgd2FzIHRyaWdnZXJl
ZC4ACkNsb3Npbmcgb3JkZXJzIGJlY2F1c2Ugb3V0c2lkZSBvZiB0cmFkaW5nIHdpbmRvdy4AAENs
b3Npbmcgb3JkZXJzIGJlY2F1c2Ugb3V0c2lkZSBvZiB0cmFkaW5nIHdpbmRvdy4AAAAgKGF1dG8t
ZmFsbGJhY2spAFNfT0ZhaWx1cmUgZ2V0dGluZyBBdXRvR01Ub2Zmc2V0LCBjYW5ub3Qgb3BlbiB0
aW1lLWJhc2VkIHRyYWRlcyB1bnRpbCBjb25kaXRpb24gY2xlYXJzLgBJRlkgKGF1dG8pAFdBUk5J
Tkc6IFdoZW4gYmFja3Rlc3RpbmcsIG9ubHkgTWFudWFsR01UT2Zmc2V0IHZhbHVlIGNhbiBiZSB1
c2VkLCBlbnN1cmUgaXQgaXMgc2V0IGNvcnJlY3RseSEAACAobWFudWFsKQBSX0dNVCBPZmZzZXQ6
IAAAAAAKQnV5IExvdFNpemluZzogAFJSXywgAAIgQAACJSBNYXggUG90ZW50aWFsIEREAAAKU2Vs
bCAgTG90U2l6aW5nOiAAAApFQSB3aWxsIG5vdCBvcGVuIG5ldyBvcmRlcnMgc2luY2UgTWF4VHJh
ZGVzPTAKTW9uaXRvcmluZyBleGlzdGluZyB0cmFkZXMgdW50aWwgdGhleSBjYW4gYmUgY2xvc2Vk
IG91dAAAZ3ZTUEhfAAJfAJgCQl8AAlNfAAJfQl8AX1NfAExhc3RFcnJvciA9ICgAAAApOiAAU1BI
IDQuMyBMb2cgAOlbAi50eHQABVsCVVNESlBZAAJBVURVU0QAAkVVUkFVRAACRVVSQ0FEAAJFVVJD
SEYAAkVVUlVTRAACR0JQQ0hGAAJVU0RDQUQAAlVTRENIRgACPT09ICAgQ1VSUkVOQ1kgUEFJUiBO
T1QgU1VQUE9SVEVEICAgPT09AAoKPT09ICAgU0VUIEZJTEUgIwAAIExPQURFRCAgID09PQBbAgoA
AADMAQAAJAAAADwAAACgAAAALAEAADQBAABwAQAAuAEAANQBAADwAQAADAIAAJgCAACwAgAA3AIA
ADgDAADgAwAAaAQAAIgEAADABAAABAUAABAFAAAgBQAAKAUAADgFAABcBQAAZAUAAIAFAACcBQAA
zAUAAOwFAAAYBgAANAYAAFwGAABwBgAAhAYAAKQGAACwBgAA0AYAANgGAAAgBwAAKAcAAHAHAACM
BwAAwAcAANwHAADsBwAABAgAAAwIAAAoCAAAMAgAANwIAAAQCQAAHAkAADwJAADUCQAACAoAABQK
AAA0CgAAZAoAAIQKAACUCgAArAoAAAALAAB0CwAArAsAABQNAAC4DQAACA4AACQOAACEDgAAoA4A
AOwOAAD8EQAA7BIAAOATAAD0EwAA5BQAANgVAAAoFgAAOBYAAEgWAABYFgAAaBYAAHwWAACQFgAA
pBYAALgWAAD8GgAAJBsAADQbAABoGwAAgBsAAJgbAACoGwAATBwAAPwcAAAUHQAALB0AADQeAAB4
HgAAkB4AADQfAADkHwAA/B8AABQgAAAcIQAAYCEAAHAhAACAIQAAlCMAAJwkAABgJQAAdCUAAIQl
AACwJQAAzCUAAAAmAAAcJgAAPCYAAJwmAACsJgAAvCYAANQmAABcJwAAmCcAAKAoAADsKAAAoCkA
APApAAAkKgAAcCoAAJQqAACcKgAA9CoAAPwqAAAMKwAAJCsAALQrAAAkLAAAWCwAAMAsAADQLAAA
9CwAAEQtAABULQAAQC8AAEgwAAAMMQAAIDEAADAxAABcMQAAeDEAAKwxAADIMQAA6DEAAEgyAABY
MgAAaDIAAIAyAAAIMwAARDMAAEw0AACYNAAATDUAAJw1AADQNQAAHDYAAEA2AABINgAAoDYAAKg2
AAC4NgAA0DYAAGA3AADQNwAABDgAANQ4AADkOAAACDkAAFg5AABoOQAAxDkAAMw5AAAAOgAAIDoA
ACg6AABoOgAA5DoAACQ7AABIOwAAWDsAAMQ7AADgOwAAFDwAADA8AACcPAAAtD0AANw9AAA0PgAA
dD4AAJg+AACoPgAAFD8AADA/AABkPwAAgD8AAOw/AAAEQQAAnEEAAKxBAADUQQAAAEIAAABDAABs
QwAAhEMAAIBEAACQRAAAsEQAAPREAAAMRQAAUEUAAChIAAA8SAAAnEgAAPBIAAAISQAAEEkAAHRJ
AAA0SgAApEoAADhLAABMSwAAaEsAAMBLAADUSwAA+EsAADBMAAA4TAAAWEwAAGBMAACATAAA9EwA
AEBNAACETQAAOFIAAIxSAACcUgAA4FIAAPBSAAAIUwAAsFMAANRTAADkUwAAKFQAADhUAABQVAAA
+FQAAFBVAADsVgAA/FYAAEBXAABQVwAAaFcAABBYAACoWAAAjFoAAABcAABAXAAAoFwAANBcAABg
XQAAvF8AADhgAAC0YAAAxGAAADxhAABYYQAAaGEAAOxhAAD8YQAAUGIAAPhiAAA4YwAAfGQAAIxk
AAAEZQAAIGUAADBlAAC0ZQAAxGUAABhmAADgZgAAAGcAABBnAACsZwAAXGkAALBpAADAaQAAOGoA
AFhqAABoagAA7GoAAPxqAAB4awAAiGsAAABsAAAcbAAALGwAALBsAADAbAAALG0AADxtAAC8bQAA
zG0AAERuAADUbgAAJG8AAEBvAAB8bwAA4G8AAExwAACwcAAA0HAAAOBwAAAocQAANHEAAEhxAACk
cQAAxHEAAPhxAACIcgAAtHIAAFBzAABkcwAAtHMAAMRzAAAIdAAAQHQAALx0AAAEdQAAIHUAADB1
AACEdQAAqHUAALh1AABgdgAAXHcAAJR3AADkeAAA9HgAADh5AABceQAAeHkAAPx5AABMegAAXHoA
AHR6AADkegAAZHsAAHh7AAAUfAAAYHwAAIh8AACcfAAAQH0AAFB9AADofQAACH8AABh/AACwfwAA
MIAAADCBAABEgQAAVIEAAHiBAADUgQAAHIIAAJiCAACsggAAvIIAABCDAADAgwAAwIUAACiHAABE
hwAAVIcAALSHAAAgiAAAPIgAALCIAAAoiQAATIkAAHyJAACUiQAAxIkAAPSJAAAkigAARIoAAFSK
AADgigAAcIsAAICLAAAMjAAAwI0AANCNAAAwjwAAEJEAACCRAABkkQAAiJEAAMCRAAAQkgAAIJIA
ADySAABMkgAAoJIAALCSAADIkgAAOJMAAOCTAAAElAAAKJQAAHSUAACMlAAA/JQAAAyVAABAlQAA
bJUAAISVAADQlQAA4JUAAFSWAABklgAArJYAAMiWAADYlgAA6JYAAPCWAAA0lwAASJcAAFCXAACU
lwAAPJgAACiaAAD0mwAAMJwAAPydAAA4ngAABKAAAECgAAAMogAASKIAABSkAABQpAAAHKYAAFim
AAAkqAAAYKgAACyqAABoqgAANKwAAAUAAAAPAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABwAA
AAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAABwAAAAUAAABJbnRlcm5ldE9wZW5BAAAA
AAAAAAAAAAAAAAAAAAAAAAoAAAAFAAAADQoNDQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAEludGVybmV0T3BlblVy
bEEAAAAAAAAAAAAAAAAAAAAACgAAAAYAAAAKDQ0KCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8AAAAASW50ZXJuZXRSZWFk
RmlsZQAAAAAAAAAAAAAAAAAAAAAKAAAABAAAAAoNChcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAABJbnRlcm5ldENs
b3NlSGFuZGxlAAAAAAAAAAAAAAAAAAoAAAABAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAEVycm9yRGVz
Y3JpcHRpb24AAAAAAAAAAAAAAAAAAAAADQAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP////8AAAAACwAAABMA
AAALAAAAyAAAABQAAAABAAAA////DwAAAAAAAAAAAAAAAP///w8LAAAAyQAAABgAAAABAAAA////
DwAAAAAAAAAAAAAAAP///w8LAAAAygAAABwAAAABAAAA////DwAAAAAAAAAAAAAAAP///w8LAAAA
ywAAACAAAAABAAAA////DwAAAAAAAAAAAAAAAP///w8KAAAAzAAAACQAAAABAAAA////DwAAAAAA
AAAAAAAAAP///w8LAAAAzQAAACgAAAABAAAA////DwAAAAAAAAAAAAAAAP///w8KAAAA////////
//8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAA/////zQCAAABAAAAAgAAAAAAAAAAAAAAAAAA
AAIAAAAKAAAA/////zgCAAABAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAKAAAA/////zwCAAABAAAA
AgAAAAAAAAAAAAAAAAAAAAIAAAAKAAAA/////0ACAAABAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAK
AAAA/////0QCAAABAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAALAAAA/////0gCAAABAAAAAgAAAAAA
AAAAAAAAAAAAAAIAAAALAAAA/////0wCAAABAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAALAAAA////
/1ACAAABAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAALAAAA/////4QCAAACAAAAZAAAAAIAAAAAAAAA
AAAAAMgAAAAKAAAA/////xQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAA/////wgAAAAB
AAAAZAAAAAAAAAAAAAAAAAAAAGQAAAAKAAAA/////yAAAAABAAAAZAAAAAAAAAAAAAAAAAAAAGQA
AAAGAAAAAgAAAHdpbmluZXQuZGxsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
TAAAAAAAAAAAAAAAAQAAABMAAAANAAAAUAAAAAAAAAAAAAAABAAAABMAAAANAAAAWAAAAAAAAAAA
AAAAHAAAABMAAAANAAAAYAAAAAAAAAAAAAAAOAAAABMAAAAKAAAAaAAAAAAAAAAAAAAAkQAAABMA
AAAKAAAAbAAAAAAAAAAAAAAAFAAAABMAAAAKAAAAcAAAAAAAAAAAAAAAUAAAABMAAAAKAAAAdAAA
AAAAAAAAAAAAPAAAABMAAAAKAAAAeAAAAAAAAAAAAAAABAAAABMAAAAKAAAAfAAAAAAAAAAAAAAA
TgAAABMAAAAKAAAAgAAAAAAAAAAAAAAAFgAAABMAAAANAAAAhAAAAAAAAAAAAAAATAAAABMAAAAK
AAAAjAAAAAAAAAAAAAAAAQAAABMAAAANAAAAkAAAAAAAAAAAAAAAhAAAABMAAAAKAAAAmAAAAAAA
AAAAAAAADgAAABMAAAAKAAAAnAAAAAAAAAAAAAAAoAUAABMAAAANAAAAoAAAAAAAAAAAAAAAnAAA
ABMAAAAKAAAAqAAAAAAAAAAAAAAAPAAAABMAAAAKAAAArAAAAAAAAAAAAAAAvgAAABMAAAAKAAAA
sAAAAAAAAAAAAAAAUAAAABMAAAANAAAAtAAAAAAAAAAAAAAAuAAAABMAAAAKAAAAvAAAAAAAAAAA
AAAAAQAAABMAAAALAAAAwAAAAHsUrkfheoQ/AAAAABMAAAAKAAAAyAAAAAAAAAAAAAAAbgAAABMA
AAALAAAAzAAAADMzMzMzM/s/AAAAABMAAAAKAAAA1AAAAAAAAAAAAAAABgAAABMAAAAKAAAA2AAA
AAAAAAAAAAAAWgAAABMAAAAKAAAA3AAAAAAAAAAAAAAAWAIAABMAAAAKAAAA4AAAAAAAAAAAAAAA
AAAAABMAAAAKAAAA5AAAAAAAAAAAAAAAAAAAABMAAAAMAAAA6AAAAAAAAAAAAAAAAAAAABMAAAAN
AAAA7AAAAAAAAAAAAAAAzAAAABMAAAANAAAA9AAAAAAAAAAAAAAA5AAAABMAAAANAAAA/AAAAAAA
AAAAAAAAFAEAABMAAAANAAAABAEAAAAAAAAAAAAATAEAABMAAAAKAAAADAEAAAAAAAAAAAAAAgAA
ABMAAAANAAAAEAEAAAAAAAAAAAAAhAEAABMAAAALAAAAGAEAAAAAAAAAAC5AAAAAABMAAAAMAAAA
IAEAAAAAAAAAAAAAAAAAABMAAAANAAAAJAEAAAAAAAAAAAAAsAEAABMAAAAKAAAALAEAAAAAAAAA
AAAAOWYDABMAAAANAAAAMAEAAAAAAAAAAAAAxAEAABMAAAAMAAAAOAEAAAAAAAAAAAAAAAAAABMA
AAALAAAAPAEAAAAAAAAAiLNAAAAAABMAAAAMAAAARAEAAAAAAAAAAAAAAAAAABMAAAANAAAASAEA
AAAAAAAAAAAA2AEAABMAAAAKAAAAUAEAAAAAAAAAAAAADwAAABMAAAANAAAAVAEAAAAAAAAAAAAA
GAIAABMAAAAKAAAAXAEAAAAAAAAAAAAAAwAAABMAAAANAAAAYAEAAAAAAAAAAAAARAIAABMAAAAN
AAAAaAEAAAAAAAAAAAAAYAIAABMAAAANAAAAcAEAAAAAAAAAAAAAjAIAABMAAAANAAAAeAEAAAAA
AAAAAAAAuAIAABMAAAANAAAAgAEAAAAAAAAAAAAA5AIAABMAAAAMAAAAiAEAAAAAAAAAAAAAAQAA
ABMAAAAMAAAAjAEAAAAAAAAAAAAAAQAAABMAAAAKAAAAkAEAAAAAAAAAAAAAAwAAABMAAAAKAAAA
lAEAAAAAAAAAAAAAAAAAABMAAAAKAAAAmAEAAAAAAAAAAAAAAAAAABMAAAAMAAAAnAEAAAAAAAAA
AAAAAQAAABMAAAAKAAAAoAEAAAAAAAAAAAAA/////xMAAAAMAAAApAEAAAAAAAAAAAAAAAAAABMA
AAANAAAAqAEAAAAAAAAAAAAACAMAABMAAAANAAAAsAEAAAAAAAAAAAAAJAMAABMAAAAMAAAAuAEA
AAAAAAAAAAAAAAAAABMAAAALAAAAvAEAAAAAAAAAQI/AAAAAABMAAAANAAAAxAEAAAAAAAAAAAAA
QAMAABMAAAAMAAAAzAEAAAAAAAAAAAAAAAAAABMAAAALAAAA0AEAAAAAAAAAAD7AAAAAABMAAAAN
AAAA2AEAAAAAAAAAAAAAYAMAABMAAAAMAAAA4AEAAAAAAAAAAAAAAQAAABMAAAANAAAA5AEAAAAA
AAAAAAAAeAMAABMAAAANAAAA7AEAAAAAAAAAAAAAjAMAABMAAAAMAAAA9AEAAAAAAAAAAAAAAAAA
ABMAAAANAAAA+AEAAAAAAAAAAAAAxAMAABMAAAAMAAAAAAIAAAAAAAAAAAAAAAAAABMAAAAKAAAA
BAIAAAAAAAAAAAAA//8AABMAAAAMAAAAFAIAAAAAAAAAAAAAAAAAABMAAAAMAAAAGAIAAAAAAAAA
AAAAAQAAABMAAAAMAAAAHAIAAAAAAAAAAAAAAAAAABMAAAAMAAAAIAIAAAAAAAAAAAAAAAAAABMA
AAAKAAAAJAIAAAAAAAAAAAAAAAAAABMAAAAKAAAAKAIAAAAAAAAAAAAAAAAAABMAAAAMAAAALAIA
AAAAAAAAAAAAAAAAABMAAAAMAAAAMAIAAAAAAAAAAAAAAAAAABMAAAAPAAAANAIAAAAAAAAAAAAA
AAAAABMAAAAPAAAAOAIAAAAAAAAAAAAAAQAAABMAAAAPAAAAPAIAAAAAAAAAAAAAAgAAABMAAAAP
AAAAQAIAAAAAAAAAAAAAAwAAABMAAAAPAAAARAIAAAAAAAAAAAAABAAAABMAAAAQAAAASAIAAAAA
AAAAAAAABQAAABMAAAAQAAAATAIAAAAAAAAAAAAABgAAABMAAAAQAAAAUAIAAAAAAAAAAAAABwAA
ABMAAAALAAAAVAIAAAAAAAAAAAAAAAAAABMAAAALAAAAXAIAAAAAAAAAAAAAAAAAABMAAAALAAAA
ZAIAAAAAAAAAAAAAAAAAABMAAAALAAAAbAIAAAAAAAAAAAAAAAAAABMAAAALAAAAdAIAAAAAAAAA
AAAAAAAAABMAAAALAAAAfAIAAAAAAAAAAAAAAAAAABMAAAAKAAAAiAIAAAAAAAAAAAAAAAAAABMA
AAAKAAAAjAIAAAAAAAAAAAAAAAAAABMAAAAKAAAAkAIAAAAAAAAAAAAAMgAAABMAAAANAAAA7AIA
AAAAAAAAAAAAAAAAABMAAAANAAAA9AIAAAAAAAAAAAAABAQAABMAAAANAAAA/AIAAAAAAAAAAAAA
BAQAABMAAAANAAAABAMAAAAAAAAAAAAABAQAABMAAAAKAAAAMAMAAAAAAAAAAAAAAAAAABMAAAAN
AAAAOAMAAAAAAAAAAAAA9AsAABMAAAANAAAAQAMAAAAAAAAAAAAAMAwAABMAAAAJAAAAjKwAABIw
IM5JEMaVo4D7kU/beVlcfJWa8wXgtN7PvUS3cVxdudtkLuNzRTNSWS1rg1dvnXMgxpb2IydNNddo
MW7pe7ElOrG1WcafrCLsYjYHHHAQCb6Cvnk835wT5101hUz35TMpU2xrdQOQQ6r1lMNivOPgVmVq
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
gVik3KRb56N3pByP7V0UAGmgoAXNstlvTgNBQSSctbLXRugg/s0/WGF/GB/HtHAux4sxG3CxZFFL
RVFDiKXGduil5FKmtWyVjuxV33c6T7Nqxr+sfu16BgowTLT1nvqe7DnfgHbWEakwTBHnGSZLbAxw
wui4qoGgR2tA4XM3m2KCHLDwkRzno1MomA/Uv/S05DnD5hsC+217+x198V21Mu516NDLDz0EgRwA
P+M1cK7wCpe1XCevbXcJbVtdtfYWtPf4Ki05YFke0XM5baKJNY3UHyiz0HpWX5hMpBjc8t6kof/4
G+ZDK6wMx/WrUUtsFUIKlBg/xSQXajz7URFhan44qPwJe/eTT7YAT+Q86EREXAPmN8L7UQIAAAAJ
AAAACgAAAAIAAAAwC1sCAAAAAAAAAAAKAAAAAgAAAFj0WwIAAAAAAAAAAAoAAAACAAAAcPRbAgAA
AAAAAAAACgAAAAIAAACI9FsCAAAAAAAAAAAKAAAAAgAAAKD0WwIAAAAAAAAAAAoAAAACAAAAuPRb
AgAAAAAAAAAACgAAAAIAAADQ9FsCAAAAAAAAAAAKAAAAAgAAAOj0WwIAAAAAAAAAAAoAAAABAAAA
sKtbAgEAAAAEAAAAJgAAAAwAAABQAAAAWAAAAGAAAACEAAAAkAAAAKAAAAC0AAAA7AAAAPQAAAD8
AAAABAEAABABAAAkAQAAMAEAAEgBAABUAQAAYAEAAGgBAABwAQAAeAEAAIABAACoAQAAsAEAAMQB
AADYAQAA5AEAAOwBAAD4AQAADAIAAOwCAAD0AgAA/AIAAAQDAAAMAwAAFAMAADgDAABAAwAA

--Apple-Mail-76--92624078
Content-Disposition: attachment;
	filename=Stoch_Power_Hedger_V4.4.mq4
Content-Type: application/octet-stream;
	name="Stoch_Power_Hedger_V4.4.mq4"
Content-Transfer-Encoding: quoted-printable

/=
/+------------------------------------------------------------------------=
-----------+=0D=0A//|=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20Stoch_Power_Hedger_V4.4.mq4=20=20|=0D=0A=
//|=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20David=20Moser,=2012/FEB/2010=20|=0D=0A//|=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20dmoser71@gmail.com=20|=0D=0A//|=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20Copyright=20=A9=202009,=20David=20Moser=20|=0D=0A//|=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20|=0D=0A//|=20A=20special=20thanks=20and=20recognition=20to=20=
Forrest=20Miller=20for=20the=20original=20concept,=20=20=20=20=20=20|=0D=0A=
//|=20Wackena,=20and=20Spike=20for=20getting=20SPH=20V3=20code=20to=20=
where=20it=20was,=20and=20to=20the=20=20=20=20=20=20=20=20=20=20=20=20|=0D=
=0A//|=20[MT_E=20and=20I]=20community=20for=20all=20their=20feedback=20=
and=20support=20of=20this=20project!=20=20=20=20=20=20=20=20|=0D=0A//|=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20|=0D=0A//|=20=20forrest@thevision.net=20=20=
wackena@bogie-enterprises.com=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=0D=0A//|=20=20Spike=20=20=
bulldogge1232000@yahoo.com=20=20Peter=20Wu=20=20pwu8@san.rr.com=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=0D=0A=
//+-----------------------------------------------------------------------=
------------+=0D=0A=0D=0A//=20Please,=20do=20not=20sell=20this=20EA=20=
because=20it's=20FREE=20//=0D=0A=0D=0A=
//+-----------------------------------------------------------------------=
------------+=0D=0A//|=20Change=20Log:=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20|=0D=0A//|=2020091007=20(V4.0_Beta1):=20added=20=
AutoGMT=20function,=20reworked=20trading=20hours=20logic,=20and=20=20|=0D=
=0A//|=20restructured=20the=20code=20base=20to=20make=20it=20more=20=
manageable.=20=20Corrected=20the=20prior=20=20=20=20=20=20=20|=0D=0A//|=20=
hacks=20made=20to=20the=20code.=20Program=20core=20completely=20=
re-engineered.=20-David=20Moser=20=20=20=20=20=20=20|=0D=0A//|=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20|=0D=0A//|=2020091008=20(V4.0_Beta1):=20Removed=20the=20=
following=20per=20Spike's=20request:=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20|=0D=0A//|=20AllSymbolsProtect,=20Manual,=20OrdersTimeAlive,=20=
EquityProtection,=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20|=0D=0A//|=20AccountMoneyProtection,=20=
AccountEquityPercentProtection.=20-David=20Moser=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20|=0D=0A//|=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=0D=0A//|=20=
DDControl=20enhanced=20to=20work=20during=20backtest=20or=20during=20=
live=20trading.=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=0D=0A=
//|=20Trading=20hours=20logic=20revamped,=20now=20only=20one=20set=20of=20=
trading=20times=20based=20on=20GMT.=20=20=20=20=20|=0D=0A//|=20System=20=
auto-detects=20account=20type=20and=20adjusts=20risk=20accordingly.=20=
-David=20Moser=20=20=20=20=20=20=20|=0D=0A//|=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=0D=
=0A//|=2020091015:=20(V4.0_Beta2):=20Added=20special=20risk=20management=20=
algorithm=20(mm=3D2),=20plus=20=20=20=20=20=20|=0D=0A//|=20added=20a=20=
trade=20recovery=20feature=20that=20will=20catch=20up=20trades=20missed=20=
during=20non-trade=20=20|=0D=0A//|=20times=20according=20to=20pip=20=
spacing=20rules.=20Added=20additional=20error=20handling=20in=20trade=20=20=
=20=20|=0D=0A//|=20opening=20and=20closing=20routines,=20including=20=
checking=20for=20sufficient=20margin=20to=20open=20=20=20=20|=0D=0A//|=20=
new=20trades.=20Fixed=20Account=20Sentry=20Hook=20so=20that=20the=20EA=20=
will=20close=20all=20trades=20and=20=20=20=20|=0D=0A//|=20remain=20=
disabled.=20Fixed=20My=20Money=20Profit=20Target=20logic.=20Added=20a=20=
Max=20DD=20indicator=20to=20=20|=0D=0A//|=20gauge=20the=20amount=20of=20=
draw=20down=20per=20trade=20sequence=20if=20SL=20is=20hit.=20-David=20=
Moser=20=20=20=20=20=20=20|=0D=0A//|=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=0D=0A//|=20=
20091016:=20(V4.0):=20Removed=20ExitOnStoch=20Parameter,=20added=20=
Strategy=20Parameter=20to=20make=20|=0D=0A//|=20it=20easy=20to=20=
implement=20new=20trading=20strategies.=20=20Made=20the=20Lot=20Size=20=
Array=20sensitive=20=20=20|=0D=0A//|=20to=20account=20draw=20down=20so=20=
that=20trade=20sequence=20sizing=20is=20not=20broken,=20added=20globals=20=
=20=20|=0D=0A//|=20to=20preserve=20lot=20size=20sequences=20between=20=
restarts=20of=20EA.=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20|=0D=0A//|=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=0D=0A=
//|=2020091028:=20(V4.01):=20Fixed=20GMT=20Offset=20bug=20in=20time=20=
management=20code.=20=20Updated=20time=20=20=20=20|=0D=0A//|=20=
management=20parameters=20to=20indicate=20that=20Start/End=20Times=20are=20=
in=20GMT.=20=20Chart=20format=20=20|=0D=0A//|=20improved.=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=0D=0A//|=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20|=0D=0A//|=2020091104:=20(V4.2):=20Fixed=20problem=20where=20=
the=20EA=20would=20not=20close=20out=20trades=20on=20Friday=20|=0D=0A//|=20=
sometimes.=20=20Also,=20added=20a=20new=20parameter=20FridayGMTStopHour=20=
which=20if=20left=20on=20its=20=20=20=20|=0D=0A//|=20default=20of=20-1,=20=
does=20nothing,=20but=20if=20is=20increased=20to=200=20or=20higher,=20=
will=20not=20trade=20=20=20|=0D=0A//|=20on=20Fridays=20starting=20at=20=
that=20hour=20GMT.=20=20If=20used=20with=20TTMGoFlat,=20can=20close=20=
all=20your=20|=0D=0A//|=20positions=20at=20the=20end=20of=20each=20=
trading=20week=20at=20whatever=20GMT=20Hour=20you=20specify.=20=20=20=20=20=
=20=20|=0D=0A//|=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=0D=0A//|=2020091109:=20=
(V4.2):=20Fixed=20problem=20on=204-digit=20brokers=20where=20sometimes=20=
the=20OrderSend=20=20|=0D=0A//|=20&=20Orderclose=20functions=20would=20=
fail=20with=20invalid=20prices.=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=0D=0A//|=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20|=0D=0A//|=2020091126:=20(V4.3):=20Rewrote=20CloseAllOrders=20=
subroutine=20to=20address=20issue=20where=20some=20=20=20|=0D=0A//|=20=
orders=20will=20be=20orphaned=20when=20the=20system=20needs=20to=20close=20=
all=20buy=20or=20sell=20orders.=20=20=20=20|=0D=0A//|=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20|=0D=0A//|=2020091214:=20(V4.3TB):=20Corrected=20error=20with=20=
maxtrades=20greater=20then=20stop=20loss.=20=20=20=20=20=20=20=20|=0D=0A=
//|=20All=20trades=20now=20use=20level=201=20stop=20loss=20and=20highest=20=
level=20take=20profit.=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=0D=0A=
//|=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20|=0D=0A//|=2020102012:=20(V4.4):=20Fixed=20=
divide=20by=20zero=20error=20when=20MaxTrades=3D0=20and=20mm=3D2,=20=
removed=20=20=20|=0D=0A//|=20the=20MagicMigrate=20extern=20since=20no=20=
longer=20needed.=20=20Merged=20in=20Tom=20B=20&=20Peter=20Wu's=20=20=20=20=
=20|=0D=0A//|=20changes=20and=20tweaked=20for=20proper=20integration.=20=
Merged=20in=20Spike's=20latest=20set=20files.=20=20=20|=0D=0A//|=20=
Updated=20MaxDDControl/MaxDDPercent=20control=20code=20to=20use=20=
MathAbs.=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=0D=0A=
//|=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20|=0D=0A=
//+-----------------------------------------------------------------------=
------------+=0D=0A=0D=0A#property=20copyright=20"Copyright=20=A9=20=
2009,=20David=20Moser"=0D=0A#property=20link=20=20=20=20=20=20=
"http://www.ForexMT4.com/mt_yahoo/"=0D=0A=0D=0A#import=20"wininet.dll"=0D=
=0A=20=20=20int=20InternetOpenA(string=20param1,=20int=20param2,=20=
string=20param3,=20string=20param4,=20int=20param5);=0D=0A=20=20=20int=20=
InternetOpenUrlA(int=20param1,=20string=20param2,=20string=20param3,=20=
int=20param4,=20int=20param5,=20int=20param6);=0D=0A=20=20=20int=20=
InternetReadFile(int=20param1,=20string=20paramp,=20int=20param3,=20int=20=
&param4[]);=0D=0A=20=20=20int=20InternetCloseHandle(int=20param1);=0D=0A=
#import=0D=0A=0D=0A#include=20<stderror.mqh>=0D=0A#include=20=
<stdlib.mqh>=0D=0A=0D=0Aextern=20bool=20=20=20=20=20=20=20=20=20=
USE_INTERNAL_AUTO_PAIR_SETTINGS=20=3D=20TRUE;=0D=0Aextern=20string=20=20=20=
=20=20=20=20INFO44=3D"Stoch_Power_Hedger_V4.4";=0D=0Aextern=20string=20=20=
=20=20=20=20=20INFO44LU=3D"Last=20Updated:=2012=20Feb=202010";=0D=0A=
extern=20string=20=20=20=20=20=20=20s01=3D"--STOCH=20SETTINGS--";=0D=0A=
extern=20int=20=20=20=20=20=20=20=20=20=20K_Period=20=3D=20=20=20=20=20=20=
=20=20=20=20=20=20145;=0D=0Aextern=20int=20=20=20=20=20=20=20=20=20=20=
D_Period=20=3D=20=20=20=20=20=20=20=20=20=20=20=20=2020;=0D=0Aextern=20=
int=20=20=20=20=20=20=20=20=20=20Slow_Period=20=3D=20=20=20=20=20=20=20=20=
=20=2080;=0D=0Aextern=20int=20=20=20=20=20=20=20=20=20=20Stoch_TF=20=3D=20=
=20=20=20=20=20=20=20=20=20=20=20=2060;=0D=0Aextern=20int=20=20=20=20=20=20=
=20=20=20=20shift=3D=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
4;=0D=0Aextern=20int=20=20=20=20=20=20=20=20=20=20H_level=20=3D=20=20=20=20=
=20=20=20=20=20=20=20=20=20=2078;=0D=0Aextern=20int=20=20=20=20=20=20=20=20=
=20=20L_level=20=3D=20=20=20=20=20=20=20=20=20=20=20=20=20=2022;=0D=0A=
extern=20string=20=20=20=20=20=20=20ChooseMAMode43=3D"Choose=201=3Dmode=20=
SMA,=202=3Dmode=20LWMA,=203=3Dmode=20EMA,=204=3Dmode=20SMMA";=0D=0A=
extern=20int=20=20=20=20=20=20=20=20=20=20stochMAmode=20=3D=20=20=20=20=20=
=20=20=20=20=20=201;=0D=0A=0D=0Aextern=20string=20=20=20=20=20=20=20=
s02=3D"--ENVELOPE=20SETTINGS--";=0D=0Aextern=20int=20=20=20=20=20=20=20=20=
=20=20ENVELOPE_Slow_Period=20=3D=2014;=0D=0Aextern=20int=20=20=20=20=20=20=
=20=20=20=20ENVELOPE_TF=20=3D=20=20=20=20=20=20=20=201440;=0D=0A=0D=0A=
extern=20string=20=20=20=20=20=20=20s03=3D"--MOVING=20AVERAGE=20=
SETTINGS--";=0D=0Aextern=20int=20=20=20=20=20=20=20=20=20=20MA_TF=20=3D=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=2060;=0D=0Aextern=20int=20=20=20=
=20=20=20=20=20=20=20MA_Long_Period=20=3D=20=20=20=20=20=20190;=0D=0A=
extern=20int=20=20=20=20=20=20=20=20=20=20MA_Short_Period=20=3D=20=20=20=20=
=20=2080;=0D=0A=0D=0Aextern=20string=20=20=20=20=20=20=20s04=3D"--TRADE=20=
SETTINGS--";=0D=0Aextern=20int=20=20=20=20=20=20=20=20=20=20Strategy=20=3D=
=20=20=20=20=20=20=20=20=20=20=20=20=20=201;=20=20=20=20=20=20=20=20//=20=
S1=20is=20Spike's=20original=20SPH=20strategy,=20S2=20is=20Spike's=20new=20=
SPH=20strategy=0D=0Aextern=20double=20=20=20=20=20=20=20Lots=20=3D=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=200.01;=20=20=20=20=20=20=20=20//=20We=20=
start=20with=20this=20number=20of=20lots=0D=0Aextern=20int=20=20=20=20=20=
=20=20=20=20=20TakeProfit=20=3D=20=20=20=20=20=20=20=20=20=20110;=20=20=20=
=20=20=20=20=20//=20Profit=20Goal=20in=20PIPs=20for=20the=20latest=20=
order=20opened=0D=0Aextern=20double=20=20=20=20=20=20=20multiply=3D=20=20=
=20=20=20=20=20=20=20=20=20=20=201.7;=20=0D=0Aextern=20int=20=20=20=20=20=
=20=20=20=20=20MaxTrades=3D=20=20=20=20=20=20=20=20=20=20=20=20=20=206;=20=
=20=20=20=20=20=20=20//=20Maximum=20number=20of=20orders=20to=20open=0D=0A=
extern=20int=20=20=20=20=20=20=20=20=20=20Pips=3D=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=2090;=20=20=20=20=20=20=20=20//=20Distance=20=
in=20Pips=20from=20one=20order=20to=20another=0D=0Aextern=20int=20=20=20=20=
=20=20=20=20=20=20StopLoss=20=3D=20=20=20=20=20=20=20=20=20=20=20=20600;=20=
=20=20=20=20=20=20=20//=20StopLoss=0D=0Aextern=20int=20=20=20=20=20=20=20=
=20=20=20TrailingStop=20=3D=20=20=20=20=20=20=20=20=20=200;=20=20=20=20=20=
=20=20=20//=20Pips=20to=20trail=20the=20StopLoss=0D=0Aextern=20int=20=20=20=
=20=20=20=20=20=20=20TrailingStep=20=3D=20=20=20=20=20=20=20=20=20=200;=20=
=20=20=20=20=20=20=20//=20Pip=20interval=20to=20increment=20Trailing=20=
StopLoss=20by=20each=20time=0D=0Aextern=20bool=20=20=20=20=20=20=20=20=20=
RecoveryMode=20=3D=20=20=20=20=20=20false;=20=20=20=20=20=20=20=20//=20=
If=20non-trading=20hours=20blocks=20opening=20more=20than=201=20market=20=
order=20to=20maintain=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20//=20PIP=20spacing,=20then=20open=20=
up=202+=20orders=20as=20needed=20if=20true,=20only=201=20if=20false.=0D=0A=
=0D=0Aextern=20string=20=20=20=20=20=20=20s05=3D"--MONEY=20=
MANAGEMENT--";=20=20=20=20=20=20=20=0D=0Aextern=20string=20=20=20=20=20=20=
=20MM_0=3D"mm=3D0,=20risk=20is=20ignored,=20just=20use=20Lots=20=
parameter";=0D=0Aextern=20string=20=20=20=20=20=20=20MM_1=3D"mm=3D1,=20=
risk=20is=20basic=20multiplier=20based=20on=20account=20balance";=0D=0A=
extern=20string=20=20=20=20=20=20=20MM_2=3D"mm=3D2,=20risk=20is=20%=20of=20=
account=20balance=20to=20risk=20per=20sequence";=0D=0A=0D=0Aextern=20int=20=
=20=20=20=20=20=20=20=20=20mm=3D=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=202;=0D=0Aextern=20string=20=20=20=20=20=20=20=
MyRisk=3D"set=20risk=20to=20use=20when=20calculating=20lot=20size";=0D=0A=
extern=20double=20=20=20=20=20=20=20risk=3D=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=2015;=20=20=20=20=20=20=20=20//=20risk=20to=20=
calculate=20the=20lots=20size=20(only=20if=20mm=20is=20enabled)=0D=0A=
extern=20bool=20=20=20=20=20=20=20=20=20TradeMicroLots=20=3D=20=20=20=20=
false;=20=20=20=20=20=20=20=20//=20will=20auto-detect=20account=20types,=20=
but=20override=20available=20here=0D=0A=0D=0Aextern=20string=20=20=20=20=20=
=20=20s06=3D"--MAGIC=20NUMBERS--";=0D=0Aextern=20int=20=20=20=20=20=20=20=
=20=20=20MagicNumber=3D=20=20=20=20=20=20=20222777;=20=20=20=20=20=20=20=20=
//=20Primary=20Magic=20number=20for=20all=20orders=20placed=0D=0A=0D=0A=
extern=20string=20=20=20=20=20=20=20s07=3D"--CUTLOSS=20SETTING--";=0D=0A=
extern=20bool=20=20=20=20=20=20=20=20=20MyMoneyProfitTarget=3Dfalse;=0D=0A=
extern=20double=20=20=20=20=20=20=20My_Money_Profit_Target=3D5000;=0D=0A=
extern=20bool=20=20=20=20=20=20=20=20=20SecureProfitProtection=3Dfalse;=0D=
=0Aextern=20string=20=20=20=20=20=20=20SP44=3D"If=20profit=20made=20is=20=
bigger=20than=20SecureProfit=20we=20close=20the=20orders";=0D=0Aextern=20=
int=20=20=20=20=20=20=20=20=20=20SecureProfit=3D=20=20=20=20=20=20=20=20=20=
=2015;=20=20=20=20=20=20=20=20//=20If=20profit=20made=20is=20bigger=20=
than=20SecureProfit=20we=20close=20the=20orders=0D=0Aextern=20string=20=20=
=20=20=20=20=20OTP44=3D"Number=20of=20orders=20to=20trigger=20SP=20=
Protection";=0D=0Aextern=20int=20=20=20=20=20=20=20=20=20=20=
OrderstoProtect=3D=20=20=20=20=20=20=20=203;=20=20=20=20=20=20=20=20//=20=
Number=20of=20orders=20to=20enable=20the=20account=20protection=0D=0A=0D=0A=
extern=20string=20=20=20=20=20=20=20s08=3D"--TRADING=20TIME=20=
MANAGEMENT--";=0D=0Aextern=20string=20=20=20=20=20=20=20TTM1=3D"Set=20=
time=20frames=20when=20new=20trades=20can=20open.";=0D=0Aextern=20string=20=
=20=20=20=20=20=20TTM2=3D"If=20Starthour=20=3D=20Stophour,=20then=20=
trade=2024/5.";=0D=0Aextern=20string=20=20=20=20=20=20=20TTM3=3D"If=20=
TTMGoFlat=3Dtrue,=20close=20all=20open=20trades";=0D=0Aextern=20string=20=
=20=20=20=20=20=20TTM4=3D"when=20outside=20trading=20hours=20or=20=
days.";=0D=0Aextern=20bool=20=20=20=20=20=20=20=20=20UseAutoGMToffset=20=
=3D=20=20=20=20true;=20=20=20=20=20=20//=20If=20true,=20attempt=20to=20=
connect=20to=20public=20time=20source=20to=20detect=20GMT=20offset.=0D=0A=
extern=20bool=20=20=20=20=20=20=20=20=20AutoFallbackOnFail=20=3D=20=20=
true;=20=20=20=20=20=20//=20If=20true,=20will=20use=20the=20=
ManualGMToffset=20value=20if=20the=20EA=20cannot=20read=20from=20the=20=
public=20time=20source.=0D=0Aextern=20int=20=20=20=20=20=20=20=20=20=20=
ManualGMToffset=20=3D=20=20=20=20=20=20=203;=20=20=20=20=20=20=20//=20=
Set=20your=20broker's=20GMT=20Offset=20here=20in=20case=20AutoGMT=20=
fails=0D=0Aextern=20int=20=20=20=20=20=20=20=20=20=20GMTStartHour=20=3D=20=
=20=20=20=20=20=20=20=20=200;=20=20=20=20=20=20=20//=20Start=20trading=20=
at=200:00/GMT=0D=0Aextern=20int=20=20=20=20=20=20=20=20=20=20GMTStopHour=20=
=20=3D=20=20=20=20=20=20=20=20=20=200;=20=20=20=20=20=20=20//=20Stop=20=
trading=20at=2023:59/GMT=0D=0Aextern=20bool=20=20=20=20=20=20=20=20=20=
TradeOnFriday=20=3D=20=20=20=20=20=20=20true;=0D=0Aextern=20int=20=20=20=20=
=20=20=20=20=20=20FridayGMTStopHour=20=3D=20=20=20=20-1;=20=20=20=20=20=20=
=20//=20If=20set=20to=200=20or=20higher,=20will=20prevent=20new=20trades=20=
from=20opening=20on=20Friday=20starting=20at=20that=20hour=20GMT.=0D=0A=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20//=20If=20used=20in=20conjunction=20with=20TTMGoFlat,=20will=20=
close=20all=20trades=20at=20the=20end=20of=20the=20trading=20week.=20=0D=0A=
extern=20bool=20=20=20=20=20=20=20=20=20TTMGoFlat=20=3D=20=20=20=20=20=20=
=20=20=20=20false;=0D=0A=0D=0Aextern=20string=20=20=20=20=20=20=20=
s09=3D"--DRAWDOWN=20CONTROL=20TOOL--";=0D=0Aextern=20string=20=20=20=20=20=
=20=20DDC1=3D"Max=20DD=20in=20money=20allowed?";=0D=0Aextern=20bool=20=20=
=20=20=20=20=20=20=20MaxDDControl=20=3D=20=20=20=20=20=20=20=20false;=0D=0A=
extern=20double=20=20=20=20=20=20=20MaxAllowedDD=20=3D=20=20=20=20=20=20=
-1000.0;=0D=0Aextern=20string=20=20=20=20=20=20=20DDC2=3D"Max=20DD=20in=20=
percentage=20allowed?";=0D=0Aextern=20bool=20=20=20=20=20=20=20=20=20=
MaxPercentDDControl=20=3D=20false;=0D=0Aextern=20double=20=20=20=20=20=20=
=20MaxAllowedPercentDD=20=3D=20-30.0;=0D=0A=0D=0Aextern=20string=20=20=20=
=20=20=20=20s10=3D"--DRAWDOWN=20REPORTING=3D=3D";=0D=0Aextern=20bool=20=20=
=20=20=20=20=20=20=20ShowDDinfoOnChart=20=3D=20=20=20true;=0D=0A=0D=0A=
extern=20string=20=20=20=20=20=20=20s11=3D"--OTHER=20SETTINGS--";=0D=0A=
extern=20string=20=20=20=20=20=20=20reverse44=3D"If=20true,=20the=20=
decision=20to=20go=20long/short=20will=20be=20reversed";=0D=0Aextern=20=
bool=20=20=20=20=20=20=20=20=20ReverseCondition=3D=20=20=20=20false;=20=20=
=20=20=20=20//=20if=20one=20the=20decision=20to=20go=20long/short=20will=20=
be=20reversed=0D=0Aextern=20string=20=20=20=20=20=20=20limitorder44=3D"if=20=
true,=20instead=20open=20market=20orders=20it=20will=20open=20limit=20=
orders=20";=0D=0Aextern=20bool=20=20=20=20=20=20=20=20=20SetLimitOrders=3D=
=20=20=20=20=20=20false;=20=20=20=20=20=20//=20if=20true,=20instead=20=
open=20market=20orders=20it=20will=20open=20limit=20orders=20=0D=0Acolor=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20ArrowsColor=3D=20=20=20=20=20=20=
=20=20Yellow;=20=20=20=20=20=20//=20color=20for=20the=20orders=20arrows=0D=
=0A=0D=0A//=20Program=20Variables=20for=20Time=20Management=0D=0Aint=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20InternetHandle;=0D=0Astring=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20GMTOffsetStatusInfo;=0D=0Abool=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20AutoGMTfailure=3Dfalse;=0D=0A=
bool=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
OneTimeInitialize=3Dtrue;=0D=0Abool=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20EADisabled=3Dfalse;=0D=0Abool=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20TradingDisabled=3Dfalse;=0D=0Adatetime=20=20=20=20=20=20=20=20=
=20=20=20=20dtBuyAllowed=3D0,=20dtSellAllowed=3D0;=20//=20This=20is=20=
used=20to=20control=20the=20manual=20confirmation=20dialog=20=0D=0A=0D=0A=
//=20Program=20Variables=20for=20Order=20Management=0D=0Abool=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20exitBuy=20=3D=20false,=20exitSell=20=
=3D=20false;=0D=0Aint=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
CurrentOpenOrders[2]=3D{0,0};=0D=0Aint=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20MarketOpenOrders[2]=3D{0,0};=0D=0Aint=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20LimitOpenOrders[2]=3D{0,0};=0D=0Aint=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20PreviousOpenOrders[2]=3D{0,0};=0D=
=0Adatetime=20=20=20=20=20=20=20=20=20=20=20=20=
LastOrderOpenTime[2]=3D{0,0};=0D=0Adouble=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20LastOrderOpenPrice[2]=3D{0,0};=0D=0Adouble=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20MMProfit[2]=3D{0,0};=20//=20Track=20MyMoney=20Profit=20=
Target=20Info=0D=0Adouble=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
SPProfit[2]=3D{0,0};=20//=20Track=20Secure=20Profit=20Protection=20Info=0D=
=0Adouble=20=20=20=20=20=20=20=20=20=20=20=20=20=20sl=3D0,=20tp=3D0,=20=
BuyPrice=3D0,=20SellPrice=3D0;=0D=0Adouble=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20BaseLot=3D0,=20myBaseLot=3D0;=0D=0Adouble=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20LotSizeArray[100,2];=20//=20Element=2099,0=20and=20=
99,1=20used=20to=20hold=20account=20balance=20at=20start=20of=20sequence=0D=
=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20//=20Second=20=
dimension=20*,0=20or=20*,1=20is=20OP_BUY,=20OP_SELL=20specification=0D=0A=
int=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20mode=3D0,=20=
myOrderTypetmp=3D0,=20slippage=3D50;=0D=0A=0D=0A//=20Program=20Variables=20=
for=20Order=20Opening=0D=0Adouble=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
Stoch,=20Var1,=20Var2,=20Var3,=20Var4,=20Var5,=20Var6,=20Var7,=20Var8;=0D=
=0A=0D=0A//=20Program=20Variables=20for=20Statistical=20Tracking=0D=0A=
double=20=20=20=20=20=20=20=20=20=20=20=20=20=20MaxDD,MaxPercentDD;=20=0D=
=0A=0D=0A//=20General=20Program=20Variables=0D=0Astring=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20text=3D"",=20TTstatus=20=3D=20"False",=20=
MMPTstatus=20=3D=20"False",=20SPPstatus=20=3D=20"False",=20LBOT,=20LSOT;=0D=
=0Adouble=20=20=20=20=20=20=20=20=20=20=20=20=20=20ActualRiskPercentS,=20=
ActualRiskPercentB;=0D=0Abool=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20result;=20=20=20=0D=0Aint=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20cnt=3D0,=20myDigits;=0D=0A=0D=0A=
//+------------------------------------------------------------------+=0D=
=0A//|=20expert=20initialization=20function=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
|=0D=0A=
//+------------------------------------------------------------------+=0D=
=0Aint=20init()=0D=0A{=0D=0A//----=20=0D=0A=20=20OneTimeInitialize=3Dtrue;=
=0D=0A=20=20EADisabled=3Dfalse;=0D=0A=20=20=
if(USE_INTERNAL_AUTO_PAIR_SETTINGS)=20SetParameters();=20//DM:=20Merged=20=
in=20PW's=20code=0D=0A=20=20if=20(EADisabled)=20return(0);=20//DM:=20=
Need=20to=20catch=20and=20handle=20if=20you=20set=20=
USE_INTERNAL_AUTO_PAIR_SETTINGS=20to=20true=20on=20unsupported=20=
currency=0D=0A=20=20=0D=0A=20=20if=20(false)=20LogPerformance();=20//DM:=20=
I=20put=20this=20dummy=20call=20here=20to=20prevent=20compilation=20=
warnings=0D=0A=20=20if=20(!IsDllsAllowed()=20&&=20UseAutoGMToffset=20&&=20=
!IsTesting())=0D=0A=20=20{=0D=0A=20=20=20=20Comment("Error:=20Parameter=20=
\"AllowDLL=20Imports\"=20must=20be=20ON.");=0D=0A=20=20=20=20=
Print("Error:=20Parameter=20\"AllowDLL=20Imports\"=20must=20be=20ON.");=0D=
=0A=20=20=20=20EADisabled=3Dtrue;=0D=0A=20=20=20=20Print("EA=20Disabled=20=
due=20to=20DLL=20setting=20conflict=20with=20UseAutoGMTOffset.");=0D=0A=20=
=20=20=20Sleep(10000);=0D=0A=20=20=20=20return(0);=0D=0A=20=20}=0D=0A=0D=0A=
=20=20while=20(!IsConnected())=0D=0A=20=20{=0D=0A=20=20=20=20=
Comment("Waiting=20for=20connection...");=0D=0A=20=20=20=20Sleep(10000);=0D=
=0A=20=20}=0D=0A=0D=0A=20=20myDigits=3DMarketInfo(Symbol(),MODE_DIGITS);=0D=
=0A=20=20int=20x;=0D=0A=0D=0A=20=20if(myDigits=3D=3D2)=20x=3D=201;=0D=0A=20=
=20if(myDigits=3D=3D3)=20x=3D10;=0D=0A=20=20if(myDigits=3D=3D4)=20x=3D=20=
1;=0D=0A=20=20if(myDigits=3D=3D5)=20x=3D10;=0D=0A=0D=0A=20=20TakeProfit=20=
=20=20*=3D=20x;=0D=0A=20=20StopLoss=20=20=20=20=20*=3D=20x;=0D=0A=20=20=
Pips=20=20=20=20=20=20=20=20=20*=3D=20x;=0D=0A=20=20TrailingStop=20*=3D=20=
x;=0D=0A=20=20TrailingStep=20*=3D=20x;=0D=0A=0D=0A=20=20//=20Determine=20=
Existing=20Orders,=20if=20any.=0D=0A=20=20UpdateOrderStatus(true);=0D=0A=0D=
=0A=20=20//=20Set=20status=20strings=20for=20display=20on=20chart=0D=0A=20=
=20if=20(MyMoneyProfitTarget)=20MMPTstatus=20=3D=20"True";=0D=0A=20=20if=20=
(SecureProfitProtection)=20SPPstatus=20=3D=20"True";=0D=0A=0D=0A=20=20//=20=
Determine=20Lot=20Sizing=0D=0A=20=20if=20(IsTesting())=0D=0A=20=20{=0D=0A=
=20=20=20=20CalculateLotArray(OP_BUY,0);=0D=0A=20=20=20=20=
CalculateLotArray(OP_SELL,0);=0D=0A=20=20}=0D=0A=20=20else=0D=0A=20=20{=0D=
=0A=20=20=20=20ReadLotArray();=20//=20Load=20LotArray=20from=20Globals=20=
and/or=20call=20for=20initial=20calculation=20as=20needed=0D=0A=20=20}=0D=
=0A=20=20=0D=0A=
//************************************************************************=
********************=0D=0A//**************TOM=20-=20Simple=20adjustment=20=
to=20lower=20maxtrades=20if=20set=20beyond=20stoploss=20************=0D=0A=
//**************=20=20=20=20=20=20Should=20make=20sure=20lot=20=
allocation=20is=20correct=20but=20won't=20reduce=20backtests=20**=0D=0A=20=
=20MaxTrades=20=3D=20MathMin(MaxTrades,=20MathCeil(StopLoss=20/=20=
Pips));=0D=0A=
//************************************************************************=
********************=0D=0A=
//************************************************************************=
********************=0D=0A=0D=0A//----=0D=0A=20=20=20return(0);=0D=0A}=0D=
=0A=0D=0A=0D=0A=
//+------------------------------------------------------------------+=0D=
=0A//|=20expert=20deinitialization=20function=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=0D=
=0A=
//+------------------------------------------------------------------+=0D=
=0Aint=20deinit()=0D=0A{=0D=0A//----=20=0D=0A=20=20if=20(!IsTesting())=20=
WriteLotArray();=0D=0A=20=20Print("MaxDD:=20",MaxDD);=0D=0A=20=20=
Print("MaxPercDD:=20",MaxPercentDD);=20=0D=0A=20=20DeleteAllObjects();=0D=
=0A//----=0D=0A=20=20=20return(0);=0D=0A}=0D=0A=0D=0A=0D=0A=
//+------------------------------------------------------------------+=0D=
=0A//|=20expert=20start=20function=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20|=0D=0A=
//+------------------------------------------------------------------+=0D=
=0Aint=20start()=0D=0A{=0D=0A=20=20if=20(EADisabled)=0D=0A=20=20{=0D=0A=20=
=20=20=20if=20(IsTesting())=20Comment("EA=20Disabled!=20Check=20Journal=20=
Log=20for=20details.\n"+text);=0D=0A=20=20=20=20else=20Comment("EA=20=
Disabled!=20Check=20Experts=20Log=20for=20details.\n"+text);=0D=0A=20=20=20=
=20return(0);=0D=0A=20=20}=0D=0A=20=20=0D=0A=20=20//=20One-time=20=
Initialization=20of=20GMT=20Offset=20and=20Time-based=20variables=0D=0A=20=
=20if=20(OneTimeInitialize)=0D=0A=20=20{=0D=0A=20=20=20=20while=20=
(InitializeTimeVariables()=20<=200)=20Sleep(1000);=0D=0A=20=20=20=20=
return(0);=0D=0A=20=20}=0D=0A=0D=0A=20=20//**************ADDED=20FOR=20=
ACCOUNT=20SENTRY=20***************=0D=0A=20=20=0D=0A=20=20if=20=
(GlobalVariableGet("GV_CloseAllAndHalt")=20>=200)=0D=0A=20=20{=0D=0A=20=20=
=20=20CloseAllOrders(OP_BUY);=0D=0A=20=20=20=20CloseAllOrders(OP_SELL);=0D=
=0A=20=20=20=20EADisabled=20=3D=20true;=0D=0A=20=20=20=20text=3D"Account=20=
Sentry=20Signaled=20to=20Close=20All=20and=20Halt";=0D=0A=20=20=20=20=
return=20(0);=0D=0A=20=20}=20else=0D=0A=20=20=0D=0A=20=20=
//**************END=20ACCOUNT=20SENTRY=20HOOK=20****************=0D=0A=0D=
=0A=20=20text=3D"";=0D=0A=20=20TrackDrawDown();=0D=0A=20=20exitBuy=20=3D=20=
false;=20exitSell=20=3D=20false;=0D=0A=20=20int=20CloseOutStatus=20=3D=20=
CloseOutTradesCheck();=20//=20Check=20to=20see=20if=20we=20should=20go=20=
flat=20on=20long=20or=20short=20positions=0D=0A=20=20if=20=
(CloseOutStatus=20>=200)=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20//=20=
CloseOutTradesCheck=20also=20updates=20profit=20information=0D=0A=20=20{=0D=
=0A=20=20=20=20if=20(exitBuy)=20=20CloseAllOrders(OP_BUY);=0D=0A=20=20=20=
=20if=20(exitSell)=20CloseAllOrders(OP_SELL);=0D=0A=20=20=20=20if=20=
(CloseOutStatus=20=3D=3D=202)=0D=0A=20=20=20=20{=0D=0A=20=20=20=20=20=20=
EADisabled=20=3D=20true;=0D=0A=20=20=20=20=20=20text=3D"My=20Money=20=
Profit=20Target=20Achieved!";=0D=0A=20=20=20=20=20=20Print(text);=0D=0A=20=
=20=20=20=20=20return(0);=0D=0A=20=20=20=20}=0D=0A=20=20=20=20if=20=
(CloseOutStatus=20=3D=3D=203)=0D=0A=20=20=20=20{=0D=0A=20=20=20=20=20=20=
EADisabled=20=3D=20true;=0D=0A=20=20=20=20=20=20text=3D"DrawDown=20=
Threshold=20Breached!";=0D=0A=20=20=20=20=20=20Print(text);=0D=0A=20=20=20=
=20=20=20return(0);=0D=0A=20=20=20=20}=0D=0A=20=20}=0D=0A=20=20else=20//=20=
no=20reason=20to=20close=20out=20trades=20and/or=20disable=20the=20EA,=20=
so=20let's=20continue...=0D=0A=20=20{=0D=0A=20=20=20=20bool=20TT=20=3D=20=
false;=0D=0A=20=20=20=20if=20(IsTradingTime()=20&&=20!TradingDisabled)=0D=
=0A=20=20=20=20{=0D=0A=20=20=20=20=20=20TT=20=3D=20true;=0D=0A=20=20=20=20=
=20=20PrepareIndicators();=20//=20Obtain=20indicator=20data=20values=0D=0A=
=20=20=20=20=20=20=0D=0A=20=20=20=20=20=20//=20Check=20for=20new=20entry=20=
signals.=20=20myOrderTypetmp=20=3D=201=20for=20sell,=202=20for=20buy,=20=
3=20for=20no=20signal.=0D=0A=20=20=20=20=20=20=
myOrderTypetmp=3DCheckEntrySignal();=0D=0A=0D=0A=20=20=20=20=20=20if=20=
(ReverseCondition)=0D=0A=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=
if=20(myOrderTypetmp=3D=3D1)=20myOrderTypetmp=3D2;=0D=0A=20=20=20=20=20=20=
=20=20else=20if=20(myOrderTypetmp=3D=3D2)=20myOrderTypetmp=3D1;=0D=0A=20=20=
=20=20=20=20}=0D=0A=0D=0A=20=20=20=20=20=20if=20(myOrderTypetmp=3D=3D1=20=
&&=20CurrentOpenOrders[OP_SELL]=3D=3D0=20&&=20IsTradeAllowed()=20&&=20=
dtSellAllowed=20<=20TimeCurrent())=0D=0A=20=20=20=20=20=20{=0D=0A=20=20=20=
=20=20=20=20=20Print("Starting=20New=20SELL=20Sequence");=0D=0A=20=20=20=20=
=20=20=20=20OpenMarketOrders(myOrderTypetmp);=20//=20Pass=20along=20the=20=
Sell=20Signal=0D=0A=20=20=20=20=20=20=20=20if=20(SetLimitOrders)=20=
OpenLimitOrders(myOrderTypetmp);=20//=20Pass=20along=20the=20Sell=20=
Signal=0D=0A=20=20=20=20=20=20}=0D=0A=0D=0A=20=20=20=20=20=20if=20=
(myOrderTypetmp=3D=3D2=20&&=20CurrentOpenOrders[OP_BUY]=3D=3D0=20&&=20=
IsTradeAllowed()=20&&=20dtBuyAllowed=20<=20TimeCurrent())=0D=0A=20=20=20=20=
=20=20{=0D=0A=20=20=20=20=20=20=20=20Print("Starting=20New=20BUY=20=
Sequence");=0D=0A=20=20=20=20=20=20=20=20=
OpenMarketOrders(myOrderTypetmp);=20=20//=20Pass=20along=20the=20Buy=20=
Signal=0D=0A=20=20=20=20=20=20=20=20if=20(SetLimitOrders)=20=
OpenLimitOrders(myOrderTypetmp);=20//=20Pass=20along=20the=20Buy=20=
Signal=0D=0A=20=20=20=20=20=20}=0D=0A=0D=0A=20=20=20=20=20=20if=20=
(!SetLimitOrders=20&&=20IsTradeAllowed())=20OpenMarketOrders(3);=20//=20=
Called=20with=20no=20signal=20present=20and=20will=20open=20new=20orders=20=
in=20an=20existing=20sequence=20as=20needed=0D=0A=20=20=20=20}=0D=0A=20=20=
}=0D=0A=0D=0A=20=20//=20Now=20execute=20the=20following=20code=20=
whenever=20the=20EA=20is=20active,=20regardless=20of=20trade=20time=20=
restrictions=20or=20disabled=20trading=20condition=0D=0A=20=20=
TSManager();=20//=20Check=20and=20maintain=20trailing=20stops=0D=0A=0D=0A=
=20=20TTstatus=20=3D=20"False";=0D=0A=20=20if=20(TT)=20TTstatus=20=3D=20=
"True";=0D=0A=20=20if=20(SecureProfitProtection=20&&=20=
MarketOpenOrders[OP_BUY]>=3DOrderstoProtect)=20=
text=3DStringConcatenate(text,=20"\nSecure=20Profit=20Protection=20=
Active=20on=20BUY=20sequence.");=0D=0A=20=20if=20(SecureProfitProtection=20=
&&=20MarketOpenOrders[OP_SELL]>=3DOrderstoProtect)=20=
text=3DStringConcatenate(text,=20"\nSecure=20Profit=20Protection=20=
Active=20on=20SELL=20sequence.");=0D=0A=20=20if=20(MyMoneyProfitTarget)=20=
text=3DStringConcatenate(text,=20"\nMy=20Money=20Profit=20Target=20=
Progress:=20",=20DoubleToStr(MMProfit[OP_BUY]+MMProfit[OP_SELL],2),=20"=20=
of=20",=20DoubleToStr(My_Money_Profit_Target,2));=0D=0A=20=20if=20=
(myOrderTypetmp!=3D2=20&&=20CurrentOpenOrders[OP_BUY]=3D=3D0=20&&=20=
MaxTrades>0)=20text=3DStringConcatenate(text,=20"\nWAITING=20FOR=20BUY=20=
SIGNAL...");=0D=0A=20=20if=20(myOrderTypetmp!=3D1=20&&=20=
CurrentOpenOrders[OP_SELL]=3D=3D0=20&&=20MaxTrades>0)=20=
text=3DStringConcatenate(text,=20"\nWAITING=20FOR=20SELL=20SIGNAL...");=0D=
=0A=20=20if=20(LastOrderOpenTime[OP_BUY]=3D=3D0)=20=
LBOT=3D"............................";=0D=0A=20=20else=20=
LBOT=3DTimeToStr(LastOrderOpenTime[OP_BUY],TIME_DATE|TIME_SECONDS);=0D=0A=
=20=20if=20(LastOrderOpenTime[OP_SELL]=3D=3D0)=20=
LSOT=3D"............................";=0D=0A=20=20else=20=
LSOT=3DTimeToStr(LastOrderOpenTime[OP_SELL],TIME_DATE|TIME_SECONDS);=0D=0A=
=20=20string=20=
myComment=3DStringConcatenate(GMTOffsetStatusInfo,ShowLotSizeSequence(),=0D=
=0A=20=20"\nIsTradeTime=3D",TTstatus,",=20=
myOrderTypetmp=3D",myOrderTypetmp,",=20SPP=20Enabled=3D",SPPstatus,",=20=
MMPT=20Enabled=3D",MMPTstatus,=0D=0A=20=20"\nBuy:=20Last=20=
Price=3D",DoubleToStr(LastOrderOpenPrice[OP_BUY],Digits),",=20Last=20=
Time=3D",LBOT,",=20Open=20Mkt=20=
Orders=3D",MarketOpenOrders[OP_BUY],"/",MaxTrades,",=20Open=20=
Profit=3D",DoubleToStr(SPProfit[OP_BUY],2),=0D=0A=20=20"\nSell:=20=20=
Last=20Price=3D",DoubleToStr(LastOrderOpenPrice[OP_SELL],Digits),",=20=
Last=20Time=3D",LSOT,",=20Open=20Mkt=20=
Orders=3D",MarketOpenOrders[OP_SELL],"/",MaxTrades,",=20Open=20=
Profit=3D",DoubleToStr(SPProfit[OP_SELL],2),=0D=0A=20=20text);=0D=0A=20=20=
Comment(myComment);=0D=0A=0D=0A=20=20return(0);=0D=0A}=0D=0A=
//+------------------------------------------------------------------+=0D=
=0A=0D=0A=0D=0Aint=20CheckEntrySignal()=0D=0A//=20Check=20for=20new=20=
entry=20signals.=20=20Return=201=20for=20sell,=202=20for=20buy,=203=20=
for=20no=20signal.=0D=0A{=0D=0A=20=20int=20myOrderType=20=3D=203;=0D=0A=0D=
=0A=20=20if=20(Strategy=20=3D=3D=201)=20//=20Spike's=20Original=20SPH=20=
Strategy=0D=0A=20=20{=0D=0A=20=20=20=20if=20((Var7=20<=20Var6=20&&=20=
Var7=20<=20Var8)||(Var3=20<=20Var4=20&&=20((Var1=20<=20Var2)=20||=20=
(Stoch>H_level))=20&&=20(Var7=20>=20Var6=20&&=20Var7=20<=20Var5)))=20=0D=0A=
=20=20=20=20=20=20myOrderType=20=3D=201;=20//=20signal=20a=20sell=0D=0A=20=
=20=20=20if=20((Var7=20>=20Var5=20&&=20Var7=20>=20Var8)||(Var3=20>=20=
Var4=20&&=20((Var1=20>=20Var2)=20||=20(Stoch<L_level))=20&&=20(Var7=20>=20=
Var6=20&&=20Var7=20<=20Var5)))=20=0D=0A=20=20=20=20=20=20myOrderType=20=3D=
=202;=20//=20signal=20a=20buy=0D=0A=20=20}=0D=0A=20=20=0D=0A=20=20=
//////////////////////////////////////////=0D=0A=20=20//=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20//=0D=0A=20=20//=20=20=20=20ADD=20NEW=20STRATEGIES=20=
BELOW=20HERE!=20=20=20=20//=0D=0A=20=20//=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20//=0D=0A=20=20//////////////////////////////////////////=0D=0A=20=20=
=0D=0A=20=20if=20(Strategy=20=3D=3D=202)=20//=20Spike's=20New=20Strategy=0D=
=0A=20=20{=0D=0A=20=20=20=20if=20(((Var3=20<=20Var4=20&&=20((Var1=20<=20=
Var2)=20||=20(Stoch>H_level))=20&&=20(Var7=20>=20Var6=20&&=20Var7=20<=20=
Var5)||(Var7=20<=20Var6=20&&=20Var7=20<=20Var8))))=20=0D=0A=20=20=20=20=20=
=20myOrderType=3D1;=20//=20signal=20a=20sell=0D=0A=20=20=20=20if=20=
(((Var3=20>=20Var4=20&&=20((Var1=20>=20Var2)=20||=20(Stoch<L_level))=20=
&&=20(Var7=20>=20Var6=20&&=20Var7=20<=20Var5)||(Var7=20>=20Var6=20&&=20=
Var7=20>=20Var8))))=20=0D=0A=20=20=20=20=20=20myOrderType=3D2;=20//=20=
signal=20a=20buy=0D=0A=20=20}=0D=0A=0D=0A=20=20return(myOrderType);=0D=0A=
}=0D=0A=0D=0A=0D=0Avoid=20PrepareIndicators()=0D=0A{=0D=0A=20=20int=20=
myMAMode=3D0;=0D=0A=20=20switch=20(stochMAmode)=0D=0A=20=20{=20=20=0D=0A=20=
=20=20=20case=201:=0D=0A=20=20=20=20=20=20myMAMode=3DMODE_SMA;=0D=0A=20=20=
=20=20=20=20break;=20=09=0D=0A=20=20=20=20case=202:=0D=0A=20=20=20=20=20=20=
myMAMode=3DMODE_LWMA;=0D=0A=20=20=20=20=20=20break;=20=0D=0A=20=20=20=20=
case=203:=0D=0A=20=20=20=20=20=20myMAMode=3DMODE_EMA;=0D=0A=20=20=20=20=20=
=20break;=20=0D=0A=20=20=20=20case=204:=0D=0A=20=20=20=20=20=20=
myMAMode=3DMODE_SMMA;=0D=0A=20=20=20=20=20=20break;=0D=0A=20=20=20=20=
default:=20=0D=0A=20=20=20=20=20=20myMAMode=3DMODE_LWMA;=0D=0A=20=20=20=20=
=20=20break;=0D=0A=20=20}=0D=0A=20=20=0D=0A=20=20//=20If=20you=20add=20a=20=
new=20indicator,=20don't=20forget=20to=20add=20a=20global=20variable=20=
for=20it=20just=20after=20the=20externs.=0D=0A=20=20Stoch=20=3D=20=
iStochastic(NULL,=20Stoch_TF,=20K_Period,=20D_Period,=20Slow_Period,=20=
myMAMode,=200,=20MODE_SIGNAL,=20shift);=0D=0A=20=20Var1=20=20=3D=20=
iStochastic(NULL,=20Stoch_TF,=20145,=20D_Period,=20Slow_Period,=20=
MODE_SMA,=201,=20MODE_MAIN,=200);=0D=0A=20=20Var2=20=20=3D=20=
iStochastic(NULL,=20Stoch_TF,=20124,=20D_Period,=20Slow_Period,=20=
MODE_EMA,=201,=20MODE_SIGNAL,=200);=0D=0A=20=20Var3=20=20=3D=20iMA(NULL,=20=
MA_TF,MA_Long_Period,=200,=20MODE_SMA,=20PRICE_CLOSE,=200);=0D=0A=20=20=
Var4=20=20=3D=20iMA(NULL,=20MA_TF,MA_Short_Period,=200,=20MODE_EMA,=20=
PRICE_CLOSE,=200);=0D=0A=20=20Var5=20=20=3D=20=
iEnvelopes(NULL,ENVELOPE_TF=20,ENVELOPE_Slow_Period,=20MODE_SMA,=200,=20=
PRICE_CLOSE,=200.9,=201,=201);=0D=0A=20=20Var6=20=20=3D=20=
iEnvelopes(NULL,ENVELOPE_TF=20,ENVELOPE_Slow_Period,=20MODE_SMA,=200,=20=
PRICE_CLOSE,=200.9,=202,=201);=0D=0A=20=20Var7=20=20=3D=20iMA(NULL,=20=
PERIOD_D1,=202,=200,=20MODE_SMA,=20PRICE_CLOSE,=200);=0D=0A=20=20Var8=20=20=
=3D=20iMA(NULL,=20PERIOD_D1,=2056,=200,=20MODE_SMMA,=20PRICE_CLOSE,=20=
0);=0D=0A}=0D=0A=0D=0A=0D=0Avoid=20TSManager()=0D=0A{=0D=0A=20=20if=20=
(TrailingStop>0)=0D=0A=20=20{=0D=0A=20=20=20=20cnt=3DOrdersTotal()-1;=0D=0A=
=20=20=20=20while(cnt>=3D0)=0D=0A=20=20=20=20{=0D=0A=20=20=20=20=20=20=
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)=3D=3Dfalse)=20=20=20=20=20=20=
=20=20break;=0D=0A=20=20=20=20=20=20if=20(IsMyOrder())=0D=0A=20=20=20=20=20=
=20{=0D=0A=20=20=20=20=20=20=20=20if=20(OrderType()=3D=3DOP_SELL)=20=0D=0A=
=20=20=20=20=20=20=20=20{=09=09=0D=0A=20=20=20=20=20=20=20=20=20=20if=20=
((OrderOpenPrice()-MarketInfo(OrderSymbol(),MODE_ASK))>=3D(TrailingStop*Po=
int+Pips*Point))=20=0D=0A=20=20=20=20=20=20=20=20=20=20{=09=09=09=09=09=09=
=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20if=20=
(OrderStopLoss()-TrailingStep*Point>(MarketInfo(OrderSymbol(),MODE_ASK)+Tr=
ailingStop*Point))=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20{=09=09=09=09=
=09=09=09=09=09=09=20=20=20=20=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20if(GetTradeContext())=20RefreshRates();=0D=0A=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=
result=3DOrderModify(OrderTicket(),OrderOpenPrice(),MarketInfo(OrderSymbol=
(),MODE_ASK)+TrailingStop*Point,OrderTakeProfit(),0,Purple);=0D=0A=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20if(result!=3Dtrue)=20Print("Trailing=20=
Stop=20Error=20=3D=20",=20GetLastError());=0D=0A=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20else=20OrderPrint();=09=09=09=09=09=0D=0A=20=20=20=20=20=20=
=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20=20=20=20=20}=0D=0A=20=20=20=20=
=20=20=20=20}=0D=0A=20=20=20=20=20=20=20=20if=20(OrderType()=3D=3DOP_BUY)=0D=
=0A=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20if=20=
((MarketInfo(OrderSymbol(),MODE_BID)-OrderOpenPrice())>=3D(TrailingStop*Po=
int+Pips*Point))=20=0D=0A=20=20=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=
=20=20=20=20=20=20=20=20if=20=
(OrderStopLoss()+TrailingStep*Point<(MarketInfo(OrderSymbol(),MODE_BID)-Tr=
ailingStop*Point))=20=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20{=09=09=09=
=09=09=20=20=20=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
if(GetTradeContext())=20RefreshRates();=0D=0A=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=
result=3DOrderModify(OrderTicket(),OrderOpenPrice(),MarketInfo(OrderSymbol=
(),MODE_BID)-TrailingStop*Point,OrderTakeProfit(),0,ArrowsColor);=09=09=0D=
=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20if(result!=3Dtrue)=20=
Print("Trailing=20Stop=20Error=20=3D=20",=20GetLastError());=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=0D=0A=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20else=20OrderPrint();=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20return(0);=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20}=0D=0A=20=20=20=
=20=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=
=20}=0D=0A=20=20=20=20=20=20cnt--;=0D=0A=20=20=20=20}=0D=0A=20=20}=0D=0A=
}=0D=0A=0D=0A=0D=0Avoid=20OpenMarketOrders(int=20mySignal)=0D=0A//=20=
mySignal=20=3D=201=20for=20sell,=202=20for=20buy,=203=20for=20no=20=
signal.=0D=0A{=20=20=20=20=20=20=20=20=20=0D=0A=20=20int=20cnt=3D0,=20=
gle=3D0,=20ticket,=20attempts,=20myCount;=0D=0A=20=20bool=20=
ModifySucceeded;=0D=0A=20=20=0D=0A=20=20if=20((mySignal=3D=3D1=20||=20=
mySignal=3D=3D3)=20=0D=0A=20=20&&=20(dtSellAllowed=20<=20TimeCurrent())=0D=
=0A=20=20&&=20((CurrentOpenOrders[OP_SELL]>0=20&&=20=
CurrentOpenOrders[OP_SELL]<MaxTrades=20&&=20=
(Bid-LastOrderOpenPrice[OP_SELL]>=3DPips*Point)=20&&=20=
(LastOrderOpenPrice[OP_SELL]>0))=0D=0A=20=20||=20=
(CurrentOpenOrders[OP_SELL]=3D=3D0=20&&=20mySignal=3D=3D1)))=0D=0A=20=20=
{=09=20=20=20=20=20=09=09=0D=0A=20=20=20=20myCount=3D1;=0D=0A=20=20=20=20=
if=20(RecoveryMode=20&&=20CurrentOpenOrders[OP_SELL]>0=20&&=20=
CurrentOpenOrders[OP_SELL]<MaxTrades=20&&=20=
Bid-LastOrderOpenPrice[OP_SELL]>=3DPips*Point*2)=0D=0A=20=20=20=20=20=20=
myCount=20=3D=20=
MathFloor((Bid-LastOrderOpenPrice[OP_SELL])/(Pips*Point));=0D=0A=20=20=20=
=20CalculateLotArray(OP_SELL,CurrentOpenOrders[OP_SELL]);=0D=0A=20=20=20=20=
=0D=0A=20=20=20=20for(cnt=3D0;cnt<myCount;cnt++)=0D=0A=20=20=20=20{=0D=0A=
=20=20=20=20=20=20ticket=3D-1;=0D=0A=20=20=20=20=20=20attempts=3D0;=0D=0A=
=20=20=20=20=20=20SellPrice=3DBid;=09=09=09=09=0D=0A=20=20=20=20=20=20if=20=
(TakeProfit=3D=3D0)=20tp=3D0;=0D=0A=20=20=20=20=20=20else=20=
tp=3DSellPrice-TakeProfit*Point;=09=0D=0A=20=20=20=20=20=20if=20=
(StopLoss=3D=3D0)=20sl=3D0;=0D=0A=20=20=20=20=20=20=
//************************************************************************=
************************************************=0D=0A=20=20=20=20=20=20=
//*************TOM=20-=20modified=20from=20"else=20=
sl=3DSellPrice+StopLoss*Point;"=20to=20look=20up=20stop=20loss=20from=20=
1st=20trade=20***************=0D=0A=20=20=20=20=20=20else=20=
sl=3DCalcStopLoss(OP_SELL);=0D=0A=20=20=20=20=20=20=
//************************************************************************=
************************************************=0D=0A=20=20=20=20=20=20=
myBaseLot=3DLotSizeArray[CurrentOpenOrders[OP_SELL],OP_SELL];=0D=0A=0D=0A=
=20=20=20=20=20=20while(=20ticket=20<=200)=0D=0A=20=20=20=20=20=20{=0D=0A=
=20=20=20=20=20=20=20=20if(GetTradeContext())=20RefreshRates();=0D=0A=20=20=
=20=20=20=20=20=20=
if(AccountFreeMarginCheck(Symbol(),OP_SELL,myBaseLot)<=3D0=20||=20=
GetLastError()=3D=3D134)=0D=0A=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=
=20=20=20=20=20=20Print("NOT=20ENOUGH=20MONEY=20TO=20OPEN=20SELL=20=
ORDER!=20No=20further=20attempts=20to=20open=20new=20trades=20will=20=
occur.=20=20Monitoring=20existing=20orders.");=0D=0A=20=20=20=20=20=20=20=
=20=20=20Alert("NOT=20ENOUGH=20MONEY=20TO=20OPEN=20SELL=20ORDER!=20No=20=
further=20attempts=20to=20open=20new=20trades=20will=20occur.=20=20=
Monitoring=20existing=20orders.");=0D=0A=20=20=20=20=20=20=20=20=20=20=
TradingDisabled=3Dtrue;=0D=0A=20=20=20=20=20=20=20=20=20=20return;=0D=0A=20=
=20=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20=20=20=
ticket=3DOrderSend(Symbol(),OP_SELL,myBaseLot,NormalizeDouble(SellPrice,my=
Digits),slippage,0,0,"SPH=20EA=20=
"+MagicNumber,MagicNumber,0,ArrowsColor);=0D=0A=20=20=20=20=20=20=20=20=
if(ticket>0)=0D=0A=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=
=20=20if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))=0D=0A=20=20=20=
=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20=
Print("SELL=20order=20opened=20:=20",OrderOpenPrice());=0D=0A=20=20=20=20=
=20=20=20=20=20=20=20=20LastOrderOpenPrice[OP_SELL]=3DOrderOpenPrice();=0D=
=0A=20=20=20=20=20=20=20=20=20=20=20=20=
LastOrderOpenTime[OP_SELL]=3DOrderOpenTime();=0D=0A=20=20=20=20=20=20=20=20=
=20=20=20=20UpdateOrderStatus(true);=0D=0A=20=20=20=20=20=20=20=20=20=20=20=
=20break;=0D=0A=20=20=20=20=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20=20=
=20}=20=20=20=20=20=20=20=20=20=09=09=09=0D=0A=20=20=20=20=20=20=20=20=
else=0D=0A=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20=
gle=3DGetLastError();=0D=0A=20=20=20=20=20=20=20=20=20=20if=20(gle=3D=3D2=20=
||=20gle=3D=3D144)=0D=0A=20=20=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=
=20=20=20=20=20=20=20=20dtSellAllowed=20=3D=20TimeCurrent()=20+=203600;=0D=
=0A=20=20=20=20=20=20=20=20=20=20=20=20Print("Manual=20Trade=20=
Confirmation=20Dialog=20aborted.=20No=20Sell=20Positions=20will=20be=20=
attempted=20for=20the=20next=201=20hour.");=0D=0A=20=20=20=20=20=20=20=20=
=20=20=20=20return;=0D=0A=20=20=20=20=20=20=20=20=20=20}=0D=0A=20=20=20=20=
=20=20=20=20=20=20Print("Error=20opening=20SELL=20order=20:=20",gle);=0D=0A=
=20=20=20=20=20=20=20=20=20=20attempts++;=0D=0A=20=20=20=20=20=20=20=20=20=
=20Sleep(5000);=0D=0A=20=20=20=20=20=20=20=20=20=20RefreshRates();=0D=0A=20=
=20=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20=20=20if(attempts=20>=3D=20=
20)=0D=0A=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20=
Print("20=20attempts=20to=20open=20SELL=20position=20have=20failed");=0D=0A=
=20=20=20=20=20=20=20=20=20=20break;=0D=0A=20=20=20=20=20=20=20=20}=0D=0A=
=20=20=20=20=20=20}=09=0D=0A=20=20=20=20=20=20ModifySucceeded=3Dfalse;=0D=
=0A=20=20=20=20=20=20attempts=3D0;=0D=0A=20=20=20=20=20=20=
while(!ModifySucceeded=20&&=20attempts<100)=0D=0A=20=20=20=20=20=20{=0D=0A=
=20=20=20=20=20=20=20=20if(GetTradeContext())=20RefreshRates();=0D=0A=20=20=
=20=20=20=20=20=20=
ModifySucceeded=3DOrderModify(ticket,OrderOpenPrice(),sl,tp,0,GreenYellow)=
;=0D=0A=20=20=20=20=20=20=20=20if(!ModifySucceeded)=0D=0A=20=20=20=20=20=20=
=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20gle=3DGetLastError();=0D=0A=20=
=20=20=20=20=20=20=20=20=20if=20(gle=3D=3D2=20||=20gle=3D=3D144=20||=20=
gle=3D=3D4051)=0D=0A=20=20=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=
=20=20=20=20=20=20Print("Manual=20Trade=20Confirmation=20Dialog=20=
aborted=20or=20invalid=20ticket.=20No=20Sell=20Positions=20will=20be=20=
attempted=20for=20the=20next=201=20hour.");=0D=0A=20=20=20=20=20=20=20=20=
=20=20=20=20dtSellAllowed=20=3D=20TimeCurrent()=20+=203600;=0D=0A=20=20=20=
=20=20=20=20=20=20=20=20=20return;=0D=0A=20=20=20=20=20=20=20=20=20=20}=0D=
=0A=20=20=20=20=20=20=20=20=20=20Print("Error=20modifying=20SELL=20order=20=
:=20",gle);=0D=0A=20=20=20=20=20=20=20=20=20=20attempts++;=0D=0A=20=20=20=
=20=20=20=20=20=20=20Sleep(2000);=0D=0A=20=20=20=20=20=20=20=20=20=20=
RefreshRates();=0D=0A=20=20=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20}=0D=
=0A=20=20=20=20=20=20if(attempts=20>=3D=2050)=0D=0A=20=20=20=20=20=20{=0D=
=0A=20=20=20=20=20=20=20=20Print("A=20Critical=20Error=20Occurred!=20The=20=
expert=20could=20not=20modify=20SELL=20position!");=0D=0A=20=20=20=20=20=20=
}=0D=0A=20=20=20=20=20=20=
//************************************************************************=
************************************************=0D=0A=20=20=20=20=20=20=
//*************TOM=20-=20added=20call=20to=20new=20routine=20to=20revise=20=
all=20trades=20in=20set=20to=20new=20tp=20value=20=
*******************************=0D=0A=20=20=20=20=20=20if=20(tp=20>=200)=0D=
=0A=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=
ModifyTakeProfits(tp,=20MagicNumber,=20OP_SELL);=0D=0A=20=20=20=20=20=20=
}=0D=0A=20=20=20=20=20=20=
//************************************************************************=
************************************************=0D=0A=20=20=20=20}=0D=0A=
=20=20}=0D=0A=0D=0A=20=20if=20((mySignal=3D=3D2=20||=20mySignal=3D=3D3)=20=
=0D=0A=20=20&&=20(dtBuyAllowed=20<=20TimeCurrent())=0D=0A=20=20&&=20=
((CurrentOpenOrders[OP_BUY]>0=20&&=20CurrentOpenOrders[OP_BUY]<MaxTrades=20=
&&=20(LastOrderOpenPrice[OP_BUY]-Ask>=3DPips*Point)=20&&=20=
(LastOrderOpenPrice[OP_BUY]>0))=0D=0A=20=20||=20=
(CurrentOpenOrders[OP_BUY]=3D=3D0=20&&=20mySignal=3D=3D2)))=0D=0A=20=20{=09=
=09=09=20=20=20=20=20=20=0D=0A=20=20=20=20myCount=3D1;=0D=0A=20=20=20=20=
if=20(RecoveryMode=20&&=20CurrentOpenOrders[OP_BUY]>0=20&&=20=
CurrentOpenOrders[OP_BUY]<MaxTrades=20&&=20=
LastOrderOpenPrice[OP_BUY]-Ask>=3DPips*Point*2)=0D=0A=20=20=20=20=20=20=
myCount=20=3D=20=
MathFloor((LastOrderOpenPrice[OP_BUY]-Ask)/(Pips*Point));=0D=0A=20=20=20=20=
CalculateLotArray(OP_BUY,CurrentOpenOrders[OP_BUY]);=0D=0A=0D=0A=20=20=20=
=20for(cnt=3D0;cnt<myCount;cnt++)=0D=0A=20=20=20=20{=0D=0A=20=20=20=20=20=
=20ticket=3D-1;=0D=0A=20=20=20=20=20=20attempts=3D0;=0D=0A=20=20=20=20=20=
=20BuyPrice=3DAsk;=0D=0A=20=20=20=20=20=20if=20(TakeProfit=3D=3D0)=20=
tp=3D0;=0D=0A=20=20=20=20=20=20else=20tp=3DBuyPrice+TakeProfit*Point;=0D=0A=
=20=20=20=20=20=20if=20(StopLoss=3D=3D0)=20sl=3D0;=0D=0A=20=20=20=20=20=20=
//************************************************************************=
************************************************=0D=0A=20=20=20=20=20=20=
//*************TOM=20-=20modified=20from=20"else=20=
sl=3DBuyPrice-StopLoss*Point;"=20to=20look=20up=20stop=20loss=20from=20=
1st=20trade=20***************=0D=0A=20=20=20=20=20=20else=20=
sl=3DCalcStopLoss(OP_BUY);=0D=0A=20=20=20=20=20=20=
//************************************************************************=
************************************************=0D=0A=20=20=20=20=20=20=
myBaseLot=3DLotSizeArray[CurrentOpenOrders[OP_BUY],OP_BUY];=0D=0A=20=20=20=
=20=20=20=0D=0A=20=20=20=20=20=20while(=20ticket=20<=200)=0D=0A=20=20=20=20=
=20=20{=0D=0A=20=20=20=20=20=20=20=20if(GetTradeContext())=20=
RefreshRates();=0D=0A=20=20=20=20=20=20=20=20=
if(AccountFreeMarginCheck(Symbol(),OP_BUY,myBaseLot)<=3D0=20||=20=
GetLastError()=3D=3D134)=0D=0A=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=
=20=20=20=20=20=20Print("NOT=20ENOUGH=20MONEY=20TO=20OPEN=20BUY=20ORDER!=20=
No=20further=20attempts=20to=20open=20new=20trades=20will=20occur.=20=20=
Monitoring=20existing=20orders.");=0D=0A=20=20=20=20=20=20=20=20=20=20=
Alert("NOT=20ENOUGH=20MONEY=20TO=20OPEN=20BUY=20ORDER!=20No=20further=20=
attempts=20to=20open=20new=20trades=20will=20occur.=20=20Monitoring=20=
existing=20orders.");=0D=0A=20=20=20=20=20=20=20=20=20=20=
TradingDisabled=3Dtrue;=0D=0A=20=20=20=20=20=20=20=20=20=20return;=0D=0A=20=
=20=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20=20=20=
ticket=3DOrderSend(Symbol(),OP_BUY,myBaseLot,NormalizeDouble(BuyPrice,myDi=
gits),slippage,0,0,"SPH=20EA=20"+MagicNumber,MagicNumber,0,ArrowsColor);=09=
=0D=0A=20=20=20=20=20=20=20=20if(ticket>0)=0D=0A=20=20=20=20=20=20=20=20=
{=0D=0A=20=20=20=20=20=20=20=20=20=20=
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))=0D=0A=20=20=20=20=20=
=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20Print("BUY=20=
order=20opened=20:=20",OrderOpenPrice());=0D=0A=20=20=20=20=20=20=20=20=20=
=20=20=20LastOrderOpenPrice[OP_BUY]=3DOrderOpenPrice();=0D=0A=20=20=20=20=
=20=20=20=20=20=20=20=20LastOrderOpenTime[OP_BUY]=3DOrderOpenTime();=0D=0A=
=20=20=20=20=20=20=20=20=20=20=20=20UpdateOrderStatus(true);=0D=0A=20=20=20=
=20=20=20=20=20=20=20=20=20break;=0D=0A=20=20=20=20=20=20=20=20=20=20}=0D=
=0A=20=20=20=20=20=20=20=20}=20=20=20=20=20=20=20=20=20=09=09=09=0D=0A=20=
=20=20=20=20=20=20=20else=0D=0A=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=
=20=20=20=20=20=20gle=3DGetLastError();=0D=0A=20=20=20=20=20=20=20=20=20=20=
if=20(gle=3D=3D2=20||=20gle=3D=3D144)=0D=0A=20=20=20=20=20=20=20=20=20=20=
{=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20Print("Manual=20Trade=20=
Confirmation=20Dialog=20aborted.=20No=20Buy=20Positions=20will=20be=20=
attempted=20for=20the=20next=201=20hour.");=0D=0A=20=20=20=20=20=20=20=20=
=20=20=20=20dtBuyAllowed=20=3D=20TimeCurrent()=20+=203600;=0D=0A=20=20=20=
=20=20=20=20=20=20=20=20=20return;=0D=0A=20=20=20=20=20=20=20=20=20=20}=0D=
=0A=20=20=20=20=20=20=20=20=20=20Print("Error=20opening=20BUY=20order=20=
:=20",gle);=0D=0A=20=20=20=20=20=20=20=20=20=20attempts++;=0D=0A=20=20=20=
=20=20=20=20=20=20=20Sleep(5000);=0D=0A=20=20=20=20=20=20=20=20=20=20=
RefreshRates();=0D=0A=20=20=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20=20=
=20if(attempts=20>=3D=2020)=0D=0A=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=
=20=20=20=20=20=20=20Print("20=20attempts=20to=20open=20BUY=20position=20=
have=20failed");=0D=0A=20=20=20=20=20=20=20=20=20=20break;=0D=0A=20=20=20=
=20=20=20=20=20}=0D=0A=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20=
ModifySucceeded=3Dfalse;=0D=0A=20=20=20=20=20=20attempts=3D0;=0D=0A=20=20=
=20=20=20=20while(!ModifySucceeded=20&&=20attempts<100)=0D=0A=20=20=20=20=
=20=20{=0D=0A=20=20=20=20=20=20=20=20if(GetTradeContext())=20=
RefreshRates();=0D=0A=20=20=20=20=20=20=20=20=
ModifySucceeded=3DOrderModify(ticket,OrderOpenPrice(),sl,tp,0,GreenYellow)=
;=0D=0A=20=20=20=20=20=20=20=20if(!ModifySucceeded)=0D=0A=20=20=20=20=20=20=
=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20gle=3DGetLastError();=0D=0A=20=
=20=20=20=20=20=20=20=20=20if=20(gle=3D=3D2=20||=20gle=3D=3D144=20||=20=
gle=3D=3D4051)=0D=0A=20=20=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=
=20=20=20=20=20=20Print("Manual=20Trade=20Confirmation=20Dialog=20=
aborted=20or=20invalid=20ticket.=20No=20Buy=20Positions=20will=20be=20=
attempted=20for=20the=20next=201=20hour.");=0D=0A=20=20=20=20=20=20=20=20=
=20=20=20=20dtBuyAllowed=20=3D=20TimeCurrent()=20+=203600;=0D=0A=20=20=20=
=20=20=20=20=20=20=20=20=20return;=0D=0A=20=20=20=20=20=20=20=20=20=20}=0D=
=0A=20=20=20=20=20=20=20=20=20=20Print("Error=20modifying=20BUY=20order=20=
:=20",gle);=0D=0A=20=20=20=20=20=20=20=20=20=20Print("cnt=3D",cnt,",=20=
myBaseLot=3D",myBaseLot,",=20BuyPrice=3D",BuyPrice,",=20=
ticket=3D",ticket);=0D=0A=20=20=20=20=20=20=20=20=20=20attempts++;=0D=0A=20=
=20=20=20=20=20=20=20=20=20Sleep(2000);=0D=0A=20=20=20=20=20=20=20=20=20=20=
RefreshRates();=0D=0A=20=20=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20}=0D=
=0A=20=20=20=20=20=20if(attempts=20>=3D=2050)=0D=0A=20=20=20=20=20=20{=0D=
=0A=20=20=20=20=20=20=20=20Print("A=20Critical=20Error=20Occurred!=20The=20=
expert=20could=20not=20modify=20BUY=20position!");=0D=0A=20=20=20=20=20=20=
}=0D=0A=20=20=20=20=20=20=
//************************************************************************=
************************************************=0D=0A=20=20=20=20=20=20=
//*************TOM=20-=20added=20call=20to=20new=20routine=20to=20revise=20=
all=20trades=20in=20set=20to=20new=20tp=20value=20=
*******************************=0D=0A=20=20=20=20=20=20if=20(tp=20>=200)=0D=
=0A=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=
ModifyTakeProfits(tp,=20MagicNumber,=20OP_BUY);=0D=0A=20=20=20=20=20=20}=0D=
=0A=20=20=20=20=20=20=
//************************************************************************=
************************************************=0D=0A=20=20=20=20}=0D=0A=
=20=20}=0D=0A}=20=20=20=0D=0A=0D=0A=0D=0Abool=20GetTradeContext()=0D=0A{=0D=
=0A=20=20bool=20hadToWait=3Dfalse;=0D=0A=20=20=0D=0A=20=20=
while(!IsTradeAllowed())=0D=0A=20=20{=0D=0A=20=20=20=20Sleep(5000);=0D=0A=
=20=20=20=20hadToWait=3Dtrue;=0D=0A=20=20}=0D=0A=20=20=0D=0A=20=20=
while(IsTradeContextBusy())=0D=0A=20=20{=0D=0A=20=20=20=20Sleep(200);=0D=0A=
=20=20=20=20hadToWait=3Dtrue;=0D=0A=20=20}=0D=0A=20=20=0D=0A=20=20=
return(hadToWait);=0D=0A}=0D=0A=0D=0A=0D=0Avoid=20OpenLimitOrders(int=20=
mySignal)=0D=0A//=20mySignal=20=3D=201=20for=20sell,=202=20for=20buy,=20=
3=20for=20no=20signal.=0D=0A{=0D=0A=20=20int=20myCount;=0D=0A=0D=0A=20=20=
if=20(mySignal=3D=3D1=20&&=20CurrentOpenOrders[OP_SELL]<MaxTrades)=0D=0A=20=
=20{=0D=0A=20=20=20=20=
CalculateLotArray(OP_SELL,CurrentOpenOrders[OP_SELL]);=0D=0A=20=20=20=20=
for=20(myCount=3DCurrentOpenOrders[OP_SELL];myCount<MaxTrades;myCount++)=0D=
=0A=20=20=20=20{=0D=0A=20=20=20=20=20=20SellPrice=20=3D=20=
LastOrderOpenPrice[OP_SELL]+Pips*Point*myCount;=0D=0A=20=20=20=20=20=20=
if=20(TakeProfit=3D=3D0)=20tp=3D0;=0D=0A=20=20=20=20=20=20else=20=
tp=3DSellPrice-TakeProfit*Point;=0D=0A=20=20=20=20=20=20if=20=
(StopLoss=3D=3D0)=20sl=3D0;=0D=0A=20=20=20=20=20=20else=20=
sl=3DSellPrice+StopLoss*Point;=0D=0A=20=20=20=20=20=20=
myBaseLot=3DLotSizeArray[myCount,OP_SELL];=0D=0A=20=20=20=20=20=20=
GetTradeContext();=0D=0A=20=20=20=20=20=20=
OrderSend(Symbol(),OP_SELLLIMIT,myBaseLot,NormalizeDouble(SellPrice,myDigi=
ts),slippage,sl,tp,"SPH=20EA=20"+MagicNumber,MagicNumber,0,ArrowsColor);=0D=
=0A=20=20=20=20=20=20Sleep(200);=0D=0A=20=20=20=20}=0D=0A=20=20=20=20=
UpdateOrderStatus(true);=0D=0A=20=20}=0D=0A=0D=0A=20=20if=20(mySignal=3D=3D=
2=20&&=20CurrentOpenOrders[OP_BUY]<MaxTrades)=0D=0A=20=20{=0D=0A=20=20=20=
=20CalculateLotArray(OP_BUY,CurrentOpenOrders[OP_BUY]);=0D=0A=20=20=20=20=
for=20(myCount=3DCurrentOpenOrders[OP_BUY];myCount<MaxTrades;myCount++)=0D=
=0A=20=20=20=20{=0D=0A=20=20=20=20=20=20BuyPrice=20=3D=20=
LastOrderOpenPrice[OP_BUY]-Pips*Point*myCount;=0D=0A=20=20=20=20=20=20if=20=
(TakeProfit=3D=3D0)=20{=20tp=3D0;=20}=0D=0A=20=20=20=20=20=20else=20{=20=
tp=3DBuyPrice+TakeProfit*Point;=20}=09=0D=0A=20=20=20=20=20=20if=20=
(StopLoss=3D=3D0)=20=20{=20sl=3D0;=20}=0D=0A=20=20=20=20=20=20else=20{=20=
sl=3DBuyPrice-StopLoss*Point;=20}=0D=0A=20=20=20=20=20=20=
myBaseLot=3DLotSizeArray[myCount,OP_BUY];=0D=0A=20=20=20=20=20=20=
GetTradeContext();=0D=0A=20=20=20=20=20=20=
OrderSend(Symbol(),OP_BUYLIMIT,myBaseLot,NormalizeDouble(BuyPrice,myDigits=
),slippage,sl,tp,"SPH=20EA=20"+MagicNumber,MagicNumber,0,ArrowsColor);=0D=
=0A=20=20=20=20=20=20Sleep(200);=0D=0A=20=20=20=20}=0D=0A=20=20=20=20=
UpdateOrderStatus(true);=0D=0A=20=20}=09=20=20=20=20=0D=0A}=0D=0A=0D=0A=0D=
=0Avoid=20DeleteAllObjects()=0D=0A{=0D=0A=20=20ObjectDelete("MaxDD");=0D=0A=
=20=20ObjectDelete("B/E");=0D=0A=20=20int=20=20=20=20=
obj_total=3DObjectsTotal();=0D=0A=20=20string=20name;=0D=0A=20=20for(int=20=
i=3D0;i<=3Dobj_total;i++)=0D=0A=20=20{=0D=0A=20=20=20=20=
name=3DObjectName(i);=0D=0A=20=20=20=20if=20(name!=3D"")=20=
ObjectDelete(name);=0D=0A=20=20}=0D=0A}=0D=0A=0D=0A=0D=0Abool=20=
IsTradingTime()=0D=0A{=0D=0A=20=20int=20currentDay=20=3D=20=
TimeDayOfWeek(TimeCurrent()=20-=203600=20*=20ManualGMToffset);=0D=0A=20=20=
int=20currentHour=20=3D=20TimeHour(TimeCurrent()=20-=203600=20*=20=
ManualGMToffset);=0D=0A=20=20if=20(!TradeOnFriday=20&&=20currentDay=20>=3D=
=205)=20return(false);=20//=20GMT=20Adjusted=20Day=20of=20Week=0D=0A=20=20=
if=20(currentDay=20>=3D=205=20&&=20currentHour=20>=3D=20=
FridayGMTStopHour=20&&=20FridayGMTStopHour=20>=3D=200)=20return(false);=0D=
=0A=20=20if=20(GMTStartHour=20=3D=3D=20GMTStopHour)=20return(true);=0D=0A=
=20=20return(IsTradingTimeSub(GMTStartHour,=20GMTStopHour));=0D=0A}=0D=0A=
=0D=0A=0D=0Abool=20IsTradingTimeSub(int=20myStartHour,=20int=20=
myEndHour)=0D=0A{=0D=0A=20=20int=20currentHour=20=3D=20=
TimeHour(TimeCurrent()=20-=203600=20*=20ManualGMToffset);=0D=0A=20=20int=20=
adjustedEndHour=20=3D=20NormalizedHourParam(myEndHour=20-=201);=0D=0A=0D=0A=
=20=20if=20(myStartHour=20=3D=3D=20adjustedEndHour)=20if=20(currentHour=20=
!=3D=20myStartHour)=20return(false);=0D=0A=20=20if=20(myStartHour=20>=20=
adjustedEndHour)=20=20if=20(currentHour=20<=20myStartHour=20&&=20=
currentHour=20>=20adjustedEndHour)=20return(false);=0D=0A=20=20if=20=
(myStartHour=20<=20adjustedEndHour)=20=20if=20(currentHour=20<=20=
myStartHour=20||=20currentHour=20>=20adjustedEndHour)=20return(false);=0D=
=0A=0D=0A=20=20return(true);=0D=0A}=0D=0A=0D=0A=0D=0Astring=20=
GMTSourceURL=20=3D=20=
"http://wwp.greenwichmeantime.com/time/scripts/clock-8/x.php";=0D=0A=
string=20GMTUserAgent=20=3D=20"Mozilla/4.0=20(compatible;=20MSIE=208.0;=20=
Windows=20NT=206.0;=20Trident/4.0)";=0D=0Aint=20AutoGMTOffset()=0D=0A{=0D=
=0A=20=20string=20gvName1=20=3D=20=
StringConcatenate(AccountNumber(),"_GMTOffset_Value");=0D=0A=20=20string=20=
gvName2=20=3D=20=
StringConcatenate(AccountNumber(),"_GMTOffset_Timestamp");=0D=0A=20=20=
double=20gvValue1=20=3D=20GlobalVariableGet(gvName1);=0D=0A=20=20double=20=
gvValue2=20=3D=20GlobalVariableGet(gvName2);=0D=0A=0D=0A=20=20if=20=
((GlobalVariableCheck(gvName1)=20&&=20GlobalVariableCheck(gvName2))=0D=0A=
=20=20&&=20!((DayOfWeek()=20<=20TimeDayOfWeek(gvValue2))=20||=0D=0A=20=20=
=20=20=20=20=20(DayOfWeek()=3D=3D=20TimeDayOfWeek(gvValue2)=20&&=20=
TimeCurrent()-gvValue2=20>=2086400)=20||=0D=0A=20=20=20=20=20=20=20=
(DayOfWeek()=20>=20TimeDayOfWeek(gvValue2)=20&&=20TimeCurrent()-gvValue2=20=
>=20604800)))=0D=0A=20=20=20=20=20=20=0D=0A=20=20//=20Values=20are=20=
valid=20and=20we=20have=20not=20passed=20over=20a=20Sunday=20since=20the=20=
last=20valid=20time=20GMT=20was=20checked=0D=0A=20=20//=20We=20add=20the=20=
above=20restrictions=20and=20use=20the=20global=20variable=20to=20=
minimize=20hits=20to=20the=20new=20public=20time=20source=0D=0A=20=20{=0D=
=0A=20=20=20=20//Print=20("Successfully=20read=20GMT=20Offset=20from=20=
globals");=0D=0A=20=20=20=20return=20(gvValue1);=0D=0A=20=20}=0D=0A=20=20=
else=0D=0A=20=20{=0D=0A=20=20=20=20Comment("Connecting=20to=20public=20=
GMT=20time=20source...");=0D=0A=20=20=20=20string=20status;=0D=0A=20=20=20=
=20int=20result,=20offsetTmp;=0D=0A=20=20=20=20InternetHandle=20=3D=20=
InternetOpenA(GMTUserAgent,=200,=20"0",=20"0",=200);=0D=0A=20=20=20=20=
string=20myBuffer=20=3D=20"ABCDEFGHIJ";=0D=0A=20=20=20=20if=20=
(!RetrieveURLData(GMTSourceURL,=20myBuffer))=0D=0A=20=20=20=20{=0D=0A=20=20=
=20=20=20=20if=20(InternetHandle=20=3D=3D=200)=20status=20=3D=20"Error=20=
connecting=20to=20AutoGMT=20time=20source.";=0D=0A=20=20=20=20=20=20=
result=20=3D=20-999999999;=0D=0A=20=20=20=20=20=20Comment(status);=0D=0A=20=
=20=20=20=20=20Print(status);=0D=0A=20=20=20=20=20=20Sleep(3000);=0D=0A=20=
=20=20=20}=0D=0A=20=20=20=20else=0D=0A=20=20=20=20{=0D=0A=20=20=20=20=20=20=
offsetTmp=20=3D=20TimeCurrent()=20-=20StrToInteger(myBuffer);=0D=0A=20=20=
=20=20=20=20result=20=3D=20MathFloor((offsetTmp=20+=201800)=20/=203600);=0D=
=0A=20=20=20=20=20=20if=20(result=20<=3D=2024=20&&=20result=20>=3D=20=
-24)=0D=0A=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=
GlobalVariableSet(gvName1,result);=0D=0A=20=20=20=20=20=20=20=20=
GlobalVariableSet(gvName2,TimeCurrent());=0D=0A=20=20=20=20=20=20=20=20=
//Print=20("Successfully=20stored=20GMT=20Offset=20in=20globals");=0D=0A=20=
=20=20=20=20=20}=0D=0A=20=20=20=20}=0D=0A=20=20=20=20=
InternetCloseHandle(InternetHandle);=0D=0A=20=20=20=20return(result);=0D=0A=
=20=20}=0D=0A}=0D=0A=0D=0A=0D=0Abool=20RetrieveURLData(string=20URL,=20=
string=20&datum)=0D=0A{=0D=0A=20=20int=20thisHandle=20=3D=20=
InternetOpenUrlA(InternetHandle,=20URL,=20"0",=200,=20-2080374528,=200);=0D=
=0A=20=20if=20(thisHandle=20=3D=3D=200)=20return=20(false);=20//failure=0D=
=0A=20=20int=20a[]=20=3D=20{1};=0D=0A=20=20string=20anotherBuffer=20=3D=20=
"abcdefghij";=0D=0A=20=20int=20myStatus=20=3D=20=
InternetReadFile(thisHandle,=20anotherBuffer,=2010,=20a);=0D=0A=20=20if=20=
(thisHandle=20!=3D=200)=20InternetCloseHandle(thisHandle);=0D=0A=20=20=
datum=20=3D=20anotherBuffer;=0D=0A=20=20return(true);=20//since=20datum=20=
is=20a=20pointer,=20its=20contents=20updated=20between=20functions=0D=0A=
}=0D=0A=0D=0A=0D=0A//=20Normalize=20hours=20to=20fall=20into=200-23=20=
range,=20regardless=20of=20input=0D=0Aint=20NormalizedHourParam(int=20=
myParam)=0D=0A{=0D=0A=20=20while=20(true)=0D=0A=20=20{=0D=0A=20=20=20=20=
if=20(myParam=20>=3D=2024)=0D=0A=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=
myParam=20-=3D=2024;=0D=0A=20=20=20=20=20=20=20continue;=0D=0A=20=20=20=20=
}=0D=0A=20=20=20=20if=20(myParam=20>=3D=200)=20break;=0D=0A=20=20=20=20=
myParam=20+=3D=2024;=0D=0A=20=20}=0D=0A=20=20return(myParam);=0D=0A}=0D=0A=
=0D=0A=0D=0A//=20Track=20Draw=20Down=20statistics=20for=20this=20traded=20=
symbol=0D=0Avoid=20TrackDrawDown()=0D=0A{=0D=0A=20=20double=20OpenProfit=20=
=3D=20SPProfit[0]+SPProfit[1];=0D=0A=20=20if=20(OpenProfit=20<=20MaxDD)=20=
MaxDD=20=3D=20OpenProfit;=0D=0A=20=20if=20=
((OpenProfit/AccountBalance())*100=20<=20MaxPercentDD)=20MaxPercentDD=20=
=3D=20(OpenProfit/AccountBalance())*100;=0D=0A=0D=0A=20=20if=20=
(ShowDDinfoOnChart)=0D=0A=20=20{=0D=0A=20=20=20=20ObjectCreate(=20"B/E",=20=
OBJ_LABEL,0,0,0,0,0,0);=0D=0A=20=20=20=20ObjectSet(=20=20=20=20"B/E",=20=
OBJPROP_CORNER,3);=0D=0A=20=20=20=20ObjectSet(=20=20=20=20"B/E",=20=
OBJPROP_XDISTANCE,=203);=0D=0A=20=20=20=20ObjectSet(=20=20=20=20"B/E",=20=
OBJPROP_YDISTANCE,=2030);=0D=0A=20=20=20=20ObjectSetText("B/E",=20"B/E:=20=
$"+DoubleToStr(NormalizeDouble(AccountBalance(),2),2)+"/"+DoubleToStr(Norm=
alizeDouble(AccountEquity(),2),2),12,"Impact",White);=0D=0A=0D=0A=20=20=20=
=20ObjectCreate(=20"MaxDD",=20OBJ_LABEL,0,0,0,0,0,0);=0D=0A=20=20=20=20=
ObjectSet(=20=20=20=20"MaxDD",=20OBJPROP_CORNER,3);=0D=0A=20=20=20=20=
ObjectSet(=20=20=20=20"MaxDD",=20OBJPROP_XDISTANCE,=203);=0D=0A=20=20=20=20=
ObjectSet(=20=20=20=20"MaxDD",=20OBJPROP_YDISTANCE,=202);=0D=0A=20=20=20=20=
ObjectSetText("MaxDD",=20"RDD=20Max:=20=
$"+DoubleToStr(NormalizeDouble(MaxDD,2),2)+"/"+DoubleToStr(NormalizeDouble=
(MaxPercentDD,2),1)+"%",12,"Impact",White);=0D=0A=20=20}=0D=0A=20=20=
return;=0D=0A}=0D=0A=0D=0A=0D=0A//=20Check=20for=20any=20conditions=20=
where=20we=20should=20close=20out=20trades=20and=20possibly=20halt=20=
further=20trading=20on=20this=20symbol=0D=0A//=20return=200:=20no=20=
close=20signal,=201:=20close=20for=20buy,=20sell=20or=20both,=202:=20=
close=20for=20buy,=20sell=20or=20both,=20and=20Disable=20EA=0D=0A//=20=
return=203:=20Signal=20Disabling=20of=20EA=20due=20to=20Draw=20Down=20=
Control=0D=0Aint=20CloseOutTradesCheck()=0D=0A{=0D=0A=20=20int=20result=20=
=3D=200;=0D=0A=20=20=0D=0A=20=20//=20Check=20to=20see=20if=20I=20reached=20=
my=20equity=20+=20closed=20profit=20target=20for=20this=20symbol=20+=20=
magic=20numbers=0D=0A=20=20if=20(MyMoneyProfitTarget)=0D=0A=20=20{=0D=0A=20=
=20=20=20MMProfit[0]=3D0;=0D=0A=20=20=20=20MMProfit[1]=3D0;=0D=0A=20=20=20=
=20//=20First,=20we=20iterate=20through=20all=20open=20positions=20for=20=
this=20symbol=0D=0A=20=20=20=20for(cnt=3D0;cnt<OrdersTotal();cnt++)=0D=0A=
=20=20=20=20{=0D=0A=20=20=20=20=20=20if=20(OrderSelect(cnt,=20=
SELECT_BY_POS,=20MODE_TRADES))=0D=0A=20=20=20=20=20=20{=0D=0A=20=20=20=20=
=20=20=20=20if=20(IsMyOrder())=20MMProfit[OrderType()]=20+=3D=20=
OrderProfit()=20+=20OrderSwap()=20+=20OrderCommission();=0D=0A=20=20=20=20=
=20=20}=0D=0A=20=20=20=20}=0D=0A=20=20=20=20=0D=0A=20=20=20=20//=20Next,=20=
we=20iterate=20through=20all=20available=20history=20for=20this=20symbol=20=
+=20magic=20numbers=20=0D=0A=20=20=20=20=
for(cnt=3D0;cnt<OrdersHistoryTotal();cnt++)=0D=0A=20=20=20=20{=0D=0A=20=20=
=20=20=20=20if=20(OrderSelect(cnt,=20SELECT_BY_POS,=20MODE_HISTORY))=0D=0A=
=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20if=20(IsMyOrder())=20=
MMProfit[OrderType()]=20+=3D=20OrderProfit()=20+=20OrderSwap()=20+=20=
OrderCommission();=0D=0A=20=20=20=20=20=20}=0D=0A=20=20=20=20}=0D=0A=0D=0A=
=20=20=20=20//=20Finally,=20see=20if=20the=20criteria=20is=20met=20or=20=
not=0D=0A=20=20=20=20if=20((MMProfit[OP_BUY]+MMProfit[OP_SELL])=20>=3D=20=
My_Money_Profit_Target)=0D=0A=20=20=20=20{=0D=0A=20=20=20=20=20=20text=20=
=3D=20text=20+=20"\nClosing=20all=20orders=20and=20stop=20trading=20=
because=20My_Money_Profit_Target=20reached=20for=20this=20symbol.";=0D=0A=
=20=20=20=20=20=20Print("Closing=20all=20orders=20and=20stop=20trading=20=
because=20My_Money_Profit_Target=20reached=20for=20this=20symbol.");=0D=0A=
=20=20=20=20=20=20Print("Profit:=20=
",NormalizeDouble(MMProfit[OP_BUY]+MMProfit[OP_SELL],2),"=20Equity:=20=
",NormalizeDouble(AccountEquity(),2));=0D=0A=20=20=20=20=20=20result=20=3D=
=202;=0D=0A=20=20=20=20=20=20exitBuy=20=3D=20true;=0D=0A=20=20=20=20=20=20=
exitSell=20=3D=20true;=0D=0A=20=20=20=20}=0D=0A=20=20}=0D=0A=0D=0A=20=20=
//=20SecureProfit=20Protection:=20Close=20out=20long=20running=20trades=20=
with=20a=20small=20profit=0D=0A=20=20SPProfit[0]=3D0;=0D=0A=20=20=
SPProfit[1]=3D0;=0D=0A=20=20for(cnt=3D0;cnt<OrdersTotal();cnt++)=0D=0A=20=
=20{=0D=0A=20=20=20=20if=20(OrderSelect(cnt,=20SELECT_BY_POS,=20=
MODE_TRADES))=0D=0A=20=20=20=20{=0D=0A=20=20=20=20=20=20if=20=
(IsMyOrder())=20SPProfit[OrderType()]=20+=3D=20OrderProfit()=20+=20=
OrderSwap()=20+=20OrderCommission();=0D=0A=20=20=20=20}=0D=0A=20=20}=0D=0A=
=0D=0A=20=20if=20(SecureProfitProtection=20&&=20=
SPProfit[OP_BUY]>=3DSecureProfit=20&&=20=
MarketOpenOrders[OP_BUY]>=3DOrderstoProtect)=20=0D=0A=20=20{=0D=0A=20=20=20=
=20text=20=3D=20text=20+=20"\nClosing=20BUY=20orders=20because=20account=20=
protection=20with=20SecureProfit=20was=20triggered.";=0D=0A=20=20=20=20=
Print("Closing=20BUY=20orders=20because=20account=20protection=20with=20=
SecureProfit=20was=20triggered.");=0D=0A=20=20=20=20Print("Balance:=20=
",NormalizeDouble(AccountBalance(),2),"=20Equity:=20",=20=
NormalizeDouble(AccountEquity(),2),"=20Profit:=20=
",NormalizeDouble(SPProfit[OP_BUY],2));=0D=0A=20=20=20=20result=20=3D=20=
1;=0D=0A=20=20=20=20exitBuy=20=3D=20true;=0D=0A=20=20}=0D=0A=0D=0A=20=20=
if=20(SecureProfitProtection=20&&=20SPProfit[OP_SELL]>=3DSecureProfit=20=
&&=20MarketOpenOrders[OP_SELL]>=3DOrderstoProtect)=20=0D=0A=20=20{=0D=0A=20=
=20=20=20text=20=3D=20text=20+=20"\nClosing=20SELL=20orders=20because=20=
account=20protection=20with=20SecureProfit=20was=20triggered.";=0D=0A=20=20=
=20=20Print("Closing=20SELL=20orders=20because=20account=20protection=20=
with=20SecureProfit=20was=20triggered.");=0D=0A=20=20=20=20=
Print("Balance:=20",NormalizeDouble(AccountBalance(),2),"=20Equity:=20",=20=
NormalizeDouble(AccountEquity(),2),"=20Profit:=20=
",NormalizeDouble(SPProfit[OP_SELL],2));=0D=0A=20=20=20=20result=20=3D=20=
1;=0D=0A=20=20=20=20exitSell=20=3D=20true;=0D=0A=20=20}=0D=0A=0D=0A=0D=0A=
=20=20//=20Check=20to=20see=20if=20any=20trades=20recently=20closed=20=
due=20to=20hitting=20StopLoss=20or=20TakeProfit,=20if=20so,=20close=20=
out=20that=20sequence=0D=0A=20=20//UpdateOrderStatus(false);=20//=20=
Refresh=20current=20open=20order=20count,=20but=20leave=20previous=20=
count=20alone=0D=0A=20=20UpdateOrderStatus(true);=20//=20Refresh=20=
current=20open=20order=20count,=20disable=20auto-closing=20routine=0D=0A=20=
=20if=20(PreviousOpenOrders[OP_BUY]=20>=20CurrentOpenOrders[OP_BUY])=0D=0A=
=20=20{=0D=0A=20=20=20=20exitBuy=20=3D=20true;=0D=0A=20=20=20=20result=20=
=3D=201;=0D=0A=20=20}=0D=0A=0D=0A=20=20if=20(PreviousOpenOrders[OP_SELL]=20=
>=20CurrentOpenOrders[OP_SELL])=0D=0A=20=20{=0D=0A=20=20=20=20exitSell=20=
=3D=20true;=0D=0A=20=20=20=20result=20=3D=201;=0D=0A=20=20}=0D=0A=0D=0A=0D=
=0A=20=20//=20Close=20out=20any=20open=20trades=20if=20TTMGoFlat=3Dtrue=20=
and=20we=20are=20outside=20of=20trading=20hours=20or=20trading=20days=0D=0A=
=20=20if=20(!IsTradingTime()=20&&=20TTMGoFlat=20&&=20=
CurrentOpenOrders[0]+CurrentOpenOrders[1]>0)=0D=0A=20=20{=0D=0A=20=20=20=20=
text=20=3D=20text=20+=20"\nClosing=20orders=20because=20outside=20of=20=
trading=20window.";=0D=0A=20=20=20=20Print("Closing=20orders=20because=20=
outside=20of=20trading=20window.");=0D=0A=20=20=20=20Print("Balance:=20=
",NormalizeDouble(AccountBalance(),2),"=20Equity:=20",=20=
NormalizeDouble(AccountEquity(),2),"=20Profit:=20=
",NormalizeDouble(SPProfit[OP_BUY]+SPProfit[OP_SELL],2));=0D=0A=20=20=20=20=
exitBuy=20=3D=20true;=0D=0A=20=20=20=20exitSell=20=3D=20true;=0D=0A=20=20=
=20=20result=20=3D=201;=0D=0A=20=20}=0D=0A=0D=0A=0D=0A=20=20//=20If=20=
DDC=20thresholds=20are=20breached,=20go=20flat=20and=20disabled=20=
further=20trading=0D=0A=20=20if=20((MaxDDControl=20&&=20=
MathAbs(MaxDD)>=3DMathAbs(MaxAllowedDD))=20||=20(MaxPercentDDControl=20=
&&=20MathAbs(MaxPercentDD)>=3DMathAbs(MaxAllowedPercentDD)))=0D=0A=20=20=
{=0D=0A=20=20=20=20exitBuy=20=3D=20true;=0D=0A=20=20=20=20exitSell=20=3D=20=
true;=0D=0A=20=20=20=20result=20=3D=203;=0D=0A=20=20}=0D=0A=0D=0A=20=20=
return(result);=20=20=20=0D=0A}=0D=0A=0D=0A=0D=0A//=20All=20the=20fancy=20=
risk=20management=20code=20is=20here.=20=20If=20mm=3D0,=20just=20use=20=
the=20user-specified=20lot=20size.=0D=0A//=20If=20mm=3D1,=20use=20the=20=
basic=20risk=20multiplier=20approach.=20=20If=20mm=3D2,=20set=20max=20%=20=
of=20account=20balance=20to=20risk=20per=20trade=20sequence=0D=0Avoid=20=
CalculateLotArray(int=20myDirection,int=20openTradeCount)=0D=0A{=0D=0A=20=
=20double=20MaxLossAmount;=0D=0A=20=20if=20(mm=20<=3D=200=20||=20mm=20>=20=
2=20)=0D=0A=20=20{=0D=0A=20=20=20=20=
LotSizeArray[0,myDirection]=3DNormalizedLots(Lots,true);=0D=0A=20=20=20=20=
for=20(cnt=3D1;cnt<MaxTrades;cnt++)=20=
LotSizeArray[cnt,myDirection]=3DLotSizeArray[cnt-1,myDirection]*multiply;=0D=
=0A=20=20=20=20for=20(cnt=3D1;cnt<MaxTrades;cnt++)=20=
LotSizeArray[cnt,myDirection]=3DNormalizedLots(LotSizeArray[cnt,myDirectio=
n],true);=0D=0A=20=20=20=20if=20(openTradeCount=3D=3D0)=20=
LotSizeArray[99,myDirection]=3DAccountBalance();=0D=0A=20=20}=0D=0A=0D=0A=
=20=20if=20(mm=20=3D=3D=201)=0D=0A=20=20{=0D=0A=20=20=20=20if=20=
(openTradeCount=3D=3D0=20||=20(openTradeCount>0=20&&=20AccountBalance()=20=
>=20LotSizeArray[99,myDirection]))=0D=0A=20=20=20=20//=20Only=20recalc=20=
if=20no=20trades=20open=20or=20if=20account=20balance=20has=20increased=20=
since=20the=20trade=20sequence=20has=20begun=0D=0A=20=20=20=20{=0D=0A=20=20=
=20=20=20=20double=20myLotStep=20=3D=20MarketInfo(Symbol(),=20=
MODE_LOTSTEP);=0D=0A=20=20=20=20=20=20if=20(TradeMicroLots)=20myLotStep=20=
=3D=200.01;=0D=0A=20=20=20=20=20=20=
BaseLot=3DMathCeil(AccountBalance()*risk/10000)/100;=20//=20BaseLot=20=
amount=20to=200.01=20precision=0D=0A=20=20=20=20=20=20BaseLot=3DBaseLot=20=
*=20100000=20/=20MarketInfo(Symbol(),=20MODE_LOTSIZE);=20//=20Adjust=20=
for=20broker=20lot=20size=20information=20(mini=20vs.=20std)=0D=0A=20=20=20=
=20=20=20LotSizeArray[0,myDirection]=3DNormalizedLots(BaseLot,true);=0D=0A=
=20=20=20=20=20=20for=20(cnt=3D1;cnt<MaxTrades;cnt++)=20=
LotSizeArray[cnt,myDirection]=3DLotSizeArray[cnt-1,myDirection]*multiply;=0D=
=0A=20=20=20=20=20=20for=20(cnt=3D1;cnt<MaxTrades;cnt++)=20=
LotSizeArray[cnt,myDirection]=3DNormalizedLots(LotSizeArray[cnt,myDirectio=
n],true);=0D=0A=20=20=20=20=20=20if=20(openTradeCount=3D=3D0)=20=
LotSizeArray[99,myDirection]=3DAccountBalance();=0D=0A=20=20=20=20}=0D=0A=
=20=20}=0D=0A=0D=0A=20=20if=20(mm=20=3D=3D=202)=0D=0A=20=20{=0D=0A=20=20=20=
=20/*=20Example=20with=20600=20PIP=20SL,=2090=20PIP=20spacing,=201.7x=20=
Lot=20Size=20multiplier:=0D=0A=20=20=20=20600=20+=20510*1.7^1=20+=20=
420*1.7^2=20+=20330*1.7^3=20+=20240*1.7^4=20+=20150*1.7^5=20=3D=20=
XAdjPips=0D=0A=20=20=20=20Total=20=3D=20MarketInfo(Symbol(),=20=
MODE_TICKVALUE)=20*=20XAdjPips;=0D=0A=20=20=20=20Risk=20=3D=20Total=20/=20=
AccountBalance();=0D=0A=0D=0A=20=20=20=20Therefore,=20if:=20=0D=0A=20=20=20=
=201=20lot=20=3D=200.33=20from=20the=20tick_value,=20which=20is=20based=20=
on=201=20standard=20lot=20suppose=20it=20results=20in=2033%=20risk=0D=0A=20=
=20=20=20X=20lot=20=3D=200.10=20but=20we=20want=20the=20lot=20size=20=
equivalent=20of=20just=2010%=20of=20account=20risk=0D=0A=20=20=20=20X=20=
=3D=200.1/0.33=20converts=20to:=20risk%=20*=20accountbalance()=20/=20=
total=0D=0A=0D=0A=20=20=20=20Finally:=0D=0A=20=20=20=20BaseLot=20=3D=20=
risk%=20*=20accountbalance()=20/=20total;=0D=0A=20=20=20=20=0D=0A=20=20=20=
=20This=20risk=20model=20is=20not=20like=20mm=3D1,=20which=20steps=20up=20=
risk=20in=20abrupt=20steps,=20especially=20on=20smaller=20account=20=
sizes.=0D=0A=0D=0A=20=20=20=20This=20special=20MM=20system=20uses=20the=20=
Outside=20In=20Risk=20Approach...=20or=20balanced=20risk=20approach:=0D=0A=
=20=20=20=20Note=20that=20using=20this=20method,=20the=20risk=20is=20=
first=20stepped=20up=20from=20the=20trades=20that=20come=20later=20in=20=
the=20sequence=0D=0A=20=20=20=20since=20it=20is=20less=20risky=20to=20=
add=200.01=20lot=20to=20the=206th=20trade=20than=20it=20is=20to=20add=20=
0.01=20lot=20to=20the=20first=20trade.=0D=0A=20=20=20=20This=20results=20=
in=20a=20higher=20Profit=20Factor=20with=20a=20slightly=20lower=20draw=20=
down.=0D=0A=20=20=20=20=0D=0A=20=20=20=20Thank=20you,=20Tom=20Bradbury,=20=
for=20the=20idea=20to=20add=20in=20risk=20from=20the=20"outside=20in!"=0D=
=0A=20=20=20=20*/=0D=0A=20=20=20=20=0D=0A=20=20=20=20if=20(MaxTrades>0=20=
&&=20(openTradeCount=3D=3D0=20||=20(openTradeCount>0=20&&=20=
AccountBalance()=20>=20LotSizeArray[99,myDirection])))=0D=0A=20=20=20=20=
//=20Only=20recalc=20if=20no=20trades=20open=20or=20if=20account=20=
balance=20has=20increased=20since=20the=20trade=20sequence=20has=20begun=0D=
=0A=20=20=20=20{=0D=0A=20=20=20=20=20=20MaxLossAmount=20=3D=200;=0D=0A=20=
=20=20=20=20=20for=20(cnt=3D0;cnt<MaxTrades;cnt++)=20MaxLossAmount=20+=3D=20=
MathMax((StopLoss=20-=20cnt*Pips),0)=20*=20MathPow(multiply,cnt);=20=
//TB:=20MathMax=20added=0D=0A=20=20=20=20=20=20BaseLot=20=3D=20=
(risk/100)=20*=20AccountBalance()=20/=20(MarketInfo(Symbol(),=20=
MODE_TICKVALUE)=20*=20MaxLossAmount);=0D=0A=20=20=20=20=20=20double=20=
MaxTradeLotSize1=20=3D=20NormalizedLots(NormalizedLots(BaseLot,false)=20=
*=20MathPow(multiply,MaxTrades-1),true);=0D=0A=20=20=20=20=20=20double=20=
MaxTradeLotSize2=20=3D=20NormalizedLots(BaseLot=20*=20=
MathPow(multiply,MaxTrades-1),true);=0D=0A=20=20=20=20=20=20if=20=
(MaxTradeLotSize2>=3DMaxTradeLotSize1)=0D=0A=20=20=20=20=20=20{=20//=20=
Assign=20incrementally=20increasing=20lot=20size=20values=20from=20the=20=
outside=20in=20to=20ramp=20up=20risk=20more=20evenly=0D=0A=20=20=20=20=20=
=20=20=20//=20Also=20called=20to=20handle=20when=20MaxTradeLotSize=20=
exceeds=20maximum=20allowed=20by=20broker=0D=0A=20=20=20=20=20=20=20=20=
LotSizeArray[MaxTrades-1,myDirection]=3DMaxTradeLotSize2;=0D=0A=20=20=20=20=
=20=20=20=20for=20(cnt=3DMaxTrades-2;cnt>=3D0;cnt--)=20=
LotSizeArray[cnt,myDirection]=3DLotSizeArray[cnt+1,myDirection]/multiply;=0D=
=0A=20=20=20=20=20=20=20=20for=20(cnt=3DMaxTrades-2;cnt>=3D0;cnt--)=20=
LotSizeArray[cnt,myDirection]=3DNormalizedLots(LotSizeArray[cnt,myDirectio=
n],false);=0D=0A=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20else=0D=0A=20=20=
=20=20=20=20{=20//=20BaseLot=20is=20below=20Minimum=20Allowed=20Lotsize,=20=
so=20MaxTradeLotSize2=20not=20large=20enough=20to=20properly=20spread=20=
out=20the=20risk=0D=0A=20=20=20=20=20=20=20=20=
LotSizeArray[0,myDirection]=3DNormalizedLots(BaseLot,false);=0D=0A=20=20=20=
=20=20=20=20=20for=20(cnt=3D1;cnt<MaxTrades;cnt++)=20=
LotSizeArray[cnt,myDirection]=3DLotSizeArray[cnt-1,myDirection]*multiply;=0D=
=0A=20=20=20=20=20=20=20=20for=20(cnt=3D1;cnt<MaxTrades;cnt++)=20=
LotSizeArray[cnt,myDirection]=3DNormalizedLots(LotSizeArray[cnt,myDirectio=
n],true);=0D=0A=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20if=20=
(openTradeCount=3D=3D0)=20LotSizeArray[99,myDirection]=3DAccountBalance();=
=0D=0A=20=20=20=20}=0D=0A=20=20}=0D=0A=0D=0A=20=20MaxLossAmount=20=3D=20=
0;=0D=0A=20=20for=20(cnt=3D0;cnt<MaxTrades;cnt++)=20MaxLossAmount=20+=3D=20=
(StopLoss=20-=20cnt*Pips)=20*=20LotSizeArray[cnt,myDirection];=0D=0A=20=20=
if=20(myDirection=20=3D=3D=20OP_SELL)=0D=0A=20=20=20=20=
ActualRiskPercentS=20=3D=20(MarketInfo(Symbol(),=20MODE_TICKVALUE)=20*=20=
MaxLossAmount=20*=20100)=20/=20AccountBalance();=0D=0A=20=20if=20=
(myDirection=20=3D=3D=20OP_BUY)=0D=0A=20=20=20=20ActualRiskPercentB=20=3D=20=
(MarketInfo(Symbol(),=20MODE_TICKVALUE)=20*=20MaxLossAmount=20*=20100)=20=
/=20AccountBalance();=0D=0A=20=20=0D=0A=20=20if=20(!IsTesting())=20=
WriteLotArray();=20//=20Write=20Lot=20Array=20to=20Globals.=20=20This=20=
allows=20the=20specific=20lot=20size=20sequences=20to=20be=20preserved=0D=
=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20//=20if=20Meta=20Trader=20is=20=
restarted.=0D=0A}=0D=0A=0D=0A=0D=0A//=20Always=20return=20a=20lot=20size=20=
that=20the=20broker=20will=20accept=20to=20avoid=20error=20opening=20=
orders=0D=0A//=20Lot=20size=20will=20be=20no=20smaller=20than=20the=20=
minimum,=20no=20larger=20than=20the=20maximum,=20and=20will=20have=20the=20=
proper=20precision=0D=0Adouble=20NormalizedLots(double=20myLotSize,=20=
bool=20myMethod)=0D=0A{=0D=0A=20=20double=20myLotStep=20=3D=20=
MarketInfo(Symbol(),=20MODE_LOTSTEP);=0D=0A=20=20if=20(TradeMicroLots)=20=
myLotStep=20=3D=200.01;=0D=0A=20=20if=20(myMethod)=20myLotSize=20=3D=20=
MathCeil(myLotSize=20/=20myLotStep)=20*=20myLotStep;=20//=20Conform=20to=20=
broker-required=20lot=20step=20requirment=0D=0A=20=20else=20myLotSize=20=
=3D=20MathFloor(myLotSize=20/=20myLotStep)=20*=20myLotStep;=20//=20For=20=
calculating=20"outside=20in"=20lot=20requirements=0D=0A=20=20if=20=
(myLotSize<MarketInfo(Symbol(),=20MODE_MINLOT))=20=
myLotSize=3DMarketInfo(Symbol(),=20MODE_MINLOT);=0D=0A=20=20if=20=
(myLotSize>MarketInfo(Symbol(),=20MODE_MAXLOT))=20=
myLotSize=3DMarketInfo(Symbol(),=20MODE_MAXLOT);=20=0D=0A=20=20=
return(myLotSize);=0D=0A}=0D=0A=0D=0A=0D=0A//=20Get=20all=20the=20time=20=
variables=20set=20to=20a=20proper=200-23=20range=20after=20adjusting=20=
for=20GMT=20offset=20using=20public=20time=20server=0D=0A//=20or=20=
manual=20GMT=20offset=20depending=20on=20the=20configuration=20parameter=20=
externs=0D=0A//=20Following=20function=20updated=20on=2020100211=20to=20=
handle=20errors=20better=0D=0Aint=20InitializeTimeVariables()=0D=0A{=0D=0A=
=20=20int=20tmpGMToffset;=0D=0A=20=20string=20GMTMode;=0D=0A=20=20if=20=
(UseAutoGMToffset)=0D=0A=20=20{=0D=0A=20=20=20=20if=20(!IsTesting())=0D=0A=
=20=20=20=20{=0D=0A=20=20=20=20=20=20tmpGMToffset=20=3D=20=
AutoGMTOffset();=0D=0A=20=20=20=20=20=20if=20(tmpGMToffset=20>=2024=20||=20=
tmpGMToffset=20<=20-24)=0D=0A=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=
=20if=20(AutoFallbackOnFail)=0D=0A=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=
=20=20=20=20=20=20=20GMTMode=20=3D=20"=20(auto-fallback)";=0D=0A=20=20=20=
=20=20=20=20=20}=20=20=0D=0A=20=20=20=20=20=20=20=20else=0D=0A=20=20=20=20=
=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20text=3D"Failure=20=
getting=20AutoGMToffset,=20cannot=20open=20time-based=20trades=20until=20=
condition=20clears.";=0D=0A=20=20=20=20=20=20=20=20=20=20Comment(text);=0D=
=0A=20=20=20=20=20=20=20=20=20=20Print(text);=0D=0A=20=20=20=20=20=20=20=20=
=20=20Sleep(120000);=20//=20After=202=20minutes,=20we=20will=20try=20=
again.=0D=0A=20=20=20=20=20=20=20=20=20=20return(-1);=0D=0A=20=20=20=20=20=
=20=20=20}=0D=0A=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20else=0D=0A=20=20=
=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20ManualGMToffset=20=3D=20=
tmpGMToffset;=0D=0A=20=20=20=20=20=20=20=20GMTMode=20=3D=20"=20(auto)";=0D=
=0A=20=20=20=20=20=20}=0D=0A=20=20=20=20}=0D=0A=20=20=20=20else=0D=0A=20=20=
=20=20{=0D=0A=20=20=20=20=20=20text=3D"WARNING:=20When=20backtesting,=20=
only=20ManualGMTOffset=20value=20can=20be=20used,=20ensure=20it=20is=20=
set=20correctly!";=0D=0A=20=20=20=20=20=20Print(text);=0D=0A=20=20=20=20=20=
=20GMTMode=20=3D=20"=20(manual)";=0D=0A=20=20=20=20}=20=20=20=20=0D=0A=20=
=20}=0D=0A=20=20else=0D=0A=20=20{=0D=0A=20=20=20=20GMTMode=20=3D=20"=20=
(manual)";=0D=0A=20=20}=0D=0A=20=20GMTOffsetStatusInfo=20=3D=20=
StringConcatenate("GMT=20Offset:=20",=20DoubleToStr(ManualGMToffset,=20=
1),=20GMTMode);=0D=0A=20=20GMTStartHour=20=3D=20=20=
NormalizedHourParam(GMTStartHour);=0D=0A=20=20GMTStopHour=20=20=3D=20=20=
NormalizedHourParam(GMTStopHour);=0D=0A=20=20=0D=0A=20=20=
OneTimeInitialize=20=3D=20false;=20//=20clear=20the=20flag=20so=20this=20=
code=20base=20runs=20only=20one=20time=0D=0A=20=20return(0);=0D=0A}=0D=0A=
=0D=0A=0D=0A//=20Move=20this=20frequently=20used=20code=20block=20here=20=
to=20make=20the=20code=20easier=20to=20maintain=0D=0Abool=20IsMyOrder()=0D=
=0A{=0D=0A//if=20(OrderSymbol()=20=3D=3D=20Symbol()=20&&=20=
(OrderMagicNumber()=20=3D=3D=20MagicNumber=20||=20OrderMagicNumber()=20=
=3D=3D=20MagicMigrate))=20return(true);=0D=0A//DM:=20removed=20=
MagicMigrate=20on=2020100211=0D=0A=20=20if=20(OrderSymbol()=20=3D=3D=20=
Symbol()=20&&=20(OrderMagicNumber()=20=3D=3D=20MagicNumber))=20=
return(true);=0D=0A=20=20return(false);=0D=0A}=0D=0A=0D=0A=0D=0A//=20=
Close=20all=20Buy=20or=20Sell=20orders.=20=20orderMode=20should=20be=20=
OP_BUY=20or=20OP_SELL=0D=0Avoid=20CloseAllOrders(int=20orderMode)=0D=0A{=0D=
=0A=20=20int=20OrderCount=3D0;=0D=0A=20=20int=20TicketArray[100];=0D=0A=0D=
=0A//=20first,=20we=20retrieve=20all=20ticket=20IDs=20for=20existing=20=
orders=20to=20close=20out=20=20=0D=0A=20=20=
for(cnt=3DOrdersTotal()-1;cnt>=3D0;cnt--)=0D=0A=20=20{=0D=0A=20=20=20=20=
if=20(OrderSelect(cnt,=20SELECT_BY_POS,=20MODE_TRADES))=0D=0A=20=20=20=20=
{=0D=0A=20=20=20=20=20=20mode=3DOrderType();=0D=0A=20=20=20=20=20=20if=20=
(IsMyOrder())=0D=0A=09=20=20=20{=0D=0A=20=20=20=20=20=20=20=20if=20=
((mode=3D=3DorderMode)=20||=20(mode=3D=3D(orderMode+2))=20||=20=
(mode=3D=3D(orderMode+4)))=0D=0A=20=20=20=20=20=20=20=20{=20=0D=0A=20=20=20=
=20=20=20=20=20=20=20TicketArray[OrderCount]=3DOrderTicket();=0D=0A=20=20=
=20=20=20=20=20=20=20=20OrderCount++;=0D=0A=09=20=09=20=20}=0D=0A=20=20=20=
=20=20=20}=0D=0A=09=20}=0D=0A=20=20}=0D=0A=0D=0A//=20second,=20we=20=
close=20out=20all=20applicable=20orders=20in=20the=20array.=20=20this=20=
two=20step=20method=20prevents=20problems=20closing=20out=20all=20orders=20=
successfully=20at=20once.=0D=0A=20=20for(cnt=3D0;cnt<OrderCount;cnt++)=0D=
=0A=20=20{=0D=0A=20=20=20=20if=20(OrderSelect(TicketArray[cnt],=20=
SELECT_BY_TICKET,=20MODE_TRADES))=0D=0A=20=20=20=20{=0D=0A=20=20=20=20=20=
=20if(GetTradeContext())=20RefreshRates();=0D=0A=20=20=20=20=20=20if=20=
(orderMode=3D=3DOP_BUY)=0D=0A=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=
=20=
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,myDigits),slippag=
e,ArrowsColor);=0D=0A=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20if=20=
(orderMode=3D=3DOP_SELL)=0D=0A=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=
=20=20=
OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,myDigits),slippag=
e,ArrowsColor);=0D=0A=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20if=20=
(mode=20=3D=3D=20(orderMode+2)=20||=20mode=20=3D=3D=20(orderMode+4))=0D=0A=
=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=
OrderDelete(OrderTicket());=0D=0A=20=20=20=20=20=20}=0D=0A=09=20}=0D=0A=20=
=20}=0D=0A=0D=0A=20=20PreviousOpenOrders[orderMode]=20=3D=200;=0D=0A=20=20=
CurrentOpenOrders[orderMode]=20=20=3D=200;=0D=0A=20=20=
LastOrderOpenPrice[orderMode]=20=3D=200;=0D=0A=20=20=
CalculateLotArray(orderMode,0);=20//=20Recalculate=20lots=20now=20that=20=
the=20account=20balance=20has=20changed=20so=20the=20chart=20display=20=
is=20refreshed=0D=0A}=0D=0A=0D=0A=0D=0Avoid=20UpdateOrderStatus(bool=20=
init)=0D=0A{=0D=0A=20=20CurrentOpenOrders[OP_BUY]=3D0;=0D=0A=20=20=
CurrentOpenOrders[OP_SELL]=3D0;=0D=0A=20=20MarketOpenOrders[OP_BUY]=3D0;=0D=
=0A=20=20MarketOpenOrders[OP_SELL]=3D0;=0D=0A=20=20=
LimitOpenOrders[OP_BUY]=3D0;=0D=0A=20=20LimitOpenOrders[OP_SELL]=3D0;=0D=0A=
=20=20int=20myOrderType;=0D=0A=20=20for(cnt=3D0;cnt<OrdersTotal();cnt++)=20=
=20=20=0D=0A=20=20{=0D=0A=20=20=20=20if=20(OrderSelect(cnt,=20=
SELECT_BY_POS,=20MODE_TRADES))=0D=0A=20=20=20=20{=0D=0A=20=20=20=20=20=20=
if=20(IsMyOrder())=0D=0A=20=20=20=20=20=20{=09=09=09=09=0D=0A=20=20=20=20=
=20=20=20=20myOrderType=20=3D=20OrderType();=0D=0A=20=20=20=20=20=20=20=20=
if=20(myOrderType<=3D1)=20MarketOpenOrders[myOrderType]++;=0D=0A=20=20=20=
=20=20=20=20=20if=20(OrderType()=3D=3DOP_SELLLIMIT=20||=20=
OrderType()=3D=3DOP_BUYLIMIT)=20LimitOpenOrders[OrderType()-2]++;=0D=0A=20=
=20=20=20=20=20=20=20while=20(myOrderType=20>=201)=20myOrderType-=3D2;=20=
//=20Normalize=20all=20buy=20types=20to=20OP_BUY=20and=20all=20sell=20=
types=20to=20OP_SELL=0D=0A=20=20=20=20=20=20=20=20=
CurrentOpenOrders[myOrderType]++;=0D=0A=20=20=20=20=20=20=20=20=
if(LastOrderOpenTime[myOrderType]<OrderOpenTime())=0D=0A=20=20=20=20=20=20=
=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20=
LastOrderOpenTime[myOrderType]=3DOrderOpenTime();=0D=0A=20=20=20=20=20=20=
=20=20=20=20LastOrderOpenPrice[myOrderType]=3DOrderOpenPrice();=0D=0A=20=20=
=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20}=0D=0A=20=20=20=20}=0D=0A=20=20=
}=0D=0A=20=20if=20(init)=0D=0A=20=20{=0D=0A=20=20=20=20=
PreviousOpenOrders[OP_BUY]=3DCurrentOpenOrders[OP_BUY];=0D=0A=20=20=20=20=
PreviousOpenOrders[OP_SELL]=3DCurrentOpenOrders[OP_SELL];=0D=0A=20=20}=0D=
=0A}=0D=0A=0D=0A=0D=0Astring=20ShowLotSizeSequence()=0D=0A{=0D=0A=20=20=
//=20Determine=20Precision=20of=20LotSize=0D=0A=20=20int=20x=3D0;=0D=0A=20=
=20string=20result;=0D=0A=20=20if=20(MarketInfo(Symbol(),=20=
MODE_LOTSTEP)=3D=3D0.1)=20x=3D1;=0D=0A=20=20if=20(MarketInfo(Symbol(),=20=
MODE_LOTSTEP)=3D=3D0.01)=20x=3D2;=0D=0A=20=20if=20(TradeMicroLots)=20=
x=3D2;=0D=0A=0D=0A=20=20if=20(MaxTrades>0)=0D=0A=20=20{=0D=0A=20=20=20=20=
//=20iterate=20array=0D=0A=20=20=20=20result=3DStringConcatenate("\nBuy=20=
LotSizing:=20",DoubleToStr(LotSizeArray[0,OP_BUY],x));=0D=0A=20=20=20=20=
for=20(int=20myCount=3D1;myCount<MaxTrades;myCount++)=20result=20=3D=20=
StringConcatenate(result,=20",=20",=20=
DoubleToStr(LotSizeArray[myCount,OP_BUY],x));=0D=0A=20=20=20=20result=20=
=3D=20StringConcatenate(result,"=20=
@",DoubleToStr(ActualRiskPercentB,1),"%=20Max=20Potential=20DD");=0D=0A=20=
=20=20=20result=3DStringConcatenate(result,"\nSell=20=20LotSizing:=20=
",DoubleToStr(LotSizeArray[0,OP_SELL],x));=0D=0A=20=20=20=20for=20=
(myCount=3D1;myCount<MaxTrades;myCount++)=20result=20=3D=20=
StringConcatenate(result,=20",=20",=20=
DoubleToStr(LotSizeArray[myCount,OP_SELL],x));=0D=0A=20=20=20=20result=20=
=3D=20StringConcatenate(result,"=20=
@",DoubleToStr(ActualRiskPercentS,1),"%=20Max=20Potential=20DD");=0D=0A=20=
=20}=0D=0A=20=20else=0D=0A=20=20{=0D=0A=20=20=20=20result=3D("\nEA=20=
will=20not=20open=20new=20orders=20since=20MaxTrades=3D0\nMonitoring=20=
existing=20trades=20until=20they=20can=20be=20closed=20out");=0D=0A=20=20=
}=0D=0A=20=20=0D=0A=20=20return(result);=0D=0A}=0D=0A=0D=0A=0D=0A//=20=
Called=20from=20the=20Init=20function,=20this=20populates=20from=20=
globals=20or=20causes=20initial=20calculation=20to=20occur=0D=0Avoid=20=
ReadLotArray()=0D=0A{=0D=0A=20=20bool=20BuyReadSuccess=3Dtrue,=20=
SellReadSuccess=3Dtrue;=0D=0A=20=20string=20gvBase=20=3D=20=
StringConcatenate("gvSPH_",Symbol(),DoubleToStr(MagicNumber,0),"_");=0D=0A=
=20=20string=20gvName;=0D=0A=20=20int=20gv_total=20=3D=20=
GlobalVariablesTotal(),=20StoredPos,=20a,=20b;=0D=0A=0D=0A=20=20=
UpdateOrderStatus(false);=0D=0A=20=20=0D=0A=20=20for=20=
(cnt=3D0;cnt<100;cnt++)=0D=0A=20=20{=0D=0A=20=20=20=20if=20=
(CurrentOpenOrders[OP_BUY]=3D=3D0)=20=20LotSizeArray[cnt,OP_BUY]=3D0;=0D=0A=
=20=20=20=20if=20(CurrentOpenOrders[OP_SELL]=3D=3D0)=20=
LotSizeArray[cnt,OP_SELL]=3D0;=0D=0A=20=20}=0D=0A=0D=0A=20=20if=20=
(CurrentOpenOrders[OP_BUY]>0=20||=20CurrentOpenOrders[OP_SELL]>0)=0D=0A=20=
=20{=0D=0A=20=20=20=20for=20(int=20count=3D0;count<gv_total;count++)=0D=0A=
=20=20=20=20{=0D=0A=20=20=20=20=20=20gvName=20=3D=20=
GlobalVariableName(count);=0D=0A=20=20=20=20=20=20if=20=
(StringFind(gvName,=20gvBase,=200)=20=3D=3D=200)=20//=20Belongs=20to=20=
me=0D=0A=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20if=20=
(StringFind(gvName,=20"B_",=20StringLen(gvBase)-1)=20>=200=20&&=20=
CurrentOpenOrders[OP_BUY]>0)=20//=20BUY=20Lot=20Array=20Entry=0D=0A=20=20=
=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20a=20=3D=20=
StringFind(gvName,=20"_",=20StringLen(gvBase)=20+=201);=0D=0A=20=20=20=20=
=20=20=20=20=20=20b=20=3D=20StringFind(gvName,=20"_",=20a=20+=201);=0D=0A=
=20=20=20=20=20=20=20=20=20=20a=20+=3D=201;=0D=0A=20=20=20=20=20=20=20=20=
=20=20StoredPos=20=3D=20StrToInteger(StringSubstr(gvName,a,b-a));=0D=0A=20=
=20=20=20=20=20=20=20=20=20LotSizeArray[StoredPos,OP_BUY]=20=3D=20=
GlobalVariableGet(gvName);=0D=0A=20=20=20=20=20=20=20=20}=20=0D=0A=20=20=20=
=20=20=20=20=20if=20(StringFind(gvName,=20"S_",=20StringLen(gvBase)-1)=20=
>=200=20&&=20CurrentOpenOrders[OP_SELL]>0)=20//=20SELL=20Lot=20Array=20=
Entry=0D=0A=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20=
a=20=3D=20StringFind(gvName,=20"_",=20StringLen(gvBase)=20+=201);=0D=0A=20=
=20=20=20=20=20=20=20=20=20b=20=3D=20StringFind(gvName,=20"_",=20a=20+=20=
1);=0D=0A=20=20=20=20=20=20=20=20=20=20a=20+=3D=201;=0D=0A=20=20=20=20=20=
=20=20=20=20=20StoredPos=20=3D=20=
StrToInteger(StringSubstr(gvName,a,b-a));=0D=0A=20=20=20=20=20=20=20=20=20=
=20LotSizeArray[StoredPos,OP_SELL]=20=3D=20GlobalVariableGet(gvName);=0D=0A=
=20=20=20=20=20=20=20=20}=20=0D=0A=20=20=20=20=20=20}=0D=0A=20=20=20=20}=0D=
=0A=0D=0A=20=20=20=20//=20Now=20verify=20arrays,=20if=20either=20is=20=
inconsistent,=20we=20will=20just=20recalculate=20that=20one=0D=0A=20=20=20=
=20for=20(count=3D0;count<MaxTrades;count++)=0D=0A=20=20=20=20{=0D=0A=20=20=
=20=20=20=20if=20(!(LotSizeArray[count,OP_BUY]>0))=20=
BuyReadSuccess=3Dfalse;=0D=0A=20=20=20=20=20=20if=20=
(!(LotSizeArray[count,OP_SELL]>0))=20SellReadSuccess=3Dfalse;=0D=0A=20=20=
=20=20}=0D=0A=20=20=20=20if=20(!(LotSizeArray[99,OP_BUY]>0))=20=
BuyReadSuccess=3Dfalse;=0D=0A=20=20=20=20if=20=
(!(LotSizeArray[99,OP_SELL]>0))=20SellReadSuccess=3Dfalse;=0D=0A=20=20=20=
=20=0D=0A=20=20=20=20if=20(!BuyReadSuccess)=20=
CalculateLotArray(OP_BUY,0);=0D=0A=20=20=20=20if=20(!SellReadSuccess)=20=
CalculateLotArray(OP_SELL,0);=0D=0A=20=20}=0D=0A=20=20else=20//=20No=20=
BUY=20or=20SELL=20orders=20opened=0D=0A=20=20{=0D=0A=20=20=20=20=
CalculateLotArray(OP_BUY,0);=0D=0A=20=20=20=20=
CalculateLotArray(OP_SELL,0);=0D=0A=20=20}=0D=0A=0D=0A=20=20//=20=
Calculate=20the=20maximum=20draw=20down=20potential=20per=20sequence=20=
here=0D=0A=20=20//=20This=20is=20the=20same=20code=20from=20the=20bottom=20=
of=20the=20CalculateLotArray=20function=0D=0A=20=20double=20=
MaxLossAmount=20=3D=200;=0D=0A=20=20for=20(cnt=3D0;cnt<MaxTrades;cnt++)=20=
MaxLossAmount=20+=3D=20(StopLoss=20-=20cnt*Pips)=20*=20=
LotSizeArray[cnt,OP_BUY];=0D=0A=20=20ActualRiskPercentB=20=3D=20=
(MarketInfo(Symbol(),=20MODE_TICKVALUE)=20*=20MaxLossAmount=20*=20100)=20=
/=20AccountBalance();=0D=0A=20=20MaxLossAmount=20=3D=200;=0D=0A=20=20for=20=
(cnt=3D0;cnt<MaxTrades;cnt++)=20MaxLossAmount=20+=3D=20(StopLoss=20-=20=
cnt*Pips)=20*=20LotSizeArray[cnt,OP_SELL];=0D=0A=20=20ActualRiskPercentS=20=
=3D=20(MarketInfo(Symbol(),=20MODE_TICKVALUE)=20*=20MaxLossAmount=20*=20=
100)=20/=20AccountBalance();=0D=0A}=0D=0A=0D=0A=0D=0Avoid=20=
WriteLotArray()=0D=0A{=0D=0A=20=20string=20gvB=20=3D=20=
StringConcatenate("gvSPH_",Symbol(),DoubleToStr(MagicNumber,0),"_B_");=0D=
=0A=20=20string=20gvS=20=3D=20=
StringConcatenate("gvSPH_",Symbol(),DoubleToStr(MagicNumber,0),"_S_");=0D=
=0A=20=20string=20gvName;=0D=0A=20=20for=20(int=20=
count=3D0;count<MaxTrades;count++)=0D=0A=20=20{=0D=0A=20=20=20=20gvName=20=
=3D=20StringConcatenate(gvB,DoubleToStr(count,0),"_");=0D=0A=20=20=20=20=
GlobalVariableSet(gvName,=20LotSizeArray[count,OP_BUY]);=0D=0A=20=20=20=20=
gvName=20=3D=20StringConcatenate(gvS,DoubleToStr(count,0),"_");=0D=0A=20=20=
=20=20GlobalVariableSet(gvName,=20LotSizeArray[count,OP_SELL]);=0D=0A=20=20=
}=0D=0A=20=20gvName=20=3D=20=
StringConcatenate(gvB,DoubleToStr(99,0),"_");=0D=0A=20=20=
GlobalVariableSet(gvName,=20LotSizeArray[99,OP_BUY]);=0D=0A=20=20gvName=20=
=3D=20StringConcatenate(gvS,DoubleToStr(99,0),"_");=0D=0A=20=20=
GlobalVariableSet(gvName,=20LotSizeArray[99,OP_SELL]);=0D=0A}=0D=0A=0D=0A=
=0D=0A=
//************************************************************************=
*********************************************=0D=0A=
//******************TOM=20-=20new=20routine=20to=20modify=20all=20trades=20=
in=20set=20to=20requested=20tp=20level********************************=0D=
=0A//Routine=20modified=20by=20DM=20on=2020100211=20to=20avoid=20error=20=
1's=20that=20showed=20up=20in=20backtesting=0D=0Avoid=20=
ModifyTakeProfits(double=20newTP,=20int=20MagicNumber,=20int=20op)=0D=0A=
{=0D=0A=20=20=20int=20cnt=3D0,=20err=3D0;=0D=0A=20=20=20bool=20result;=0D=
=0A=20=20=20int=20OrderCount=3D0;=0D=0A=20=20=20int=20TicketArray[100];=0D=
=0A=0D=0A//=20first,=20we=20retrieve=20all=20ticket=20IDs=20for=20=
existing=20orders=20to=20modify=20=20=0D=0A=20=20=20for(cnt=20=3D=200;=20=
cnt=20<=20OrdersTotal();=20cnt++)=0D=0A=20=20=20{=0D=0A=20=20=20=20=20=20=
if=20(OrderSelect(cnt,=20SELECT_BY_POS,=20MODE_TRADES))=0D=0A=20=20=20=20=
=20=20{=0D=0A=20=20=20=20=20=20=20=20=20mode=3DOrderType();=0D=0A=20=20=20=
=20=20=20=20=20=20if=20(IsMyOrder()=20&&=20mode=3D=3Dop)=0D=0A=09=20=20=20=
=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20=
TicketArray[OrderCount]=3DOrderTicket();=0D=0A=20=20=20=20=20=20=20=20=20=
=20=20=20OrderCount++;=0D=0A=20=20=20=20=20=20=20=20=20}=0D=0A=09=20=20=20=
}=0D=0A=20=20=20}=0D=0A=0D=0A//=20second,=20if=20there=20is=20more=20=
than=201=20order,=20then=20we=20will=20modify=20orders.=0D=0A=20=20=20if=20=
(OrderCount>1)=0D=0A=20=20=20for(cnt=3D0;cnt<OrderCount;cnt++)=0D=0A=20=20=
=20{=0D=0A=20=20=20=20=20=20if=20(OrderSelect(TicketArray[cnt],=20=
SELECT_BY_TICKET,=20MODE_TRADES))=0D=0A=20=20=20=20=20=20{=0D=0A=20=20=20=
=20=20=20=20=20=20if(GetTradeContext())=20RefreshRates();=0D=0A=20=20=20=20=
=20=20=20=20=20if(NormalizeDouble(OrderTakeProfit(),myDigits)=20!=3D=20=
NormalizeDouble(newTP,myDigits))=0D=0A=09=09=20=20=20{=0D=0A=20=20=09=20=20=
=20=20=20=20=20=20=20result=3DOrderModify(OrderTicket(),=20=
OrderOpenPrice(),=20OrderStopLoss(),=20newTP,=200,=20Purple);=0D=0A=09=09=
=09=09if=20(result=20!=3D=20TRUE)=20err=20=3D=20GetLastError();=0D=0A=09=09=
=09=20=20=20if=20(err=20>=201)=20Print("LastError=20=3D=20(",=20err,=20=
"):=20",=20ErrorDescription(err));=0D=0A=20=20=20=20=20=20=20=20=20=20=20=
=20else=20OrderPrint();=0D=0A=09=20=20=09=09}=0D=0A=20=20=20=20=20=20}=0D=
=0A=20=20=20}=0D=0A}=0D=0A=0D=0A=
//************************************************************************=
*********************************************=0D=0A=
//************************************************************************=
*********************************************=0D=0A=
//******************TOM=20-=20new=20routine=20for=20derermining=20the=20=
set's=20stop=20loss=20which=20would=20be=20with=20the=20level=201=20=
order=20*******=0D=0A//******************=20=20=20=20=20=20I'm=20just=20=
looping=20through=20the=20set=20but=20you=20could=20probably=20just=20=
grab=20the=20oldest=20trade=20**********=0D=0Adouble=20CalcStopLoss(int=20=
op)=0D=0A=20=20{=0D=0A=20=20=20int=20ticket;=0D=0A=20=20=20double=20=
HighestBuy,=20LowestSell;=0D=0A=20=20=20double=20HighestBuySL,=20=
LowestSellSL;=0D=0A=20=20=20double=20newSL;=0D=0A//----=0D=0A=20=20=20=
HighestBuy=20=3D=200;=0D=0A=20=20=20LowestSell=20=3D=209999;=0D=0A=20=20=20=
HighestBuySL=20=3D=200;=0D=0A=20=20=20LowestSellSL=20=3D=200;=0D=0A=20=20=
=20newSL=20=3D=200;=0D=0A=20=0D=0A=20=20=20for(int=20=
i=3D0;i<OrdersTotal();i++)=0D=0A=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=
if=20(OrderSelect(i,=20SELECT_BY_POS,=20MODE_TRADES)=20=3D=3D=20false)=20=
break;=0D=0A=20=20=20=20=20=20if=20(OrderSymbol()=20!=3D=20Symbol())=20=
continue;=0D=0A=20=20=20=20=20=20if=20(OrderMagicNumber()=20!=3D=20=
MagicNumber)=20continue;=0D=0A=20=20=20=20=20=20=0D=0A=20=20=20=20=20=20=
if=20(op=20=3D=3D=20OP_BUY=20&&=20OrderType()=20=3D=3D=20OP_BUY)=0D=0A=20=
=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20if=20=
(OrderOpenPrice()=20>=20HighestBuy)=0D=0A=20=20=20=20=20=20=20=20=20=20=20=
=20{=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20HighestBuy=20=3D=20=
OrderOpenPrice();=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
HighestBuySL=20=3D=20OrderStopLoss();=0D=0A=20=20=20=20=20=20=20=20=20=20=
=20=20}=0D=0A=20=20=20=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20=20=20=20=
=0D=0A=20=20=20=20=20=20if=20(op=20=3D=3D=20OP_SELL=20&&=20OrderType()=20=
=3D=3D=20OP_SELL)=0D=0A=20=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=
=20=20=20=20=20=20if=20(OrderOpenPrice()=20<=20LowestSell)=0D=0A=20=20=20=
=20=20=20=20=20=20=20=20=20{=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20LowestSell=20=3D=20OrderOpenPrice();=0D=0A=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20LowestSellSL=20=3D=20OrderStopLoss();=0D=0A=20=20=20=20=
=20=20=20=20=20=20=20=20}=0D=0A=20=20=20=20=20=20=20=20=20}=0D=0A=20=20=20=
=20=20}=0D=0A=20=20=20=20=20=0D=0A=20=20switch=20(op)=0D=0A=20=20{=20=20=0D=
=0A=20=20=20=20case=20OP_BUY:=0D=0A=20=20=20=20=20=20if=20=
(HighestBuySL=3D=3D0)=0D=0A=20=20=20=20=20=20=20=20=20newSL=20=3D=20=
BuyPrice-StopLoss*Point;=0D=0A=20=20=20=20=20=20else=0D=0A=20=20=20=20=20=
=20=20=20=20newSL=20=3D=20HighestBuySL;=0D=0A=20=20=20=20=20=20break;=20=09=
=0D=0A=20=20=20=20case=20OP_SELL:=0D=0A=20=20=20=20=20=20if=20=
(LowestSellSL=3D=3D0)=0D=0A=20=20=20=20=20=20=20=20=20newSL=20=3D=20=
SellPrice+StopLoss*Point;=0D=0A=20=20=20=20=20=20else=0D=0A=20=20=20=20=20=
=20=20=20=20newSL=20=3D=20LowestSellSL;=0D=0A=20=20=20=20=20=20break;=20=09=
=0D=0A=20=20=20=20default:=20=0D=0A=20=20=20=20=20=20break;=0D=0A=20=20}=0D=
=0A=20=20=20=20=20=0D=0A=20return=20(newSL);=0D=0A}=0D=0A=0D=0A=
//************************************************************************=
*********************************************=0D=0A=
//************************************************************************=
*********************************************=0D=0A//**********=20TOM=20=
-=20still=20on=20my=20to=20do=20list=20-=20plan=20to=20log=20DD=20info=20=
for=20each=20bar=20to=20plot=20in=20excel=20*************************=0D=0A=
//**********=20=20=20=20=20=20=20I=20want=20to=20overlay=20all=20the=20=
pairs=20to=20see=20if=20we=20have=20tendency=20for=20confluence=20of=20=
DD=20given=20**************=0D=0A//**********=20=20=20=20=20=20=20=
natural=20pair=20correlations=20-=20getting=20hit=20by=20an=20occasional=20=
wave=20(SL)=20should=20be=20expected=20**************=0D=0A//**********=20=
=20=20=20=20=20=20but=20want=20to=20try=20and=20avoid=20rogue=20waves=20=
where=20we=20get=20hit=20by=20multiple=20at=20same=20time=20=
********************=0D=0A//**********=20=20=20=20=20=20=20I=20have=20=
not=20hooked=20this=20in=20as=20I'm=20still=20deciding=20what=20I=20want=20=
to=20log=20*********************************=20=0D=0Avoid=20=
LogPerformance()=0D=0A{=0D=0A=20=20int=20handle;=0D=0A=20=20=
handle=3DFileOpen(StringConcatenate("SPH=204.3=20Log=20",=20Symbol(),=20=
".txt"),=20FILE_CSV|FILE_READ|FILE_WRITE,=20';');=0D=0A=20=20if(handle=20=
>=200)=0D=0A=20=20=20=20{=0D=0A=20=20=20=20=20FileSeek(handle,=200,=20=
SEEK_END);=0D=0A=20=20=20=20=20FileWrite(handle,=20Symbol(),=20=
TimeToStr(TimeCurrent()),=20AccountBalance(),=20AccountEquity());=0D=0A=20=
=20=20=20=20FileClose(handle);=0D=0A=20=20=20=20}=0D=0A}=0D=0A=
//************************************************************************=
*********************************************=0D=0A=0D=0A=0D=0A//The=20=
following=20function=20merged=20in=20from=20Peter=20Wu's=20code=20=
contribution=0D=0A//These=20come=20from=20Spike's=20latest=20set=20=
files.=0D=0Avoid=20SetParameters()=0D=0A{=0D=0Aint=20SettingLoaded=20=3D=20=
0;=0D=0A=0D=0A//s05=3D--MONEY=20MANAGEMENT--=0D=0A//MM_0=3Dmm=3D0,=20=
risk=20is=20ignored,=20just=20use=20Lots=20parameter=0D=0A//MM_1=3Dmm=3D1,=
=20risk=20is=20basic=20multiplier=20based=20on=20account=20balance=0D=0A=
//MM_2=3Dmm=3D2,=20risk=20is=20%=20of=20account=20balance=20to=20risk=20=
per=20sequence=0D=0Amm=3D2;=0D=0A//MyRisk=3Dset=20risk=20to=20use=20when=20=
calculating=20lot=20size=0D=0Arisk=3D15.00000000;=0D=0ATradeMicroLots=3D0;=
=0D=0A//s06=3D--MAGIC=20NUMBERS--=0D=0AMagicNumber=3D222777;=0D=0A=
//s09=3D--DRAWDOWN=20CONTROL=20TOOL--=0D=0A//DDC1=3DMax=20DD=20in=20=
money=20allowed?=0D=0AMaxDDControl=3D0;=0D=0A=
MaxAllowedDD=3D10000.00000000;=0D=0A//DDC2=3DMax=20DD=20in=20percentage=20=
allowed?=0D=0AMaxPercentDDControl=3D0;=0D=0A=
MaxAllowedPercentDD=3D30.00000000;=0D=0A//s10=3D--DRAWDOWN=20REPORTING=3D=3D=
=0D=0AShowDDinfoOnChart=3D1;=0D=0A//s11=3D--OTHER=20SETTINGS--=0D=0A=
//reverse=3Dif=20one=20the=20desition=20to=20go=20long/short=20will=20be=20=
reversed=0D=0AReverseCondition=3D0;=0D=0A//limitorder=3Dif=20true,=20=
instead=20open=20market=20orders=20it=20will=20open=20limit=20orders=20=0D=
=0ASetLimitOrders=3D0;=0D=0A=0D=0A=20=20=20=0D=0A=20=20=20=
if(StringSubstr(Symbol(),0,6)=20=3D=3D=20"USDJPY")=20=
///////////////////////////////////////////1=0D=0A{=0D=0A//s01=3D--STOCH=20=
SETTINGS--=0D=0AK_Period=3D145;=0D=0AD_Period=3D20;=0D=0ASlow_Period=3D80;=
=0D=0AStoch_TF=3D60;=0D=0Ashift=3D4;=0D=0AH_level=3D78;=0D=0AL_level=3D22;=
=0D=0A//ChooseMAMode=3DChoose=201=3Dmode=20SMA,=202=3Dmode=20LWMA,=20=
3=3Dmode=20EMA,=204=3Dmode=20SMMA=0D=0AstochMAmode=3D1;=0D=0A=
//s02=3D--ENVELOPE=20SETTINGS--=0D=0AENVELOPE_Slow_Period=3D16;=0D=0A=
ENVELOPE_TF=3D1440;=0D=0A//s03=3D--MOVING=20AVERAGE=20SETTINGS--=0D=0A=
MA_TF=3D60;=0D=0AMA_Long_Period=3D190;=0D=0AMA_Short_Period=3D80;=0D=0A=
//s04=3D--TRADE=20SETTINGS--=0D=0AStrategy=3D1;=0D=0ALots=3D0.0100000;=0D=
=0ATakeProfit=3D110;=0D=0Amultiply=3D2.00000000;=0D=0AMaxTrades=3D5;=0D=0A=
Pips=3D90;=0D=0AStopLoss=3D580;=0D=0ATrailingStop=3D0;=0D=0A=
TrailingStep=3D0;=0D=0ARecoveryMode=3D0;=0D=0A//s07=3D--CUTLOSS=20=
SETTING--=0D=0AMyMoneyProfitTarget=3D0;=0D=0A=
My_Money_Profit_Target=3D50.00000000;=0D=0ASecureProfitProtection=3D0;=0D=
=0A//SP=3DIf=20profit=20made=20is=20bigger=20than=20SecureProfit=20we=20=
close=20the=20orders=0D=0ASecureProfit=3D10;=0D=0A//OTP=3DNumber=20of=20=
orders=20to=20enable=20the=20account=20protection=0D=0A=
OrderstoProtect=3D3;=0D=0A//s08=3D--TRADING=20TIME=20MANAGEMENT--=0D=0A=
//TTM1=3DSet=20time=20frames=20when=20new=20trades=20can=20open.=0D=0A=
//TTM2=3DIf=20Starthour=20=3D=20Stophour,=20then=20trade=2024/5.=0D=0A=
//TTM3=3DIf=20TTMGoFlat=3Dtrue,=20close=20all=20open=20trades=0D=0A=
//TTM4=3Dwhen=20outside=20trading=20hours=20or=20days.=0D=0A=
UseAutoGMToffset=3D1;=0D=0AAutoFallbackOnFail=3D1;=0D=0A=
ManualGMToffset=3D3;=0D=0AGMTStartHour=3D0;=0D=0AGMTStopHour=3D0;=0D=0A=
TradeOnFriday=3D1;=0D=0ATTMGoFlat=3D0;=0D=0A=0D=0ASettingLoaded=20=3D=20=
1;=0D=0A}=0D=0A=0D=0A=20=20=20else=20if(StringSubstr(Symbol(),0,6)=20=3D=3D=
=20"AUDUSD")=20///////////////////////////////////////////2=0D=0A=20=20=20=
{=0D=0A//s01=3D--STOCH=20SETTINGS--=0D=0AK_Period=3D145;=0D=0A=
D_Period=3D20;=0D=0ASlow_Period=3D80;=0D=0AStoch_TF=3D60;=0D=0Ashift=3D4;=0D=
=0AH_level=3D78;=0D=0AL_level=3D22;=0D=0A//ChooseMAMode=3DChoose=20=
1=3Dmode=20SMA,=202=3Dmode=20LWMA,=203=3Dmode=20EMA,=204=3Dmode=20SMMA=0D=
=0AstochMAmode=3D1;=0D=0A//s02=3D--ENVELOPE=20SETTINGS--=0D=0A=
ENVELOPE_Slow_Period=3D14;=0D=0AENVELOPE_TF=3D1440;=0D=0A//s03=3D--MOVING=20=
AVERAGE=20SETTINGS--=0D=0AMA_TF=3D60;=0D=0AMA_Long_Period=3D190;=0D=0A=
MA_Short_Period=3D80;=0D=0A//s04=3D--TRADE=20SETTINGS--=0D=0AStrategy=3D1;=
=0D=0ALots=3D0.0100000;=0D=0ATakeProfit=3D95;=0D=0Amultiply=3D2.20000000;=0D=
=0AMaxTrades=3D5;=0D=0APips=3D120;=0D=0AStopLoss=3D675;=0D=0A=
TrailingStop=3D0;=0D=0ATrailingStep=3D0;=0D=0ARecoveryMode=3D0;=0D=0A=
//s07=3D--CUTLOSS=20SETTING--=0D=0AMyMoneyProfitTarget=3D0;=0D=0A=
My_Money_Profit_Target=3D50.00000000;=0D=0ASecureProfitProtection=3D0;=0D=
=0A//SP=3DIf=20profit=20made=20is=20bigger=20than=20SecureProfit=20we=20=
close=20the=20orders=0D=0ASecureProfit=3D2;=0D=0A//OTP=3DNumber=20of=20=
orders=20to=20enable=20the=20account=20protection=0D=0A=
OrderstoProtect=3D3;=0D=0A//s08=3D--TRADING=20TIME=20MANAGEMENT--=0D=0A=
//TTM1=3DSet=20time=20frames=20when=20new=20trades=20can=20open.=0D=0A=
//TTM2=3DIf=20Starthour=20=3D=20Stophour,=20then=20trade=2024/5.=0D=0A=
//TTM3=3DIf=20TTMGoFlat=3Dtrue,=20close=20all=20open=20trades=0D=0A=
//TTM4=3Dwhen=20outside=20trading=20hours=20or=20days.=0D=0A=
UseAutoGMToffset=3D1;=0D=0AAutoFallbackOnFail=3D1;=0D=0A=
ManualGMToffset=3D3;=0D=0AGMTStartHour=3D0;=0D=0AGMTStopHour=3D0;=0D=0A=
TradeOnFriday=3D0;=0D=0ATTMGoFlat=3D0;=0D=0A=0D=0ASettingLoaded=20=3D=20=
2;=0D=0A}=0D=0A=0D=0A=20=20=20else=20if(StringSubstr(Symbol(),0,6)=20=3D=3D=
=20"EURAUD")=20///////////////////////////////////////////3=0D=0A=20=20=20=
{=0D=0A//s01=3D--STOCH=20SETTINGS--=0D=0AK_Period=3D145;=0D=0A=
D_Period=3D20;=0D=0ASlow_Period=3D80;=0D=0AStoch_TF=3D60;=0D=0Ashift=3D4;=0D=
=0AH_level=3D95;=0D=0AL_level=3D5;=0D=0A//ChooseMAMode=3DChoose=201=3Dmode=
=20SMA,=202=3Dmode=20LWMA,=203=3Dmode=20EMA,=204=3Dmode=20SMMA=0D=0A=
stochMAmode=3D1;=0D=0A//s02=3D--ENVELOPE=20SETTINGS--=0D=0A=
ENVELOPE_Slow_Period=3D12;=0D=0AENVELOPE_TF=3D1440;=0D=0A//s03=3D--MOVING=20=
AVERAGE=20SETTINGS--=0D=0AMA_TF=3D240;=0D=0AMA_Long_Period=3D110;=0D=0A=
MA_Short_Period=3D90;=0D=0A//s04=3D--TRADE=20SETTINGS--=0D=0AStrategy=3D1;=
=0D=0ALots=3D0.0100000;=0D=0ATakeProfit=3D170;=0D=0Amultiply=3D1.80000000;=
=0D=0AMaxTrades=3D6;=0D=0APips=3D60;=0D=0AStopLoss=3D650;=0D=0A=
TrailingStop=3D0;=0D=0ATrailingStep=3D0;=0D=0ARecoveryMode=3D0;=0D=0A=
//s07=3D--CUTLOSS=20SETTING--=0D=0AMyMoneyProfitTarget=3D0;=0D=0A=
My_Money_Profit_Target=3D50.00000000;=0D=0ASecureProfitProtection=3D1;=0D=
=0A//SP=3DIf=20profit=20made=20is=20bigger=20than=20SecureProfit=20we=20=
close=20the=20orders=0D=0ASecureProfit=3D15;=0D=0A//OTP=3DNumber=20of=20=
orders=20to=20enable=20the=20account=20protection=0D=0A=
OrderstoProtect=3D3;=0D=0A//s08=3D--TRADING=20TIME=20MANAGEMENT--=0D=0A=
//TTM1=3DSet=20time=20frames=20when=20new=20trades=20can=20open.=0D=0A=
//TTM2=3DIf=20Starthour=20=3D=20Stophour,=20then=20trade=2024/5.=0D=0A=
//TTM3=3DIf=20TTMGoFlat=3Dtrue,=20close=20all=20open=20trades=0D=0A=
//TTM4=3Dwhen=20outside=20trading=20hours=20or=20days.=0D=0A=
UseAutoGMToffset=3D1;=0D=0AAutoFallbackOnFail=3D1;=0D=0A=
ManualGMToffset=3D3;=0D=0AGMTStartHour=3D0;=0D=0AGMTStopHour=3D0;=0D=0A=
TradeOnFriday=3D1;=0D=0ATTMGoFlat=3D0;=0D=0A=0D=0ASettingLoaded=20=3D=20=
3;}=0D=0A=0D=0A=0D=0A=20=20=20else=20if(StringSubstr(Symbol(),0,6)=20=3D=3D=
=20"EURCAD")=20///////////////////////////////////////////4=0D=0A=20=20=20=
{=0D=0A//s01=3D--STOCH=20SETTINGS--=0D=0AK_Period=3D145;=0D=0A=
D_Period=3D20;=0D=0ASlow_Period=3D80;=0D=0AStoch_TF=3D60;=0D=0Ashift=3D4;=0D=
=0AH_level=3D95;=0D=0AL_level=3D5;=0D=0A//ChooseMAMode=3DChoose=201=3Dmode=
=20SMA,=202=3Dmode=20LWMA,=203=3Dmode=20EMA,=204=3Dmode=20SMMA=0D=0A=
stochMAmode=3D1;=0D=0A//s02=3D--ENVELOPE=20SETTINGS--=0D=0A=
ENVELOPE_Slow_Period=3D10;=0D=0AENVELOPE_TF=3D1440;=0D=0A//s03=3D--MOVING=20=
AVERAGE=20SETTINGS--=0D=0AMA_TF=3D240;=0D=0AMA_Long_Period=3D190;=0D=0A=
MA_Short_Period=3D80;=0D=0A//s04=3D--TRADE=20SETTINGS--=0D=0AStrategy=3D1;=
=0D=0ALots=3D0.1000000;=0D=0ATakeProfit=3D100;=0D=0Amultiply=3D1.70000000;=
=0D=0AMaxTrades=3D6;=0D=0APips=3D70;=0D=0AStopLoss=3D490;=0D=0A=
TrailingStop=3D0;=0D=0ATrailingStep=3D0;=0D=0ARecoveryMode=3D0;=0D=0A=
//s07=3D--CUTLOSS=20SETTING--=0D=0AMyMoneyProfitTarget=3D0;=0D=0A=
My_Money_Profit_Target=3D50.00000000;=0D=0ASecureProfitProtection=3D1;=0D=
=0A//SP=3DIf=20profit=20made=20is=20bigger=20than=20SecureProfit=20we=20=
close=20the=20orders=0D=0ASecureProfit=3D10;=0D=0A//OTP=3DNumber=20of=20=
orders=20to=20enable=20the=20account=20protection=0D=0A=
OrderstoProtect=3D4;=0D=0A//s08=3D--TRADING=20TIME=20MANAGEMENT--=0D=0A=
//TTM1=3DSet=20time=20frames=20when=20new=20trades=20can=20open.=0D=0A=
//TTM2=3DIf=20Starthour=20=3D=20Stophour,=20then=20trade=2024/5.=0D=0A=
//TTM3=3DIf=20TTMGoFlat=3Dtrue,=20close=20all=20open=20trades=0D=0A=
//TTM4=3Dwhen=20outside=20trading=20hours=20or=20days.=0D=0A=
UseAutoGMToffset=3D1;=0D=0AAutoFallbackOnFail=3D1;=0D=0A=
ManualGMToffset=3D3;=0D=0AGMTStartHour=3D0;=0D=0AGMTStopHour=3D0;=0D=0A=
TradeOnFriday=3D1;=0D=0ATTMGoFlat=3D0;=0D=0A=0D=0ASettingLoaded=20=3D=20=
4;=0D=0A}=0D=0A=0D=0A=20=20=20else=20if(StringSubstr(Symbol(),0,6)=20=3D=3D=
=20"EURCHF")=20///////////////////////////////////////////5=0D=0A=20=20=20=
{=0D=0A//s01=3D--STOCH=20SETTINGS--=0D=0AK_Period=3D145;=0D=0A=
D_Period=3D20;=0D=0ASlow_Period=3D80;=0D=0AStoch_TF=3D60;=0D=0Ashift=3D4;=0D=
=0AH_level=3D70;=0D=0AL_level=3D30;=0D=0A//ChooseMAMode=3DChoose=20=
1=3Dmode=20SMA,=202=3Dmode=20LWMA,=203=3Dmode=20EMA,=204=3Dmode=20SMMA=0D=
=0AstochMAmode=3D1;=0D=0A//s02=3D--ENVELOPE=20SETTINGS--=0D=0A=
ENVELOPE_Slow_Period=3D16;=0D=0AENVELOPE_TF=3D1440;=0D=0A//s03=3D--MOVING=20=
AVERAGE=20SETTINGS--=0D=0AMA_TF=3D60;=0D=0AMA_Long_Period=3D190;=0D=0A=
MA_Short_Period=3D80;=0D=0A//s04=3D--TRADE=20SETTINGS--=0D=0AStrategy=3D2;=
=0D=0ALots=3D0.0100000;=0D=0ATakeProfit=3D70;=0D=0Amultiply=3D1.10000000;=0D=
=0AMaxTrades=3D5;=0D=0APips=3D20;=0D=0AStopLoss=3D250;=0D=0A=
TrailingStop=3D0;=0D=0ATrailingStep=3D0;=0D=0ARecoveryMode=3D0;=0D=0A=
//s07=3D--CUTLOSS=20SETTING--=0D=0AMyMoneyProfitTarget=3D0;=0D=0A=
My_Money_Profit_Target=3D50.00000000;=0D=0ASecureProfitProtection=3D0;=0D=
=0A//SP=3DIf=20profit=20made=20is=20bigger=20than=20SecureProfit=20we=20=
close=20the=20orders=0D=0ASecureProfit=3D7;=0D=0A//OTP=3DNumber=20of=20=
orders=20to=20enable=20the=20account=20protection=0D=0A=
OrderstoProtect=3D3;=0D=0A//s08=3D--TRADING=20TIME=20MANAGEMENT--=0D=0A=
//TTM1=3DSet=20time=20frames=20when=20new=20trades=20can=20open.=0D=0A=
//TTM2=3DIf=20Starthour=20=3D=20Stophour,=20then=20trade=2024/5.=0D=0A=
//TTM3=3DIf=20TTMGoFlat=3Dtrue,=20close=20all=20open=20trades=0D=0A=
//TTM4=3Dwhen=20outside=20trading=20hours=20or=20days.=0D=0A=
UseAutoGMToffset=3D1;=0D=0AAutoFallbackOnFail=3D1;=0D=0A=
ManualGMToffset=3D3;=0D=0AGMTStartHour=3D0;=0D=0AGMTStopHour=3D0;=0D=0A=
TradeOnFriday=3D1;=0D=0ATTMGoFlat=3D0;=0D=0A=0D=0ASettingLoaded=20=3D=20=
5;=0D=0A}=0D=0A=0D=0A=0D=0A=20=20=20else=20if(StringSubstr(Symbol(),0,6)=20=
=3D=3D=20"EURUSD")=20///////////////////////////////////////////6=0D=0A=20=
=20=20{=0D=0A//s01=3D--STOCH=20SETTINGS--=0D=0AK_Period=3D145;=0D=0A=
D_Period=3D20;=0D=0ASlow_Period=3D80;=0D=0AStoch_TF=3D60;=0D=0Ashift=3D4;=0D=
=0AH_level=3D78;=0D=0AL_level=3D22;=0D=0A//ChooseMAMode=3DChoose=20=
1=3Dmode=20SMA,=202=3Dmode=20LWMA,=203=3Dmode=20EMA,=204=3Dmode=20SMMA=0D=
=0AstochMAmode=3D1;=0D=0A//s02=3D--ENVELOPE=20SETTINGS--=0D=0A=
ENVELOPE_Slow_Period=3D11;=0D=0AENVELOPE_TF=3D1440;=0D=0A//s03=3D--MOVING=20=
AVERAGE=20SETTINGS--=0D=0AMA_TF=3D240;=0D=0AMA_Long_Period=3D190;=0D=0A=
MA_Short_Period=3D80;=0D=0A//s04=3D--TRADE=20SETTINGS--=0D=0AStrategy=3D1;=
=0D=0ALots=3D0.0100000;=0D=0ATakeProfit=3D109;=0D=0Amultiply=3D1.8000000;=0D=
=0AMaxTrades=3D6;=0D=0APips=3D95;=0D=0AStopLoss=3D660;=0D=0A=
TrailingStop=3D0;=0D=0ATrailingStep=3D0;=0D=0ARecoveryMode=3D0;=0D=0A=
//s07=3D--CUTLOSS=20SETTING--=0D=0AMyMoneyProfitTarget=3D0;=0D=0A=
My_Money_Profit_Target=3D50.00000000;=0D=0ASecureProfitProtection=3D1;=0D=
=0A//SP=3DIf=20profit=20made=20is=20bigger=20than=20SecureProfit=20we=20=
close=20the=20orders=0D=0ASecureProfit=3D5;=0D=0A//OTP=3DNumber=20of=20=
orders=20to=20enable=20the=20account=20protection=0D=0A=
OrderstoProtect=3D5;=0D=0A//s08=3D--TRADING=20TIME=20MANAGEMENT--=0D=0A=
//TTM1=3DSet=20time=20frames=20when=20new=20trades=20can=20open.=0D=0A=
//TTM2=3DIf=20Starthour=20=3D=20Stophour,=20then=20trade=2024/5.=0D=0A=
//TTM3=3DIf=20TTMGoFlat=3Dtrue,=20close=20all=20open=20trades=0D=0A=
//TTM4=3Dwhen=20outside=20trading=20hours=20or=20days.=0D=0A=
UseAutoGMToffset=3D1;=0D=0AAutoFallbackOnFail=3D1;=0D=0A=
ManualGMToffset=3D3;=0D=0AGMTStartHour=3D0;=0D=0AGMTStopHour=3D0;=0D=0A=
TradeOnFriday=3D0;=0D=0ATTMGoFlat=3D1;=0D=0A=0D=0ASettingLoaded=20=3D=20=
6;=0D=0A}=0D=0A=0D=0A=20=20=20else=20if(StringSubstr(Symbol(),0,6)=20=3D=3D=
=20"GBPCHF")=20///////////////////////////////////////////7=0D=0A=20=20=20=
{=0D=0A//s01=3D--STOCH=20SETTINGS--=0D=0AK_Period=3D145;=0D=0A=
D_Period=3D20;=0D=0ASlow_Period=3D80;=0D=0AStoch_TF=3D60;=0D=0Ashift=3D4;=0D=
=0AH_level=3D78;=0D=0AL_level=3D22;=0D=0A//ChooseMAMode=3DChoose=20=
1=3Dmode=20SMA,=202=3Dmode=20LWMA,=203=3Dmode=20EMA,=204=3Dmode=20SMMA=0D=
=0AstochMAmode=3D1;=0D=0A//s02=3D--ENVELOPE=20SETTINGS--=0D=0A=
ENVELOPE_Slow_Period=3D14;=0D=0AENVELOPE_TF=3D1440;=0D=0A//s03=3D--MOVING=20=
AVERAGE=20SETTINGS--=0D=0AMA_TF=3D60;=0D=0AMA_Long_Period=3D190;=0D=0A=
MA_Short_Period=3D80;=0D=0A//s04=3D--TRADE=20SETTINGS--=0D=0AStrategy=3D1;=
=0D=0ALots=3D0.0100000;=0D=0ATakeProfit=3D110;=0D=0Amultiply=3D1.70000000;=
=0D=0AMaxTrades=3D6;=0D=0APips=3D90;=0D=0AStopLoss=3D600;=0D=0A=
TrailingStop=3D0;=0D=0ATrailingStep=3D0;=0D=0ARecoveryMode=3D0;=0D=0A=
//s07=3D--CUTLOSS=20SETTING--=0D=0AMyMoneyProfitTarget=3D0;=0D=0A=
My_Money_Profit_Target=3D50.00000000;=0D=0ASecureProfitProtection=3D1;=0D=
=0A//SP=3DIf=20profit=20made=20is=20bigger=20than=20SecureProfit=20we=20=
close=20the=20orders=0D=0ASecureProfit=3D3;=0D=0A//OTP=3DNumber=20of=20=
orders=20to=20enable=20the=20account=20protection=0D=0A=
OrderstoProtect=3D5;=0D=0A//s08=3D--TRADING=20TIME=20MANAGEMENT--=0D=0A=
//TTM1=3DSet=20time=20frames=20when=20new=20trades=20can=20open.=0D=0A=
//TTM2=3DIf=20Starthour=20=3D=20Stophour,=20then=20trade=2024/5.=0D=0A=
//TTM3=3DIf=20TTMGoFlat=3Dtrue,=20close=20all=20open=20trades=0D=0A=
//TTM4=3Dwhen=20outside=20trading=20hours=20or=20days.=0D=0A=
UseAutoGMToffset=3D1;=0D=0AAutoFallbackOnFail=3D1;=0D=0A=
ManualGMToffset=3D3;=0D=0AGMTStartHour=3D0;=0D=0AGMTStopHour=3D0;=0D=0A=
TradeOnFriday=3D1;=0D=0ATTMGoFlat=3D0;=0D=0A=0D=0ASettingLoaded=20=3D=20=
7;=0D=0A}=0D=0A=0D=0A=20=20=20else=20if(StringSubstr(Symbol(),0,6)=20=3D=3D=
=20"USDCAD")=20///////////////////////////////////////////8=0D=0A=20=20=20=
{=0D=0A//s01=3D--STOCH=20SETTINGS--=0D=0AK_Period=3D145;=0D=0A=
D_Period=3D20;=0D=0ASlow_Period=3D80;=0D=0AStoch_TF=3D60;=0D=0Ashift=3D4;=0D=
=0AH_level=3D95;=0D=0AL_level=3D5;=0D=0A//ChooseMAMode=3DChoose=201=3Dmode=
=20SMA,=202=3Dmode=20LWMA,=203=3Dmode=20EMA,=204=3Dmode=20SMMA=0D=0A=
stochMAmode=3D1;=0D=0A//s02=3D--ENVELOPE=20SETTINGS--=0D=0A=
ENVELOPE_Slow_Period=3D10;=0D=0AENVELOPE_TF=3D1440;=0D=0A//s03=3D--MOVING=20=
AVERAGE=20SETTINGS--=0D=0AMA_TF=3D240;=0D=0AMA_Long_Period=3D190;=0D=0A=
MA_Short_Period=3D80;=0D=0A//s04=3D--TRADE=20SETTINGS--=0D=0AStrategy=3D1;=
=0D=0ALots=3D0.0100000;=0D=0ATakeProfit=3D90;=0D=0Amultiply=3D1.80000000;=0D=
=0AMaxTrades=3D6;=0D=0APips=3D60;=0D=0AStopLoss=3D400;=0D=0A=
TrailingStop=3D0;=0D=0ATrailingStep=3D0;=0D=0ARecoveryMode=3D0;=0D=0A=
//s07=3D--CUTLOSS=20SETTING--=0D=0AMyMoneyProfitTarget=3D0;=0D=0A=
My_Money_Profit_Target=3D50.00000000;=0D=0ASecureProfitProtection=3D0;=0D=
=0A//SP=3DIf=20profit=20made=20is=20bigger=20than=20SecureProfit=20we=20=
close=20the=20orders=0D=0ASecureProfit=3D10;=0D=0A//OTP=3DNumber=20of=20=
orders=20to=20enable=20the=20account=20protection=0D=0A=
OrderstoProtect=3D3;=0D=0A//s08=3D--TRADING=20TIME=20MANAGEMENT--=0D=0A=
//TTM1=3DSet=20time=20frames=20when=20new=20trades=20can=20open.=0D=0A=
//TTM2=3DIf=20Starthour=20=3D=20Stophour,=20then=20trade=2024/5.=0D=0A=
//TTM3=3DIf=20TTMGoFlat=3Dtrue,=20close=20all=20open=20trades=0D=0A=
//TTM4=3Dwhen=20outside=20trading=20hours=20or=20days.=0D=0A=
UseAutoGMToffset=3D1;=0D=0AAutoFallbackOnFail=3D1;=0D=0A=
ManualGMToffset=3D3;=0D=0AGMTStartHour=3D0;=0D=0AGMTStopHour=3D0;=0D=0A=
TradeOnFriday=3D1;=0D=0ATTMGoFlat=3D0;=0D=0A=0D=0ASettingLoaded=20=3D=20=
8;=0D=0A}=0D=0A=0D=0Aelse=20if(StringSubstr(Symbol(),0,6)=20=3D=3D=20=
"USDCHF")=20///////////////////////////////////////////8=0D=0A=20=20=20{=0D=
=0A//s01=3D--STOCH=20SETTINGS--=0D=0AK_Period=3D145;=0D=0AD_Period=3D20;=0D=
=0ASlow_Period=3D80;=0D=0AStoch_TF=3D60;=0D=0Ashift=3D4;=0D=0A=
H_level=3D78;=0D=0AL_level=3D22;=0D=0A//ChooseMAMode=3DChoose=201=3Dmode=20=
SMA,=202=3Dmode=20LWMA,=203=3Dmode=20EMA,=204=3Dmode=20SMMA=0D=0A=
stochMAmode=3D1;=0D=0A//s02=3D--ENVELOPE=20SETTINGS--=0D=0A=
ENVELOPE_Slow_Period=3D11;=0D=0AENVELOPE_TF=3D1440;=0D=0A//s03=3D--MOVING=20=
AVERAGE=20SETTINGS--=0D=0AMA_TF=3D60;=0D=0AMA_Long_Period=3D190;=0D=0A=
MA_Short_Period=3D80;=0D=0A//s04=3D--TRADE=20SETTINGS--=0D=0AStrategy=3D1;=
=0D=0ALots=3D0.0100000;=0D=0ATakeProfit=3D119;=0D=0Amultiply=3D1.80000000;=
=0D=0AMaxTrades=3D4;=0D=0APips=3D101;=0D=0AStopLoss=3D400;=0D=0A=
TrailingStop=3D0;=0D=0ATrailingStep=3D0;=0D=0ARecoveryMode=3D0;=0D=0A=
//s07=3D--CUTLOSS=20SETTING--=0D=0AMyMoneyProfitTarget=3D0;=0D=0A=
My_Money_Profit_Target=3D50.00000000;=0D=0ASecureProfitProtection=3D0;=0D=
=0A//SP=3DIf=20profit=20made=20is=20bigger=20than=20SecureProfit=20we=20=
close=20the=20orders=0D=0ASecureProfit=3D7;=0D=0A//OTP=3DNumber=20of=20=
orders=20to=20enable=20the=20account=20protection=0D=0A=
OrderstoProtect=3D3;=0D=0A//s08=3D--TRADING=20TIME=20MANAGEMENT--=0D=0A=
//TTM1=3DSet=20time=20frames=20when=20new=20trades=20can=20open.=0D=0A=
//TTM2=3DIf=20Starthour=20=3D=20Stophour,=20then=20trade=2024/5.=0D=0A=
//TTM3=3DIf=20TTMGoFlat=3Dtrue,=20close=20all=20open=20trades=0D=0A=
//TTM4=3Dwhen=20outside=20trading=20hours=20or=20days.=0D=0A=
UseAutoGMToffset=3D1;=0D=0AAutoFallbackOnFail=3D1;=0D=0A=
ManualGMToffset=3D3;=0D=0AGMTStartHour=3D0;=0D=0AGMTStopHour=3D0;=0D=0A=
TradeOnFriday=3D1;=0D=0ATTMGoFlat=3D0;=0D=0A=0D=0ASettingLoaded=20=3D=20=
9;=0D=0A}=0D=0A=20=20=20if(SettingLoaded=20=3D=3D=200)=0D=0A=20=20=20{=0D=
=0A=20=20=20=20=20EADisabled=20=3D=20true;=0D=0A=20=20=20=20=20text=3D"=3D=
=3D=3D=20=20=20CURRENCY=20PAIR=20NOT=20SUPPORTED=20=20=20=3D=3D=3D";=0D=0A=
=20=20=20}=0D=0A=20=20=20else=0D=0A=20=20=20{=0D=0A=20=20=20=20=20=
Comment("\n\n=3D=3D=3D=20=20=20SET=20FILE=20#",=20SettingLoaded,=20"=20=
LOADED=20=20=20=3D=3D=3D");=0D=0A=20=20=20}=0D=0A}=0D=0A=0D=0A=

--Apple-Mail-76--92624078--



