Thank u makemo8... This system has a very good win ratio... Most of the trades are successfull... And if you avoid trading during big news, you get better results...

Bollinger Squeeze Alert (ps for the coders) 2 replies
Bollinger Band deviation strategy Part I 12 replies
Bollinger Band Squeeze 55 replies
Bollinger Bands Strategy 23 replies
Bollinger squeeze code 0 replies
Disliked{quote} Yes iwas most intrested of how you set up the buys and sells and tp you described in that post. How trades like that looks like. You say not many of those baskets become losers. I was hoping you could describe more about this please. Thank You. Best regardsIgnored
Disliked{quote} corrected...took BB Close instead of low or high....no taking crossover if BB was touched with high/low the last 5 candles! {file}Ignored
Disliked{quote} I have shown how the orders will work in the screenshot. You get a signal: 1. Open pending Limit and Stop orders 10 pips apart (it does not matter how many, this is just the initial orders to cover price movement. If price moves past these initial orders, you will continue to create more orders to cover price movement). 2. Set TP = 50 pips for each order. 3. When a position is closed due to TP, open another pending order to replace it. Same price as original 3. Some positions would have reached TP and some may not. But the entire basket...Ignored
Disliked{quote} Yes and it must go in drawdown maybe big if we get sufddenly in to a strong trend ? Best regardsIgnored
//+------------------------------------------------------------------+ //| TheBollingerSqueeze.mq4 | //| Jay Davis | //| https://www.mql5.com/en/users/johnthe | //+------------------------------------------------------------------+ #property copyright "Jay Davis" #property link "https://www.mql5.com/en/users/johnthe" #property version "1.00" #property strict //--- sinput string The_Bollinger_Band_Squeeze_Settings; input ENUM_TIMEFRAMES timeframe=PERIOD_CURRENT; // Timeframe for Bollinger Band Squeeze input double BollingerSqueezePercentage=0.20; // Squeeze must be less than this % of Max input int BarsInSqueezeTest=100; // Bars in squeeze test //--- sinput string Stochastic_Settings; input int king= 9; // K-value input int dog = 3; // D-value input int slowing=3;// Slowing input ENUM_MA_METHOD maMethod=MODE_SMA;// Moving average method input ENUM_STO_PRICE pricefield=STO_LOWHIGH; enum STO_MODE{main,signal}; input STO_MODE STO_Mode=signal; input int STO_Shift=1; //--- sinput string Bollinger_Band_Settings; input int BBPeriods=20;//Averaging period to calculate the main line input int BBDeviation=2;//Number of standard deviations from the main line input int BBBandsShift=0;//The indicator shift relative to the chart input ENUM_APPLIED_PRICE BBAppPrice=PRICE_CLOSE;//Applied price enum BB_MODE{bbmain,upper,lower}; input int BBShift=1; //--- sinput string Trade_Settings; input int BarsInSwingTest=10; // Bars in swing high/low test input int PipBuffer=10; // Points of buffer for stoploss input double LotSize=0.01; // Size of lot for orders //--- Global variables datetime NewTime=0; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- if(NewTime!=Time[0]) // Run only on new bars { NewTime=Time[0]; // Gather decision material bool stochasticCrossedOverBought=false,stochasticCrossedOverSold=false, touchedLowerBB=false,touchedUpperBB=false, range=TheBollingerBandSqueeze(BollingerSqueezePercentage); // Stochastic cross double stochastic=iStochastic(NULL,timeframe,king,dog,slowing,maMethod,pricefield,STO_Mode,STO_Shift); double previousStochastic=iStochastic(NULL,timeframe,king,dog,slowing,maMethod,pricefield,STO_Mode,STO_Shift+1); if(previousStochastic>80 && stochastic<80) stochasticCrossedOverBought=true; if(previousStochastic<20 && stochastic>20) stochasticCrossedOverSold=true; // Bollinger Band cross double middleBB= iBands(_Symbol,timeframe,BBPeriods,BBDeviation,BBBandsShift,BBAppPrice,bbmain,BBShift), upperBB = iBands(_Symbol,timeframe,BBPeriods,BBDeviation,BBBandsShift,BBAppPrice,upper,BBShift), lowerBB=iBands(_Symbol,timeframe,BBPeriods,BBDeviation,BBBandsShift,BBAppPrice,lower,BBShift); if(iHigh(NULL,0,1) > upperBB && iLow(NULL,0,1) < upperBB) touchedUpperBB = true; if(iHigh(NULL,0,1) > lowerBB && iLow(NULL,0,1) < lowerBB) touchedLowerBB = true; // stoploss and take profit calculations double takeprofit=middleBB, // Take profit at the middle Bollinger Band highestHigh=iHigh(NULL,PERIOD_CURRENT,iHighest(NULL,PERIOD_CURRENT,MODE_HIGH,BarsInSwingTest,1)), lowestLow=iLow(NULL,PERIOD_CURRENT,iLowest(NULL,PERIOD_CURRENT,MODE_LOW,BarsInSwingTest,1)); // lotsize calculations double Lots=LotSize; // Trading int ticket=0; bool orderSelected = false; bool orderModified = false; if(stochasticCrossedOverSold // Stochastic crosses from above oversold to below && touchedLowerBB // If price touches the lower Bollinger Band during last bar && range // If bandwidth is less than the percentage of max bandwith in squeeze test && middleBB-iClose(_Symbol,timeframe,1)>(20*Point)) // If price close is less than the middle Bollinger Band { // Place buy order double stoploss=lowestLow -(PipBuffer*Point); // Stoploss is lowest low in x periods - pips buffer ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,NULL,0,0,Blue); if(ticket>0) orderSelected=OrderSelect(ticket,SELECT_BY_TICKET); orderModified=OrderModify(OrderTicket(),OrderOpenPrice(),stoploss,takeprofit,0,clrGreen); } if(stochasticCrossedOverBought // Stochastic crosses from above overbrought to below && touchedUpperBB // If price touches the upper Bollinger Band during last bar && range // If bandwidth is less than the percentage of max bandwith in squeeze test && iClose(_Symbol,timeframe,1)-middleBB>(20*Point)) // If price close is more than the middle Bollinger Band { // Place sell order double stoploss=highestHigh+(PipBuffer*Point);// Stoploss is highest high in x periods + pips buffer ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0,NULL,0,0,Blue); if(ticket>0) orderSelected=OrderSelect(ticket,SELECT_BY_TICKET); orderModified=OrderModify(OrderTicket(),OrderOpenPrice(),stoploss,takeprofit,0,clrBlue); } } } //+------------------------------------------------------------------+ //| Bollinger Band Squeeze determination | //+------------------------------------------------------------------+ bool TheBollingerBandSqueeze(double thresholdPercentage) { double currentBandWidth=0.0; currentBandWidth=(iBands(_Symbol,timeframe,BBPeriods,BBDeviation,BBBandsShift,BBAppPrice,upper,BBShift) -iBands(_Symbol,timeframe,BBPeriods,BBDeviation,BBBandsShift,BBAppPrice,lower,BBShift)); double widestBandWidth=0.0; for(int i=1; i<=BarsInSqueezeTest; i++) { // find the widest bandwidth double bandWidth, upperBBS = iBands(_Symbol,timeframe,BBPeriods,BBDeviation,BBBandsShift,BBAppPrice,upper,i), lowerBBS = iBands(_Symbol,timeframe,BBPeriods,BBDeviation,BBBandsShift,BBAppPrice,lower,i); bandWidth=upperBBS-lowerBBS; if(bandWidth>widestBandWidth) widestBandWidth=bandWidth; } if(currentBandWidth < (widestBandWidth * thresholdPercentage))return true; return false; } //+------------------------------------------------------------------+
DislikedI am new to this site. Not sure if this will work? Saw your TBS strategy and it looks interesting and I will try it out. You said you will send info to email address here is mine.{ email address deleted by staff }Ignored
DislikedOk, I guess it is time for me to stop tinkering with the expert advisor that I made to trade this strategy. I'm not happy with the way that it trades, maybe there is something that I missed about this strategy, please take a look at your leisure. //+------------------------------------------------------------------+ //| TheBollingerSqueeze.mq4 | //| Jay Davis | //| https://www.mql5.com/en/users/johnthe | //+------------------------------------------------------------------+ #property copyright "Jay Davis" #property link "https://www.mql5.com/en/users/johnthe"...Ignored
DislikedHi, This an EA which allows Backtests. Please load EA "BandSqueezeSto" and indicators "WelchBBWidth" and Stochastic. If not available download the TBS Strategy.zip folder. I tested EURUSD and USDCHF from 2017.01.03 to 2017.10.26 , H4 seems to be the most performant timeframe. Have fun! Use it only with demo accounts, of course :-) Peter {file}Ignored
DislikedHi, This an EA which allows Backtests. Please load EA "BandSqueezeSto" and indicators "WelchBBWidth" and Stochastic. If not available download the TBS Strategy.zip folder. I tested EURUSD and USDCHF from 2017.01.03 to 2017.10.26 , H4 seems to be the most performant timeframe. Have fun! Use it only with demo accounts, of course :-) Peter {file}Ignored