Disliked{quote} The offline timeframe does not mater, just keep it under 240 to preserve the daily separators.Ignored
Trading Renko 1,136 replies
My Renko System Discussion 10 replies
RENKO Trading SYSTEM - RENKO Indicators 7 replies
Renko iHarvest Trading Discussion 5 replies
New Renko Bar and Reversal Renko Bar Indicator Alert Help Please 5 replies
DislikedHere is a quick fix of the problem. It seems to work fine. I'm too busy to debug the EA at the moment. Hope it won't break again. {file}Ignored
Disliked{quote} What do you mean by 'keep it under 240' , this is not time frame as that must be 1 minute .. ? ,Sorry I'm still learning...Ignored
DislikedHi, im unable to backtest any of the EAs , im already using the non-gap renko chart, any ideas? already downloaded the one from post 351 {image} 2016.02.24 00:24:17.869 2015.01.04 22:39 MathTrader7_RenkoADX_EA EURUSD,M1: initialization failed (65535) thanksIgnored
DislikedHi Math, I'm trying several of your EA's and all works fine but with ADX EA I can't make it works. When I attach the EA to renko chart it close automatically and the only message that I see in screen is "Please attach the EA to a non-gap Renko chart". "You can download..." I'm using your RenkoChartCreator v1.45 and it's working fine with BT and Parabolic EA's. In journal it only say "Expert MathTrader7_RenkoADX_EA EURUSD,M4: removed". Any idea? RegardsIgnored
DislikedMath, As a note, my testing with using the Quantum indicator with Renko charts a few posts back is going well. Account is up 3% and managed to survive the huge JPY drop with a small profit. I currently have this coded to trade multiple pairs and place orders with Oanda's FXTrade (in order to trade very small), so I cannot share it. If the testing continues to go well I will code it up for a single currency in MT4 sometime in the next few days, unless you get to it first.Ignored
//+------------------------------------------------------------------+ //| Renko-Apfelsaft.mq4 | //| Copyright 2015, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2015, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict extern int MagicNumber = 1234; // Magic Number extern int OpenBars = 2; // Number of bars before opening extern int ExtendedTP = 8; // Number of bars before extending exit extern double LotSize = 0.01; // Lot size extern int Slippage = 10; // Allowed slippage in Points datetime BarTime; bool MinMovement; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit(){ BarTime = Time[1]; MinMovement = false; return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason){ } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick(){ string Bar1,Bar2; bool OpenTrade = false; int Ticket; // We only need to perform actions on creation of a new bar if(BarTime != Time[0]){ // evaluate previous 2 bars if (Open[1] < Close[1]) Bar1 = "up"; else Bar1 = "down"; if (Open[2] < Close[2]) Bar2 = "up"; else Bar2 = "down"; // is there an open trade? for(int i=0; i<OrdersTotal(); i++){ if((OrderSelect(i,SELECT_BY_POS) == true)&&(OrderSymbol() == Symbol())&&(OrderMagicNumber() == MagicNumber)){ if (OrderType() == OP_BUY){ OpenTrade = true; if (ConsecutiveBars("buy") >= 4) MinMovement = true; // take profit hit? if (ConsecutiveBars("buy") >= (ExtendedTP + OpenBars)){ if ((Bar1 == "down") && (Bar2 == "down")){ if ((OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,clrRed)) == false)Print("buy order close failed with error #",GetLastError()); else OpenTrade = false; } } else { if ((Bar1 == "down")&&(MinMovement == true)){ if ((OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,clrRed)) == false)Print("buy order close failed with error #",GetLastError()); else { OpenTrade = false; MinMovement = false; } } } } if (OrderType() == OP_SELL){ OpenTrade = true; if (ConsecutiveBars("sell") >= 4) MinMovement = true; // take profit hit? if (ConsecutiveBars("sell") >= (ExtendedTP + OpenBars)){ if ((Bar1 == "up") && (Bar2 == "up")){ if ((OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,clrRed)) == false)Print("sell order close failed with error #",GetLastError()); else OpenTrade = false; } } else { if ((Bar1 == "up")&&(MinMovement == true)){ if ((OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,clrRed)) == false)Print("sell order close failed with error #",GetLastError()); else OpenTrade = false; } } } } } // look for new trades if (OpenTrade == false){ MinMovement = false; if ((Bar1 == "up") && (Bar2 == "up")){ // open buy trade Ticket = OrderSend(Symbol(),OP_BUY,LotSize,Ask,Slippage,"Renko-Apfelsaft",MagicNumber,0,clrGreen); if (Ticket < 0) Print("buy order failed with error #", GetLastError()); } if ((Bar1 == "down") && (Bar2 == "down")){ // open sell trade Ticket = OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slippage,"Renko-Apfelsaft",MagicNumber,0,clrGreen); if (Ticket < 0) Print("sell order failed with error #", GetLastError()); } } BarTime = Time[0]; } } //+------------------------------------------------------------------+ //| Functions | //+------------------------------------------------------------------+ // count consecutive bars of same direction int ConsecutiveBars(string TradeDirection){ int a = 1; if (TradeDirection == "buy") while (Open[a] < Close[a]) a++; if (TradeDirection == "sell")while (Open[a] > Close[a]) a++; return a-1; }