Old and defunct Holy Graily Bob

EA's inspired by nanningbob's work here, especially those based on his 240 Moving Average trend detection filter.
Locked
User avatar
Sgt.Forex
Trader
Posts: 55
Joined: Wed Nov 16, 2011 11:03 am
Location: Germany

Holy Graily Bob

Post by Sgt.Forex »

Wow, absolutely great guys!!! The Booklet is really worth the read. Demo is up and running :-)
I wish All of you a great Christmas time!
Cheers
Money makes the world go round! ;)
User avatar
Aussiedoc
Trader
Posts: 270
Joined: Tue Dec 13, 2011 8:10 am
Location: Western District. Victoria. Australia

Holy Graily Bob

Post by Aussiedoc »

Nanningbob, Steve, Ellixe, Milanese, Baluda et al... Many thanks. Mille Grazie. Merci beaucoup. Heel erg bedankt..... :good: :good:
If you can never exceed your own expectations - why expect second-best?
hughmac
Posts: 3
Joined: Sun Aug 04, 2013 11:08 pm

Holy Graily Bob

Post by hughmac »

Holy Graily Bob is an attempted automation of trading with Bob's Holy Grail Indicator. Download Bob's zipfile from http://www.stevehopwoodforex.com/phpBB3 ... 45#p105045.


Looks amazing! Thank You!
:clap:
xfactornos
Trader
Posts: 115
Joined: Fri May 23, 2014 5:43 pm
Location: Where I am...

Holy Graily Bob

Post by xfactornos »

Has anyone fired this up yet? I am getting the following error on all pairs so far
"2014.11.30 21:01:02.442 Holy Graily Bob USDCAD,H4: USDCAD Holy Graily Bob OP_BUY order send failed with error(4051): invalid function parameter value"

I believe the error occurred when trying to open Rad buys and Rad sells. not sure if that helps or not.
Last edited by xfactornos on Mon Dec 01, 2014 2:21 am, edited 1 time in total.
John 3:16
FxFoil
Trader
Posts: 42
Joined: Wed Dec 07, 2011 5:40 am

Holy Graily Bob

Post by FxFoil »

Same error as above as well as
invalid lots amount for OrderSend function
when lot is .01 ootb
occurs when ecn is either true or false

Edit: New version 14.2 available at Bob's house.
BobbyT
Trader
Posts: 232
Joined: Thu Aug 21, 2014 1:34 am
Location: Seattle

Holy Graily Bob

Post by BobbyT »

I am also getting the 4051 error on a number of pairs.
EA is set up ootb with the exception of some ridiculous TP on trend and RAD trading to allow the wavy lines to do their thing.
I do however have an order open on NZDCAD :clap:
Procrastination provides exponentially negative returns - BobbyT
User avatar
renexxxx
Trader
Posts: 860
Joined: Sat Dec 31, 2011 3:48 am

Holy Graily Bob

Post by renexxxx »

Same here with error 4051 and invalid lots amount for OrderSend function.

By looking at the code (lines 1703-1731, for a SendLong, and lines 1734-1762, for a SendShort) it appears that SendLots is only set if TradeComment == TrendTradeComment. So, in other words, Trend Trades are working well but for Range Trades and Rad Trades, the SendLots value is never set and would default to 0.0.
BobbyT
Trader
Posts: 232
Joined: Thu Aug 21, 2014 1:34 am
Location: Seattle

Holy Graily Bob

Post by BobbyT »

That would fit the bill. All my errors have been on range and RAD trades. The open NZDCAD was posted as a trend trade

Edit: Elixes update has cleared up the zero divide error that was occuring. The order send error is a different problem
Procrastination provides exponentially negative returns - BobbyT
User avatar
renexxxx
Trader
Posts: 860
Joined: Sat Dec 31, 2011 3:48 am

Holy Graily Bob

Post by renexxxx »

For those of you who can't wait for master Steve to wake up from his well deserved sleep and add the missing lines, you can temporarily do what I've done:

I changed lines 1715-1723:

Code: Select all

         if (TradeComment == TrendTradeComment)
         {
            stop = CalculateStopLoss(OP_BUY, price, TradeComment);
            take = CalculateTakeProfit(OP_BUY, price, TradeComment);
            SendLots = TrendLot;
            //Lot size calculated by risk         
            if (!CloseEnough(TrendRiskPercent, 0) ) 
               SendLots = CalculateLotSize(price, NormalizeDouble(stop + (HiddenPips / factor), Digits), TrendRiskPercent);         
         }//if (TradeComment == TrendTradeComment)
To

Code: Select all

         if (TradeComment == TrendTradeComment) {
            stop = CalculateStopLoss(OP_BUY, price, TradeComment);
            take = CalculateTakeProfit(OP_BUY, price, TradeComment);
            SendLots = TrendLot;
            //Lot size calculated by risk         
            if (!CloseEnough(TrendRiskPercent, 0) ) 
               SendLots = CalculateLotSize(price, NormalizeDouble(stop + (HiddenPips / factor), Digits), TrendRiskPercent);         
         }
         else if ( TradeComment == RangeTradeComment ) {
            stop = CalculateStopLoss(OP_BUY, price, TradeComment);
            take = CalculateTakeProfit(OP_BUY, price, TradeComment);
            SendLots = RangeLot;
            //Lot size calculated by risk         
            if (!CloseEnough(RangeRiskPercent, 0) ) 
               SendLots = CalculateLotSize(price, NormalizeDouble(stop + (HiddenPips / factor), Digits), RangeRiskPercent);         
         }
         else if ( TradeComment == RadTradeComment ) {
            stop = CalculateStopLoss(OP_BUY, price, TradeComment);
            take = CalculateTakeProfit(OP_BUY, price, TradeComment);
            SendLots = RadLot;
            //Lot size calculated by risk         
            if (!CloseEnough(RadRiskPercent, 0) ) 
               SendLots = CalculateLotSize(price, NormalizeDouble(stop + (HiddenPips / factor), Digits), RadRiskPercent);         
         }
And I changed lines 1746-1754:

Code: Select all

         if (TradeComment == TrendTradeComment)
         {
            stop = CalculateStopLoss(OP_SELL, price, TradeComment);
            take = CalculateTakeProfit(OP_SELL, price, TradeComment);
            SendLots = TrendLot;
            //Lot size calculated by risk         
            if (!CloseEnough(TrendRiskPercent, 0) ) 
               SendLots = CalculateLotSize(price, NormalizeDouble(stop - (HiddenPips / factor), Digits), TrendRiskPercent);         
         }//if (TradeComment == TrendTradeComment)
To:

Code: Select all

         if (TradeComment == TrendTradeComment) {
            stop = CalculateStopLoss(OP_SELL, price, TradeComment);
            take = CalculateTakeProfit(OP_SELL, price, TradeComment);
            SendLots = TrendLot;
            //Lot size calculated by risk         
            if (!CloseEnough(TrendRiskPercent, 0) ) 
               SendLots = CalculateLotSize(price, NormalizeDouble(stop - (HiddenPips / factor), Digits), TrendRiskPercent);         
         }//if (TradeComment == TrendTradeComment)
         else if ( TradeComment == RangeTradeComment ) {
            stop = CalculateStopLoss(OP_SELL, price, TradeComment);
            take = CalculateTakeProfit(OP_SELL, price, TradeComment);
            SendLots = RangeLot;
            //Lot size calculated by risk         
            if (!CloseEnough(RangeRiskPercent, 0) ) 
               SendLots = CalculateLotSize(price, NormalizeDouble(stop - (HiddenPips / factor), Digits), RangeRiskPercent);         
         }
         else if ( TradeComment == RadTradeComment ) {
            stop = CalculateStopLoss(OP_SELL, price, TradeComment);
            take = CalculateTakeProfit(OP_SELL, price, TradeComment);
            SendLots = RadLot;
            //Lot size calculated by risk         
            if (!CloseEnough(RadRiskPercent, 0) ) 
               SendLots = CalculateLotSize(price, NormalizeDouble(stop - (HiddenPips / factor), Digits), RadRiskPercent);         
         }
Mine is now opening Range Trades and Rad Trades without problems.

Of course you can also wait for the Master to do this properly.
User avatar
oliverjp
Trader
Posts: 36
Joined: Mon May 06, 2013 8:39 am

Holy Graily Bob

Post by oliverjp »

Even quicker and dirtier. Just changed one line twice and it seems to place a fixed lot order of any type fine now. Not the SL or TP though. Don't really want to hack about Steve's new toy too much. Time for bed and await the master's breath tomorrow:

//jpo hack
//old if (TradeComment == TrendTradeComment)
if (TradeComment != "") // new

PS This indicator and EA looks blinding. Many thanks to all the team who invented and crafted it! :clap:
Last edited by oliverjp on Mon Dec 01, 2014 4:13 am, edited 1 time in total.
Locked

Return to “Thingy Bob EA's”