11-18 to 12-30 "Regional best", "spiked best" When optimizing in MetaTrader it is very easy to find numbers with high performance in back testing. Those numbers are often very bad to use in trading. A setting may look great in backtesting, but perform poorly. When doing backtesting, here is a way to find signals that may have this issue. This is easiest to do when testing one or two settings, with Genetic Algorithms turned off. Here are the results from testing Consecutive Signal counts, in an attempt to reduce drawdown. result balance trade PF pay Drawdown$ Drawdown% Setting 41 5713.65 81 1.56 70.54 1223.18 9.00% U_Mode12_ConsecSignals=40 42 6210.27 80 1.62 77.63 1284.46 7.96% U_Mode12_ConsecSignals=41 43 5168.24 81 1.49 63.81 2134.54 14.17% U_Mode12_ConsecSignals=42 44 5054.32 81 1.48 62.40 2610.73 17.33% U_Mode12_ConsecSignals=43 45 5075.71 81 1.48 62.66 2558.59 16.98% U_Mode12_ConsecSignals=44 46 5641.92 79 1.57 71.42 1569.57 10.05% U_Mode12_ConsecSignals=45 47 5442.25 78 1.55 69.77 1487.43 10.02% U_Mode12_ConsecSignals=46 The percentage 7.96% is a great low drawdown result, but right next to it is 14.17% percent. A shift of 1 more tick, and the system has much higher drawdown. This is an indication of a 'spiked best' result. These are what we want to avoid. Here is another example, with a "regional best" result balance trade PF pay Drawdown$ Drawdown% Setting 72 7213.73 67 1.97 107.67 1488.17 11.60% U_Mode12_ConsecSignals=71 73 7879.98 67 2.09 117.61 1305.14 10.54% U_Mode12_ConsecSignals=72 74 7217.11 67 1.99 107.72 1258.47 11.59% U_Mode12_ConsecSignals=73 75 8769.82 67 2.26 130.89 1357.35 9.02% U_Mode12_ConsecSignals=74 76 8742.30 67 2.25 130.48 1357.33 9.02% U_Mode12_ConsecSignals=75 77 9317.12 67 2.42 139.06 1357.36 9.02% U_Mode12_ConsecSignals=76 78 10197.28 66 2.53 154.50 1461.70 9.35% U_Mode12_ConsecSignals=77 79 7635.72 67 2.04 113.97 1305.17 11.59% U_Mode12_ConsecSignals=78 80 8804.30 67 2.24 131.41 1409.49 11.59% U_Mode12_ConsecSignals=79 The drawdown values here are not as good as the settings above, but there aren't any huge spikes. This is a better candidate because this setting can vary a little and still work well. Also note that the number of trades is lower, but the profit is much higher! This is the only setting optimized, but it shows that we avoided several batches of bad trades instead of just the worst bad trade. In the second example, I would probably choose 76, 77, or 78. Signals, settings and more! (Recommended optimization values in the !! start,increment,stop !! format) P_Mode12_TakeProfit !! 40,3,100 !! P_Mode12_StopLoss !! 40,5,100 !! U_Mode12_ConsecSignals !! 4,2,300 !! (max 100 if you want to be more aggressive, min 50 if you want to be more conservative) While these are the most optimized set of numbers, the signifigance of TP/SL is overrated. It is important to catch (TP) the trend reversal listed and give it space (SL) to happen. These numbers highly influence the signals necessary, but that may only happen in clumps.. It would be very educational to optimize TP/SL based on the previous 1,3,5,10 days trading and forward test the results in parallel to determine how often TP/SL should be optimized ConsecSignals is directly related to the signal settings, a higher ConsecSignals will make filter (drawdown) settings more active. ConsecSignals is our main tool for reducing drawdowns. Increasing this ConsecSignals decreases the total number of trades ConsecSignals increases profit slightly by waiting longer for trend to enter on a trend reversal. Sometimes a 1-3 minute delay will turn a loss into a profit. Minutes Based ConsecSignals is consistently active, even during periods of high volume. A setting of 1 minute will cut drawdown by 50%, a setting of 2 will cut drawdown by 75% on decent settings ConsecSignals with a setting of 1-3 will allow even bad TP/SL settings to often make a profit. Setting of 1 or 2 reduces trade volume by about 10% Setting of 3 reduces trade volume by about 20-50% Setting of 4 is considered very conservative with few trades, but with minimal drawdown. Tick based ConsecSignals is expansively active, responding less during periods of high volume. Setting of 5 is considered bare minimum, and may represent 10-30 seconds peak, or minutes during off peak Settings of 20-50 are recommended minimum for high maxtrades to increase the spacing between trades Settings of 100-300 are viable. P_Percent 0032 007 0072 0056 0023 !! 0,0.002,0.02 !! USDJPY: 0, .0028,.0057, .0058, .0059 sensitivity@2 .002 sensitivity@14 .005 minimal drawdown .019, good profit .002 Higher = fewer trades. Drawdown optimize. P_EnvelopePeriod 2 2 2 10 6 !! 0,1,15 !! P_Percent=0.019, peaks at 4, 14 P_Percent=0.002, peaks at 2, 9, 14 Increases timeframe for percentage in timeframe units. Maybe run these tests in two sets, one for low values and one for high values. Best Profit: P_SMAPeriod=2 P_SMA2Bars=12, P_SMAPeriod=11 P_SMA2Bars=3, P_SMAPeriod=1 P_SMA2Bars=2 Best PF: P_SMAPeriod=10 P_SMA2Bars=29, P_SMAPeriod=10 P_SMA2Bars=28, P_SMAPeriod=9 P_SMA2Bars=27 P_SMAPeriod 2 4 8 5 3 !! 2,1,13 !! Can limit to 5 and keep over half of best. increasing period decreases number of trades. Value of 20 cuts trades by 15%, but profit by 3-4x peak w/Bars@2: 1 3 6 9 15 peak w/Bars@3: 3 5 11 13 18 peak w/Bars@4: 2 5 13 18 peak w/Bars@5: 1 8 15 20 peak w/Bars@6: 3 7 14 peak w/Bars@7: 1 3 6 18 peak w/Bars@8: 1 3 5 13 16 peak w/Bars@9: 3 8 12 18 peak w/Bars@10: 1 5 7 9 14 peak w/Bars@11: 1 3 6 13 17 peak w/Bars@12: 2 8 13 15 20 P_SMA2Bars 18 16 12 9 14 !! 2,1,10 !! = best balance !! 22,1,30 !! = best profit factor (can we get good return?) Combines with Period to form "sweet spot" best profit best drawdown No discernable pattern or filter. 3/4 of best20 Stop at 10. Next "sane" cap would be 16 for Best Balance OSMA No affect on number of trades. Pass1 Low: Fast 2,1,9 Slow 10,5,30 Signal 2,4,30 2,10,2 or Pass1 High: Fast 10,1,19 Slow 20,5,40 Signal 2,4,30 Pass2 Low & High: Use best Fast. Slow best-5,2,best+5 Signal best-3,1,best+3 With 5.7.2 filter applied: Pass1: Fast 2,1,20 Slow 10,5,50, 2,4,30 Pass2: Slow best-5,2,best+5 Signal best-3,1,best+3 P_OSMAFast 5 11 5 5 17 Fast < Slow. Best way to conserve CPU time is to calculate chunks separately. Fast 2-9, slow 10-30x5 then Fast 10-19, Slow 20-50x5 USDJPY didn't have major differences between high and low OSMAFast. P_OSMASlow 22 20 36 12 17 Many results with a sensitivity of 2 or 3, Dependent on Fast setting. Could be safe to have sensitivity of 5-10. Some groupings of Fast-Slow = 8 seem to be functionally equivalent. USDJPY didn't have major differences between high and low OSMASlow P_OSMASignal 2 14 10 11 15 Minimum Sane value= 2 First pass, use large increment value (3-6) then refine near peaks. Very consistent performance based on OSMA signal count. I suspect each currency will have a consistent 'best' Higher settings = consistently lower drawdown (over 18) No OSMA values seem to severely impact trade quantity within set1 ranges. USDJPY appears to have similar results in high and low signal range. Maybe limit testing to one range all of the time. If other currencies have similar results with high/low duplication, maybe just do one set instead of 6 (low mid high signal for high and low slow/fast) P_Fast_Period 25 20 17 5 25 !! 5,1,40 !! P_Slow_Period 15 10 28 20 37 !! 10,1,50 !! If a filter was installed so settings with Fast+5> Slow were omitted, this would save a lot of time in testing Both settings need to be tested at the same time. Logical grouping seems possible but not completely deterministic. E.g. we can look for performance groupings but not with certainty. Random sampling via Genetic Algo may work. Trial: GA the other settings, then exhaustive test these settings. Not as expensive if the filter is applied. P_DVBuySell 0029 0078 0034 00022 00042 !! 0,0.0002,0.005 !! Sensitivity .0004-.0060. Recommend increment by .001-.002 for USDJPY. Increasing number decreases trades. Include in drawdown optimization P_DVStayOut 024 026 063 0015 05 !!0,0.001,0.05 !! Decreasing number decreases trades. Include in drawdown optimization (appears to be critical for drawdown)