ControlFX Manual

Recommended Brokers:

The first decision you must make is whether or not you want a USA based company like, Forex.com, Oanda.com, IG.com, or many others,

The drawback to US regulated companies is that they restrict the amount of leverage available to you to 50x.
So, if you have a $1,000 account, your 50 leverage gives you $50k of available trading capital.
Compare this with an International broker which gives you up to 500 leverage and beyond and you can see how this can matter with a smaller account.

The drawback with offshore accounts is that they are not US-regulated. That said, the companies we use have over a decade of experience.

Brokers to Consider:

Minimum Balance

Generally anything under $2000 is best traded on a micro/cent account, highly recommended to try to find a broker that will offer you this account type if you plan to trade under this amount. Otherwise $2000+ would be minimum for an ECN/STP account.

Recommended VPS

A VPS is a Virtual Private Server. It's not mandatory but if you do not do it, you will need to have a 24/7 dedicated computer to run the bots. A VPS is a server in the cloud. It is safe, secure and allows you to run your bots 24/7 without taxing your regular computer. Imagine an icon on your desktop that when clicked will open up a new desktop giving you a second computer. There are 100's of choices. GoDaddy is a reliable name brand that we use but many of us use other VPS.

Just make sure you have 4 gig of Ram with your plan and that your server is windows based.

Install MetaTrader4

You will be able to download MT4 though your broker. If you have purchased multiple bots from us, you will need a copy of MT4 and a corresponding trade account for each bot. If you need clarification on this please message Mary Ann on telegram

Default Settings

  • Default Settings

  • Timeframe: H1

  • Recommended Version: 4.66

  • Pairs: EURUSD, USDJPY, USDCHF, USDCAD, AUDUSD, EURCHF, EURGBP, EURJPY, GBPUSD, NZDUSD, AUDCAD, AUDCHF, AUDJPY, CADCHF, CADJPY, GBPCAD, NZDCHF, NZDJPY

  • This is the out of the box settings, on a large 15k account running a lot of pairs including some risky ones. Use a large account size or micro/cent account.

  • Rating: Medium risk profile

Definitions Guide

Below are definitions for common terms you will come across

Settings

  • User: Enter your ControlFX user id in the Username field to activate it. This only needs to be done for real money accounts, and should only need to be done on one chart, the rest of the charts will activate themselves.

  • Strategy: Set this to what ever strategy you want Complete to trade, and it will do the rest for you using backend pre-configured settings. The strategy you select here will be displayed on the chart with it's associated settings so you know which one you're running. Using one of these pre-configured strategies means it will use pre-configured settings for these 8 variables (RealTakeProfit, RealStopLoss, PipStep, VirtualTrades, VirtualTakeProfit, LotMultiplier, MaxBuyTrades, MaxSellTrades). If you edit any one of these 8 settings, the strategy will use that new configured value for that variable only.

  • UseVirtualTrading: can be toggled on/off to turn off the virtual trading. Turning it off with otherwise default settings should make Controlfx trade immediately. This should only be used for testing purposes or if running strategies based solely on indicators and virtual trading isn't needed.

  • RealTakeProfit = 29.0: The take profit used for real trades

  • AddToTP: will progressively increase the RealTakeProfit amount in pips by this amount depending how many trades are open in the basket. If set to 2, it will increase your RealTakeProfit by +2 after one trade, then another +2 at the next trade and so on. You can also set this to a negative number.

  • AddtoSL: Works the same as AddToTP above but for your RealStopLoss (if being used)

  • RealStopLoss = 0.0: The stop loss used for real trades. It's recommended leaving this at 0 for the default settings and using the DD_StoplossPct setting as a stoploss instead.

  • PipStepMultiplier: This will multiply the PipStep for each consecutive trade opened in a basket. If this is set to 1.5 and your Pipstep is 10, the pipstep used for your 3rd trade will be 10*1.5= 15, then it will be 15*1.5=22.5 and so on.

  • LotStepMultiplier: This will multiply the lot size of each additional trade in a basket on top of the LotMultiplier. If your 1st trade is 0.10 lots, your 2nd would normally be 0.17, but if you set this to say 1.5 it

    would make that 2nd lot size like so: 0.10 1.7 1.5 = 0.25

  • PipStep = 21: How many pips away from the opening price of the previous trade the market has to move before an additional trade is opened.

  • VirtualPipStep = 21: The virtual trades will only use this pipstep, and the one above is used strictly for real orders.

  • VirtualTrades = 6: The amount of virtual trades ControlFX will use in the background to monitor market conditions to determine a safe entry point. The higher the number, the less frequently it will open real trades. Setting this to something like 8 with a VirtualTakeProfit of 34 will result in very rare, but very precise trades. Setting this to something like 2 or 3 will result in higher trading frequency, but the percentage of winners will drop dramatically. Setting this to zero will result in a trade opening immediately. This works hand in hand with the VirtualTakeProfit below.

  • VirtualTakeProfit = 34.0: The take profit used for the virtual trades in the background that you never see. It's best to just leave this as is, unless you plan on doing extensive testing with it first. Lowering this will result in lower trade frequency and look for sharper movements for a retrace. Raising it will result in a higher trading frequency and look for longer drawn out movements for a retrace.

  • LotMultiplier = 1.9: If any additional real trades are required, the lot size of the last real trade opened will be multiplied by this value for the next trade to open in order to salvage profits.

  • Accuracy = 100: The default 100 means it will follow the virtual buy and sell signals 100%. If you lowered this to say 50%, that means the buy or sell signal would only have to get 50% of the way for real orders to be triggered. The lower you set this, the higher the trading frequency. Setting this to something like 75% or higher is reasonable if you want a little more action. (Minor 1.1 Bug - If you set this lower to 100 and have VirtualTrades set to zero, it will not trade. This must be left at 100 if you're trading with no virtual trades until we patch this in 1.11)

  • MaxBuyTrades = 5: The max amount of buy orders that can be opened on the each respective currency pair.

  • MaxSellTrades = 5: The max amount of sell orders that can be opened on the each respective currency pair.

  • UseMultiplierForSingleTrades = false: This should only be used if you're running a single trade strategy (MaxBuy and MaxSell set to 1) if you want the next trade after a loss to have a multplied lot size from the previous trade.

  • UseSameTP: This will control whether your basket of trades are modified to always share the same TP or use individual TPs.

  • UseSameSL: This will control whether your basket of trades are modified to always share the same SL or

    use individual SLs.

  • WaitForNextBar: setting that will wait for the current bar to close before entering a trade if one is ready to open. Good for waiting out market spikes where ControlFX may get in too early.

  • WaitForEndOfBar: A slight variation of WaitForNextBar except this one waits for the final few seconds of the current bar before allowing a trade (if turned on)

  • ResetDataOnFriday: Added ResetDataOnFriday which will reset all virtual data for that chart every Friday at the CloseHour set.

Lot Control

  • MM = on: If you want ControlFX to calculate your Lot sizes based on your account balance. This only controls the starting lot size of the first trade in a basket. Turn this off if you want to use the ManualLot setting below.

  • NewMM = off: This is a slightly different calculation for the starting lot size than the original MM above. This should really only be used for trading on things other than forex, like gold, silver, crypto etc. Turn MM off if you're going to turn this on.

  • Risk_ = 0.3: 0.1 - 0.3 is low risk, 0.4 - 0.9 is medium risk, 1.0+ is high risk. Risk controls your starting lot size based on your account balance and leverage. It has no effect on how often ControlFX will trade. Some micro accounts with high leverage may require a higher number here than usual. You should always start out with the starting Risk of 0.3 or lower and then increase slowly from there if you want a bit more profits. This setting only controls lot sizes, not the frequency of trading.

  • Risk_Type = Account_Balance: By default this will base the risk off your account balance. Change this to Account_Equity to base risk of your account equity. Switching to equity will make ControlFX open smaller lot sized trades during large draw downs.

  • ManualLot: To use the lot size inputted here, you must turn MM to off.

Spread & Slippage

  • MaxSpread = 7: This is the max number of pips in spread allowed on a currency pair for ControlFX to trade.

    CheckSpreadForAdditionals = true: This will force ControlFX to check the spread for any additional trades in a basket instead of just the first trade.

  • Slippage = 6: Slippage is defined as the difference in pips between the order price and the execution price for a particular transaction.

  • CheckVirtualDataOnRestart = true: Whether or not you want to check the virtual data saved to disk and compare it to current prices after a restart/downtime. If you turn this off your Virtual data should never reset. Turning this off will provide more trades over the long term but you will be prone to less accurate entries.

  • RestartSlippage = 10: ControlFX will now save any built up virtual trades incase of a MT4 crash or reboot, but upon restart if the price that was logged when MT4 closed and the price when you load your MT4 back up differs more than this settings amount in pips, it will reset the counts. Setting this too high can seriously affect the accuracy of that signal.

  • RestartHours = 10: Same thing as the RestartSlippage but this is the amount of hours your MT4 was down. Setting this too high can seriously affect the accuracy of that signal(unless it was a weekend)

TP & SL Controls


Some important things to know about using multiple TP and or SL functions. The lowest value will always close the trades first unless its a trailing function like EqutyTrail or TrailingMode. At that point it will trail the TP up until it reaches the next highest value TP like FloatingTP PCT or RealTakeProfit (if either are being used) in which case either of those would close the trades.

  • DD_SL_Mode: This is a new setting that can be set to 'thisChart' or 'allCharts'. If set to 'thisChart', the DD_StopLossPct on that chart will be used for that charts trades only. If you change this to 'allCharts', the DD_StopLossPct of that chart will be used for ALL open ControlFX trades from all charts. Same thing goes for the PauseAfterStopOut depending on what you set it to. It will pause 'thisChart' or 'allCharts' if the DD_StopLosPct is triggered.

  • DD_TP_Mode: This is a new setting that can be set to 'thisChart' or 'allCharts'. If set to 'thisChart', the FloatingTP_Pct on that chart will be used for that charts trades only. If you change this to 'allCharts', the FloatingTP_Pct of that chart will be used for ALL open ControlFX trades from all charts.

  • WaitForNewDirectionAfterStopout = false: Turning this on will force ControlFX to only wait for a buy if the last trade closed in a loss was a sell, and vice versa if the last trade closed was a buy in a loss it will only wait for a sell next. It will return to normal once it has a winning trade allowing to trade either direction again until the next loss.

  • DD_StoplossPct= 35: This is the percentage each chart ControlFX trades can potentially use of your account balance. If reached by a single chart, all of it's corresponding trades will close. You're welcome to lower this on each chart to a more reasonable level just don't go too low. 10-30 is a good range with a low risk number.

  • UseLotBased_SL = false: Whether or not you want to use the lot based SL below.

  • UseLotBased_SL = 2.0: Will set a dynamic SL in the background based on the following formula: TotalLots/AccountBalance*(10000*LotBased_SL_Multi);

  • CloseEverything = false: This will close ALL trades regardless of magic number or symbol if any of the SL or TP functions are reached. This only works for losses if DD_SL_Mode = allCharts and only works for TP if DD_TP_Mode = allCharts.

  • DollarSL: A stop loss based on the dollar amount a basket of trades is in loss before it closes. Whether or not it calculates trades from each chart separately or all together depends on if you have the DD_SL_Mode set to thisChart or allCharts.

  • DD_Pause= 15: This setting will prevent new charts from opening trades if your current total draw down is equal to this percentage or more. So if you have -25% draw down and EURUSD ControlFX wants to open a trade, it will be rejected and it's virtual trade data reset. This is a good way of controlling exposure.

  • FloatingTP_Pct= 1: The percentage in floating trade profit of your account balance to close all open trades.

  • DollarTP: A Take profit based on the dollar amount a basket of trades is in profit. Whether or not it calculates trades from each chart separately or all together depends on if you have the DD_TP_Mode set to thisChart or allCharts.

  • PauseBasketsAtDD: will prevent additional trades of a basket from opening until DD is back under the DD_Pause value

  • PauseAfterStopout= true: If the DD_StopLossPct happens, then that chart will not be allowed to trade again for the number of hours entered below.\

  • HoursToPauseTrade= 48: This is the number of hours to pause trading on the currency pair that had the stop out occur.

Trailing Modes

  • TrailingMode = off: Toggle trailing mode on or off. When turned on, this will be used to protect any gains on open trades, and starting trailing both SL and TP as much as possible until the price finally reverses to hit the SL (which will still be a profit). This feature can turn a little bit of profit into a lot of profit by continuously increasing the TP as the market continues to move in favor of your trades.

  • TrailingStep = 3: How close in pips to the TP the price needs to get for a TrailingTP and TrailingSL to be put on orders.

  • TrailingTP = 6: Your current TP on your orders will be increased by this many pips.

  • TrailingSL = 6: Your current SL on your orders will be reduced by this many pips.

  • TrendTrailTrigger: This is only used when trailing mode is turned on with trendMode. By default this is set to 5 which means when trendMode has 5 or more trades open with the trend, the trailing mode will kick in for all 5 of those trades to protect their profit and try to squeeze out more.

  • UseNewTrailingStop = false: Whether or not you want to use the new trailing mode. This is a highly sensitive pip based trailing SL that will modify your trades RealStopLoss everytime the price moves further away from your SL. There is no step, it is tick based so as long as price is continuing to move away from your SL it will continue to modify the SL up to break even and then beyond. NOTE some brokers may not like the amount this modifies orders and may freeze your account until you turn this back off!

  • NewTrailingStop = 10: The amount of Pips to trail from your RealStopLoss or if your RealStopLoss = 0 then it will set the trail -10 pips or whatever value you set this to from the current price.

  • EquityTrail: A new trailing stop mode based on the floating profit of open trades. With an EquityTrailTP of 1.0% and EquityTrailSL of 0.1%, once your open trades hit a profit of +1.0%, the EquityTrailTP of 1.00% will increase to whatever the profit reached at its peak. If that was say 1.12% then both the EquityTrailTP and EquityTrailSL will move up 0.12%. If it moves up further a few ticks later to 1.20% then both will again move up 0.08%. This will continue to happen until the profit drops back down far enough to hit the EquitySL. This function is very useful when you turn the RealTakeProfit to 0, and turning the FloatingTP PCT to 0, so all profits will be controlled by this EquityTrail. When this is triggered for a chart with open trades in profit, it will display in green text showing how much profit is currently locked in. Read how the EquityTrailSL is calculated below so you know when it will be hit.

  • UseDynamicEQTP: will toggle on/off this feature that creates a dynamic EquityTrailTP based on total lots opened using this formula ( TotalLots/AccountBalance()*(10000*DynamicEQTPMulti); ). This feature will work with DD_TP_Mode so it can look at all trades across all charts if you want it to. Turning this on will take precedence over the other EquityTrail values and it will only use this one regardless of what you set the other stuff to below.

  • DynamicEQTPMulti = 1.0: Based on the formula above, a general rule of thumb is that 1.0 will net on average 5-15 pips, 2.0 will be around 10-25 pips, 3.0 will be 15-35 pips.

  • DynamicEQTPTrailPCT = 25: This is the percentage of the TP you want to lock in and start trailing from. For example with the default values, it will lock 25% of your profit and have a 75% buffer to trail by. This allows more room to hang on for potentially longer, but its obviously giving up quite a bit. Usually 50% to 70% works best for this setting.

  • EquityTrailStep: This is how much to increase the percentage of the EquityTrailTP once it's triggered, and is used to calculate the EquityTrailSL indicated below. Note this is old tech now and in 99% of cases isn't needed, better to leave this 0.00 and use the EquityTrailSL instead.

  • EquityTrailTP: This is the percentage of your account balance in profit you want the EquityTrail to start working at.

  • EquityTrailSL: This is the percentage you want to trail the EquityTrailTP by. If EquityTrailTP is set to 5.00 and you set this to 1.00, then the SL would be set to 4% because it would always trail the TP by 1% difference. If you set this to 0.00 then it will use the EquityTrailStep calculated with the following formula: EquityTrailSL = EquityTrailTP - (EquityTrailStep * 5). If you don't have that set either then it will default to trailing the EquityTrailTP my half.

  • EQTP1 - 6: these are used to custom define the EquityTrailTP you want to use for a basket of certain sizes. EQTP1 means the TP % for 1 trade basket, EQTP5 means the TP % for a 5 trade basket. It will always trail exactly half the amount of the TP if these are used. If left at 0, it will use the original EquityTrailTP.

  • FullBasketEquityTrail: when turned on it will allow ControlFX to start an EquityTrail at a defined loss pct (WhenToStart_FBET) for a full basket (reached max trades). This can be useful if you want to try to get out of a full basket as quickly as possible even if it means at a loss. It will only kick in if you have a max trade basket, and it's DD comes back above the (WhenToStart_FBET) value. WhenToStart_FBET must be a negative (-) value only!

  • WhenToStart_FBET: This is the negative drawdown % you want the FBET to kick in. If you set this to -5% and you have a full 5 trade basket at say -10%, the FBET will kick in if that basket reaches the -5% or higher, and it will then start trailing upwards until it reverses back 3%. FBET is capable of reaching profit.

These indicators can be used to either filter out new baskets from starting, or to trigger new baskets. If you want these indicators to just filter out trades, no special changes are required. If you want these indicators to trigger trades, turn on the ones you want, and set VirtualTrades to 1 and VirtualPipStep to 1.

  • Reset Virtual Data If Indicators Not True But Accuracy is 100%: If you turn on any of these indicators on top of a strategy that uses virtual trades (most do), then it will require accuracy to be 100% or higher (virtual trade data) as well as whatever indicators you turned on to have met their requirements. Sometimes accuracy will get to 100%, but the indicators have not met their requirements and may not even be close. This can make the virtual trading algorithm hang on to its signal for too long and then the entry may no longer be good when the indicators finally become true. Turning this setting on will reset the virtual data back to 0% if the indicators aren't ready. Note that turning this on can drastically reduce trading frequency.

  • DynamicAdditionals: A toggle which will require any indicator filters used for entries to be used for additional trades in a basket. Whatever PipStep you have will also need to be met. If you turn this on, and have the RSI indicator also turned on, that means ControlFX would only add aditional trades while the RSI is above 70 (for sells) or below 30 (for buys) and the PipStep gap is met.

  • RequireAllIndicatorRules: With this turned on, it will require all indicators that are turned on below to open a starting trade. For example if you turn UseEMA and UseRSI on, it will require both of those indicators to meet their rules before a trade is opened. Now if you were to turn this setting off, it will allow a trade if either of those indicator rules are met. This is a good way to run multiple strategies within one chart.

  • MaxADR: ADR (Average Daily Range) MaxADR=200 which means any pairs that have an ADR over 200 won't be allowed to trade. You will see the ADR being displayed on your charts now, and a warning for pairs that are too high. This will help pick and avoid dangerous pairs that are prone to large drawdowns.

  • MinADR: Won't allow an initial trade if ADR is below this minimum value.

  • ADR Days: The number of days for MaxADR to look back and calculate the Average Daily Range for.

  • ADRDynamic_Multipliers: These are ONLY used if the strategy = ADRDynamic

    adrVirutalTradeDivider = 25 ... Divides the current ADR by this value and the result will be the number of VirtualTrades.

  • adrPipStep = 0.4: This will take 40% of the current ADR and make it your PipStep

  • adrVPipStep = 0.3: This will take 30% of the current ADR and make it your VirtualPipStep

  • adrRealTakeProfit = 0.6: This will take 60% of the current ADR and make it your RealTakeProfit

  • adrRealStopLoss = 0.8: This will take 80% of the current ADR and make it your RealStopLoss

  • adrVirtualTakeProfit = 0.6: This will take 60% of the current ADR and make it your VirtualTakeProfit

  • adrLotMultiplier = 0.005: This will take 0.5% of the current ADR and make it your LotMultiplier + 1.1. So an ADR of 150 will give you a LotMultiplier of 1.1 + 0.75 = 1.85

  • CloseTradesAtADR: will close that charts trades if ADR goes over MaxADR. This will almost always result in a loss, just so you know.

  • PauseBasketAtADR: will not allow additional trades in a basket to open if ADR goes over MaxADR. The trade will be opened if ADR returns to normal.

  • UseSR: This is a Support/Resistance filter which will prevent new baskets from starting near these levels

  • TradeSR: If turned on this will trigger trades at the Support/Resistance levels. It will buy at the support and sell at the resistance. To flip this turn ReverseMode on.

  • CustomSupport = 0: setting these to anything other than 0.00000 will activate them instead of ControlFX looking for the S&R itself. To set these properly you need to set it to the exact price you want the Support and or resistance to be placed at. For example if you want EURUSD support at 0.95000 then you set it to exactly that.

  • CustomResistance = 0.0:

  • NumOfBars: The number of bars that is used to look back and find the support and resistance lines. Timeframe plays a big factor here, if your on something like M1 it is only going to look back the last 25 minutes to find a support and resistance. It's recommended to use at least H1 or H4 timeframe when using the SR indicator.

  • PipsAwayFromSR: How many pips away from the Support & Resistance lines before we block ControlFX from trading. If set to 30 pips, and ControlFX wants to trade but is within 30 pips of either the Support or Resistance lines, no trade will be opened.

    SR_Timeframe = current ... Set the timeframe you want the SR to work on.

  • UseEMA: This is your standard Exponential Moving Average based on median price of the current time frame using the two EMA values you enter below in EMA1 and EMA2. This will only allow a buy if EMA1 is above EMA2 and vice versa for a sell. You can however make EMA1 a larger value than EMA2 to reverse this so then is EMA1 is below EMA2 it will sell instead of buy.

  • UseEMACross: Turning this on will only allow a buy when EMA1 crosses above EMA2 and sell when EMA1 crosses below EMA2. Just like above, you can reverse this function by using a larger EMA1 value than EMA2.

  • Avoid_EMA_Gap_Greater_Than = 0.0: This is a pip based value and will tell ControlFX to avoid buying if EMA1 gap above EMA2 is greater than this value, and avoid selling if EMA1 gap below EMA2 is greater.

  • Avoid_EMA_Gap_Less_Than = 0.0: This is a pip based value to tell ControlFX to avoid buying if EMA1 gap above EMA2 is less than this value and avoid selling if EMA1 gap below EMA2 is less.

  • EMA1 = 20: The value of your EMA1

  • EMA2 = 40: The value of your EMA2. As mention above EMA1 should always be less than EMA2 unless you want to reverse how these EMA functions work.

  • EMA_Timeframe = current: The timeframe you want EMA1 to run on

  • EMA2_Timeframe = current: The timeframe you want EMA2 to run on

  • UseStochastic: This is your standard Stochastic of the current time frame which will filter trades based on the 4 stoch settings below. If you don't want to use the first two, then set them to 0 and give the bottom two a value.

  • BuyAboveStoch: A starting buy will only open if Stoch is above 50

  • SellBelowStoch: A starting sell will only open if stoch is below 50

  • BuyBelowStoch: A starting buy will only open if Stoch is below 50

  • SellAboveStoch: A starting sell will only open if stoch is above 50

  • Stoch_K: Period of the %K line.

  • Stoch_D: Period of the %D line.

  • Stoch_S: Slowing value.

  • Stoch_Timeframe = current: The timeframe you want the Stochastic indicator to use.

  • UseMACDCross: Whether or not you want to turn the MACD indicator on to only allow buys when MACD crosses bullish but in an oversold spot and opposite for a sell.

  • MACDPct: This is the percentile you are telling the MACD indicator to look for a cross in based on the average highest and lowest signals over the past MACDLookBackBars. For example setting this to 30 with LookBackBars set to 100 means it will look back over the past 100 candles and average out the lows, and average out the highs. It will then only trade crosses that are within 30% of those values. The lower this MACDPct value, the less it will trade but the trades may be more accurate.

  • MACDLookBackBars: As mentioned above, this is the number of candles you want to look back to calculate an average high and low for the MACDPct to trade within.

  • Fast: Usually 12 is the default value for most MACD indicators

  • Slow: 26 is usually the default value for most MACD indicators

  • Length: This is referred to as the signal line and default is usually 9

  • MACD_Timeframe: The timeframe you want the MACD indicator to run on

  • UseTDI: This is an indicator similar to Traders Dynamic Index using 3 Simple Moving Averages (2, 7, 25) using a typical price. This will buy when TDI1 is above TDI2 and both are above TDI3. It will sell when TDI1 is below TDI2 and both are below TDI3.

  • TDIPeriods: These are the 3 periods for the moving averages used in the TDI indicator. You can change the TDI1 and TDI2 if you want to use a custom TDI cross below. The TDISlope is based on the TDIPeriod3.

  • UseTDICross: This will buy when TDI1 crosses above TDI2 and both are already above TDI3. This will sell when TDI1 crosses below TDI2 and both are already below TDI3.

  • UseSlopeCross: This will buy when both TDI1 and TDI2 have crossed above the TDI3 line and sell when they cross down. UseTDI must be turned on for this to work.

  • CheckTDiSlope: This will buy when TDI3 has been moving up for TDISlopeBars in a row and sell when it has been moving down for TDISlopeBars in a row. UseTDI must be turned on for this to work.

  • TDISlopeBars: The number of bars on the current timeframe for the CheckTDISlope to use.

  • TDIFarApart: Buys when TDI1 is HowFarApart above TDI2 and sells when TDI1 is HowFarApart below TDI2. This is a good filter to find sharp fast spikes in the market with a value of 40 on H1 timeframe.

  • HowFarApart: The number of pips for TDI1 to be away from TDI2 for the TDIFarApart to return true.

  • TDI_Timeframe = current: The timeframe you want the TDI indicator to run on

  • UseRSI: Whether or not to use the Relative Strength Indicator. If you want your entries based on this, you should set the VirtualTrades to 1.

  • UseRSiCross: Will allow a buy when RSi1 crosses above RSi2 and sell when it crosses below. You need to set RSi2 timeframe to something lower than the RSI_Timeframe for this to work.

  • CheckRSiSlope: Compares the last two closed bars for RSi to measure the difference, will only allow a trade if the difference (steepness) is greater than the RSiSlope value below.

  • RSiSlope: The value of how far apart the RSi needs to be from the last 2 candles compared against each other. For example if RSI was 50 at the last closed candle and 45 at the candle before that then the value would be 5 which would not be enough to allow a trade if RSiSlope is set to 10.

  • RSi_Slope_Timeframe: The timeframe you want to measure the slope from.

  • WaitForRSIExit: Turning this on will make the RSI filter wait for the value to drop back down below the the SellAboveRSI period before it sells and turn back above the BuyBelowRSI value to buy. This is a good feature to find the reversal of a swing, just because RSI is oversold below the 30 mark doesn't mean it won't keep going for awhile. Turning this on will only buy when the RSI starts to return back above the oversold line and vice versa.

  • UseRSIx3: This will run an RSi across the 3 timeframes you set below and require all 3 to be above or below the threshold you set for BuyBelowRSI and SellAboveRSI

  • RSIPeriod: The period for the RSI filter to use.

  • BuyBelowRSI: Will allow a buy when RSI is below this value.

  • SellAboveRSI: Will allow a sell when RSI is above this value.

  • RSi_Timeframe: Timeframe of the RSi indicator

  • RSi2_Timeframe: Timeframe of the RSi2 indicator

  • RSi3_Timeframe: Timeframe of the RSi3 indicator

  • CheckVolume: This is not currently working properly, it won't do anything.

  • VolumeLevel: This is not currently working properly, it won't do anything.

  • CheckCandleSize: This will only allow a trade if at least one of the previous NumberOfCheckedCandles is larger than this value in pips. This is based on the current timeframe, so becareful using larger numbers on smaller timeframes otherwise it will never allow a trade.

  • CheckCandleSizeSmaller: This will only allow a trade if ALL of the previous NumberOfCheckedCandles are smaller than this value in pips. This is based on the current timeframe, so becareful using small values on lower timeframes otherwise it will never trade.

  • CheckCandleMode ... OpenToClose means it will measure the candles from the open to close (the body of the candle). HighToLow will measure from the highest point to the lowest point of the candle. HighToLow always produces larger values.

  • CandleSize: The last closed candle must be bigger than this value in pips in order for a trade to be allowed on the next candle.

  • NumberOfCheckedCandles: The number of candles for the CheckCandleSize filters to look back on.

  • UseMomentumFlatline: This uses the Momentum indicator and compares the last close bar with the 2nd last closed bar. If the difference is less than the value below, it will allow a trade. A small value is good for finding a flatline in the market where a retrace might be happening soon.

  • MomentumDifference: The maximum allowed difference between the last two closed bars value in Momentum.

  • DontBuyNearTopOfCandle: Won't allow a buy if price is within HowClose value in pips of the top of the current candle.

  • BuyNearBottomOfCandle: Will allow a buy if price is less then HowClose value in pips away from the bottom of the current candle

  • DontSellNearBottomOfCandle: Won't allow a sell if price is within HowClose value in pips of the bottom

    of the current candle.

  • SellNearTopOfCandle: Will allow a sell if price is within HowClose value in pips of the top of the current candle.

  • HowClose: Value in pips used for the 4 options above.

  • UseBBands: Toggle the use of the BBands indicator that will buy when price goes above the upper band and sell when price is below the lower band.

  • BBandsPeriod = 20: The period used for the Bollinger bands indicator

  • BBandsDeviations = 2: The number of deviations used in the bollinger band indicator settings

  • BBands_Timeframe: The timeframe the BBands indicator will run on

    BBands_Timeframe2: You can have BBands indicator looking at a 2nd timeframe for signals to increase trading frequency.

  • BBands_Timeframe3: You can have BBands indicator looking at a 3rd timeframe for signals to increase trading frequency.

  • UseCandleStickPattern: The timeframe the BBands indicator will run on

  • CandleLength=5; //Candle must be at least this many pips big

  • MaxNoseBodySize = 0.33; // Max. Body / Candle length ratio of the Nose Bar

  • NoseBodyPosition = 0.4; // Body position in Nose Bar (e.g. top/bottom 40%)

  • LeftEyeOppositeDirection = true; // true = Direction of Left Eye Bar should be opposite to pattern (bearish bar for bullish Pinbar pattern and vice versa)

  • NoseSameDirection = false; // true = Direction of Nose Bar should be the same as of pattern (bullish bar for bullish Pinbar pattern and vice versa)

  • NoseBodyInsideLeftEyeBody = false; // true = Nose Body should be contained inside Left Eye Body

  • LeftEyeMinBodySize = 0.1; // Min. Body / Candle length ratio of the Left Eye Bar

  • NoseProtruding = 0.5; // Minmum protrusion of Nose Bar compared to Nose Bar length

  • NoseBodyToLeftEyeBody = 1; // Maximum relative size of the Nose Bar Body to Left Eye Bar Body

  • NoseLengthToLeftEyeLength = 0; // Minimum relative size of the Nose Bar Length to Left Eye Bar Length

  • LeftEyeDepth = 0.1; // Minimum relative depth of the Left Eye to its length; depth is difference with Nose's back

  • CandleStick_Timeframe2: You can have Candlestick indicator looking at a 2nd timeframe other than the current for signals to increase trading frequency.

  • CandleStick_Timeframe3: You can have Candlestick indicator looking at a 3rd timeframe other than the current for signals to increase trading frequency.

Time & Day Filters

  • Mins_Between_Trades = 1: Number of minutes to wait to open another trade on the same chart. This helps prevent dangerous situations during flash crashes where a few trades could be opened very quickly resulting in large draw down.

  • StartingTradeDay = The first day of the week you want ControlFX to start trading.

  • EndingTradeDay = The last day of the week you want ControlFX to trade. If this is set to Thursday, it will stop trading from Friday on. Most of ControlFX strategies don't trade Friday's because they have been historically the riskiest day for ControlFX .

  • StartHour = The starting hour (24 hour clock) for ControlFX to start trading from each day.

  • StopHour = The last hour of each day for ControlFX to stop trading. By default most strategies trade 24 hours of each day.

  • StartMinute = The starting minute of each hour you want to allow trading.

  • StopMinute = The minute of each hour you want trading to stop until the start minute of the next hour.

  • CloseBasketAfterXmins: Once a trade has opened on a new pair, it is considered the start of a new basket. Turning this setting on will close this trade, and any additional trades that may be opened after it once the CloseMinutes time has been reached from the time the first trade was opened.

  • CloseMinutes: The number of minutes to keep baskets open before forcefully closing them automatically regardless of their profit/loss.

  • CloseTradesBeforeMarketClose: Will close all trades on Friday at the CloseHour set below regardless of the current profit/loss.

  • CloseHour: The specific hour on Friday for the above setting to close trades. This must be set to at latest an hour before market close. If in doubt about GMT times, set it a few hours early.

  • CloseInProfit: Will only CloseTradesBeforeMarketClose if they are in profit with this turned on.

  • PauseAfterProfit: Will prevent any trading for HoursToPauseAfterProfit

  • HoursToPauseAfterProfit: The number of hours to pause further trading from when the last profitable trade was closed.

Trading Sessions

  • TradeAustralian: Whether or not to trade the Australian session. Setting to false means ControlFX won't start new trades in that session but will manage existing trades/baskets.

  • TradeAsian: Whether or not to trade the Asian session.

  • TradeLondon: Whether or not to trade the London session.

  • TradeNewYork: Whether or n... to trade the NewYork session.

Recovery Mode

  • UseEarlyRecoveryMode: All this does is turns the LotMultiplier off for the first few trades depending what you have StartRecovery set to.

  • UseLateRecoveryMode: This will turn the LotMultiplier off once you reach the StartRecovery number of trades open from one pair. So if you have 0.1, 0.2, and 0.3 lot trades open, and a StartRecovery of 3, the 4th, and 5th trades would both open at 0.3 lots. WARNING: If you use either this or EarlyRecoveryMode, there is a very good chance your baskets will still close in a loss because there is no longer enough lots to cover the losses. These modes are best used with a '0' RealTakeProfit and letting the EquityTrail or FloatingTP_PCT control all the profits.

  • StartRecovery: The number of trades to start or stop the recovery mode depending on whether you have early or late mode turned on.

Special Modes

  • ECN = TRUE: Used to trade on ECN accounts where orders are not allowed to be placed with a TP or SL and require modification after being opened.

    newMode = off ... This switches to a more relaxed algorithm of how the virtual trading works which increases trading frequency. Depending on the pair and market conditions, this can increase trading frequency by over 100%.

  • ReverseMode = false: This will make ControlFX open buys instead of sells and vice versa. If you know a market is going to be trending in one direction for awhile, you should set reverse mode to TRUE on this pair. This will make most of ControlFX strategies go with the trend instead of against it looking for a retrace which most of the strategies are built to do.

  • trendMode: This will make ControlFX open trades going with the trend, and continue to do so until your Max trades setting is reached or your FloatingTP_Pct is hit. With this on, if a trade is opened and goes into profit 21 pips, a 2nd trade will open in the same direction with a multiplied lot size.

  • trendHybrid: This will make ControlFX add its additional trades with a multiplied lot size like normal, but allow it to happen in both directions. If the price goes in favor of the previous trade 21 pips it will add a trade, and if the price goes against the last trade opened 21 pips it will also add a trade.

  • TrendPipStep: As described above, this is the PipStep used for when to add trades when the price moves in favor of the last trade opened. This is only used if trendMode or trendHybrid is turned on. It does not need to be the same as the original PipStep.

  • LotMultiplierTrend: Separate lot multiplier used for trades added to a basket through the trend mode (where price moves in favor of the last trade instead of against it).

  • DynamicAdditionalsTrend: Just like the DynamicAdditionals above, this will require any indicator filters you have turned on to have their entry logic be true for any additioan trades added to the trend.

EA Information

  • ChartDisplay = True: To display information on your charts or not.

  • EA_Name: The name to be used in all the comments of each trade opened by ControlFX.

  • CustomSetFile: setting which is just a way to name custom strategies and have them displayed on your chart as the strategy.

  • MagicNumber = 29988: You only need to change this if you are running ControlFX on two of the same charts. Example: If you want to run default settings on 1 GBPUSD chart, and the x3Retrace settings on another GBPUSD chart, they need to have different magic numbers! Otherwise you can leave the magic number the same for all charts.

  • HideFromBroker: Chose whether or not you want comments in your trades. By default it will show ControlFX and the strategy being used in each trades comments.

  • ChartDisplay: Show or hide all text displayed on chart by ControlFX

  • ShowButtons: Show or hide the 3 buttons at the top of each chart (Close, CloseAll, On/Off) buttons.

  • Font: The font for ControlFX to use for the text it displays on charts.

  • Color: The color of the text ControlFX uses to display information on charts.

  • Size: The size of the text to use displayed on each chart.

Currency Pair Filters

  • Global_Filters: Turning this on will make the filters below count all trades across all magic numbers

  • Max_Charts = 3: Max number of charts that can have open trades at the same time. By default most strategies have this set to 3, so if a 4th chart is trying to open a trade it will be rejected, and it's virtual data will be reset. This should be left low unless you're running extremely low risk on a big account size. This doesn't mean you can only put ControlFX on 3 charts, it just means a max of 3 pairs can have open trades at the same time. If you're running two different strategies on the same account, each with its own magic number, then this 3 will become 6 because its magic number dependent. Be careful running m

  • Currency Pair Filters: At the very bottom of the settings list, you will see a list of the 8 major currencies and a 2 or 1 set for them. What this means is only 2 EUR charts can trade at the same time, and 2 GBP charts, etc. If you have open trades with EURUSD, and EURGBP, any other EUR pairs that want to open trades will be blocked. This will be a key factor going forward to protect against disastrous market conditions where every pair spikes/crashes at the same time like we seen on Monday Aug 24th.

News Filter

  • UseNewsFilter: Chose whether or not you want ControlFX to watch news and avoid trading before and after it.

  • MinsBeforeNews: How many minutes before news will ControlFX avoid opening new trades.

  • MinsAfterNews: How many minutes must pass after news before ControlFX will start trading.

  • NewsImpact: What kind of News do you want to look at? 3 means it will only look at major (important news). 2 Means it will include medium news, 1 means it will include all news. Generally this should be left at 3 to only watch Major news.

  • OffsetHours: If you find your news being reported on your chart is not in sync with when the news is slotted to arrive at http://forexfactory.com/calendar.php you can use this setting to offset the hour forward or back using -1 or 1 or however many hours you need.

  • ShowNewsPanel: Whether or not you want the news box in the bottom left to be shown or not.

  • ShowBG: Hide just the background (box) of the news panel.

  • CloseBasketsBeforeNews: If you have an open basket of trades on AUDUSD for example, and there is major AUD news coming out within your MinsBeforeNews value, this will make ControlFX close that basket of trades whether they are in profit or loss.

  • CloseAbovePCT: Turning this on will make the above CloseBasketsBeforeNews only close if the baskets are in profitParagraph

  • AbovePCT: Set how much of a threshold you want to close the trades (percent of account balance)

  • PauseBasketAtNews: Turning this on will prevent any additional trades to be added to existing baskets until after your avoid times have been passed.

  • ResetVirtualDataAfterNews: Choose whether or not to reset virtual data for this pair after any high impact news. Turning this on can drastically reduce trading frequency.

FTMO Settings

  • FTMO_Mode: Toggle FTMO mode on or off with true or false

  • FTMO_Acct_Size: Set this to the starting account size of your FTMO account

  • FTMO_Profit_Target: Set this to the profit target required by your prop firm challenge

  • FTMO_Max_Daily_Loss: Set this to your prop firm challenge max daily loss. By default ControlFX will take this value and use a value 3% lower just to be safe.

  • FTMO_Max_Total_Loss: Set this to your prop firm challenge max total loss. By default ControlFX will take this value and use a value 3% lower just to be safe.

  • FTMO_Min_Trading_Days: Set this to the minimum number of days your prop firm challenge requires an open trade on.

  • FTMO_Max_Trading_Days: Set the max number of trading days allow by your prop firm to complete the challenge.

  • Desperation_Risk: There is a desperation mode built in that will force trades open if you reach a point in your challenge where you only have a few days left and are not close to your profit target. The trades lot size will be based on the traditional Risk/MM settings, so if you have a Risk of 0.1 but this Desperation_Risk is set to 1.0 it will open lot sizes 10x the size if it enters desperation mode.

FAQ

1) My ControlFX hasn't opened any trades in a week, what gives?

ControlFX trades the most during volatile conditions or at the end of big swings/trends. If you want to do a quick test to make sure it's capable of opening up a trade try doing the following:

Try adding it to a fresh chart (something with a low spread) and set risk to 0.01 and VirtualTrades to ZERO. It should open a trade almost right away if there is nothing wrong. Now close this chart, and then trade. If it doesn't open a trade after a few minutes, check the logs to see if there are any errors and e-mail us at support@univeristyofoptions.com

2) Is there anything I need to do once the EA is running? ie check the logs etc over the days?

When starting out on a fresh account, it can take up to a few days to see some trades, so just be patient. Watch for the buy and sell signal percentages on chart, when they near 100% is when trades may open. If it's been a week with no trades, and you're trading at least 6+ pairs then check your logs for errors and/or email us.

3) Can I close trades manually, if so is there anything special I should know?

You can, but you should always turn off the Expert Advisors button in the top toolbar within MT4 while closing trades. Otherwise ControlFX may open a replacement trade immediately after you close a trade manually. If you have for example 4 EURUSD trades open all from the same strategy, its recommended to either close them all, or leave them. You should never just close 1 or 2 trades from a basket of trades.

4) Is trading 10+ currency pairs too much? Will the EA be smart enough not to get into too many trades at the same time?

There are a few filters in place to limit our exposure, so it is generally safe to trade 10+ pairs. The two main filters are the MaxCharts and Currency filters. MaxCharts will allow only 3 different charts from trading at the same time by default. The Currency filters will allow only 2 charts of one currency at the same time. So you may see something like EURUSD, EURGBP and GBPUSD all open. Note that EUR, USD, and GBP are only exposed twice.

5) Why do I need to have more than 1 live account if the EA is flexible enough to change the lot size? Any reason to buy license for 2 or even 4?

A lot of traders including myself like to split their capital (exposure) across many accounts, and trade a different strategy and combination of different pairs on each. This helps give each strategy and pair a lot more breathing room as everything is more spread out. I like to spread my capital across 15-20 different accounts, each trading a different strategy and mix of different pairs. I will then use a 100% DD Stoploss on each account so if one blows, it's not a big deal.

6) Can I try on demo first before purchasing the EA?

We don't have a free demo trial sorry.

7) If I purchase 1 license first, can I later purchase more license with better discount?

Yes, extra licenses are $550 each after coupon code.

8) What is the minimum deposit required and what is the recommended?

$10 on a micro account or $1000 on standard account is generally a good place to start.

9) What is the return I can expect per month?

You can theoretically set it up to make as much as you want per month, however there is risk involved, obviously. The out of the box settings on 10 pairs can net you 10-25% per month depending on market volatility.

10) How often will there be an update on the EA?

On average there is an update once a month, sometimes a bit more often, sometimes a little less.

11) Do I need to stop trades for Major News such as FOMC, US job data or NFP to avoid volatility? Or the EA will handle it?

We generally trade right through most news as we thrive on the volatility. However if there is MAJOR news that you know or think will cause huge movements, it won't hurt to shut things down the day of to stay out of the market. Overall deciding whether or not to avoid major news is more of a subjective thing which comes down to personal preference. There is a lot of money that can be made on major news days, but there can also be a lot of inherited risk involved.

12) Can I use a different broker than the recommended?

Yes pretty much any MT4 broker will work, but FXglory and OX have been proven winners for our EA.

13) If I go with FXglory as recommended, which account should I open? I presume the ECN account?

Depends on account size. If you're under $2000 USD I would recommend a micro account. If over then yes an ECN.

14) If I am going to use a VPS, which location should the VPS be opened?

I would chose a VPS location near your broker server location. It must be a Windows VPS.

Earnings Disclaimer

U.S. Government Required Disclaimer - Commodity Futures Trading Commission Futures and Options trading has large potential rewards, but also large potential risk. You must be aware of the risks and be willing to accept them in order to invest in the futures and options markets. Don't trade with money you can't afford to lose. This is neither a solicitation nor an offer to Buy/Sell futures or options. No representation is being made that any account will or is likely to achieve profits or losses similar to those discussed on this web site. The past performance of any trading system or methodology is not necessarily indicative of future results.

CFTC RULE 4.41 - HYPOTHETICAL OR SIMULATED PERFORMANCE RESULTS HAVE CERTAIN LIMITATIONS. UNLIKE AN ACTUAL PERFORMANCE RECORD, SIMULATED RESULTS DO NOT REPRESENT ACTUAL TRADING. ALSO, SINCE THE TRADES HAVE NOT BEEN EXECUTED, THE RESULTS MAY HAVE UNDER-OR-OVER COMPENSATED FOR THE IMPACT, IF ANY, OF CERTAIN MARKET FACTORS, SUCH AS LACK OF LIQUIDITY. SIMULATED TRADING PROGRAMS IN GENERAL ARE ALSO SUBJECT TO THE FACT THAT THEY ARE DESIGNED WITH THE BENEFIT OF HINDSIGHT. NO REPRESENTATION IS BEING MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFIT OR LOSSES SIMILAR TO THOSE SHOWN.

No representation is being made that any account will or is likely to achieve profits or losses similar to those shown. In fact, there are frequently sharp differences between hypothetical performance results and the actual results subsequently achieved by any particular trading program. Hypothetical trading does not involve financial risk, and no hypothetical trading record can completely account for the impact of financial risk in actual trading.

Be warned that there is a possibility to lose real money if traded on a real money account, and the owner of ControlFX can NOT be held accountable for any losses that may occur including from any potential software bugs/glitches or malfunctions.

ControlFX and its owner assume no responsibility for errors, inaccuracies or omissions in these materials. They do not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these materials. ControlFX and its owner shall not be liable for any special, indirect, incidental, or consequential damages, including without limitation losses, lost revenues, or lost profits that may result from these materials.

We assume that you are legally permitted to purchase and use our products. Making sure that you are following the global and your local laws and legislations is your responsibility. We cannot be held responsible for any damages or lawsuit against you due to such regulations.

All information on this web site or any software and or guide purchased from this web site is for educational purposes only and is not intended to provide financial advise. Any statements about profits or income, expressed or implied, does not represent a guarantee. Your actual trading may result in losses as no trading system is guaranteed. You accept full responsibilities for your actions, trades, profit or loss, and agree to hold the owner of ControlFX and any authorized distributors of this information harmless in any and all ways. All rights reserved. The use of this web site and or it's contents constitutes acceptance of our disclaimer.