asgard2 Posted October 26, 2009 Author Report Share Posted October 26, 2009 Re: Building your own EA G/08. Actually I've been working on an EA of my own for a while. It's based off the Steinitz Fractal Breakout indicator (except it doesn't rely on the indicators). It's hugely profitable... on any timeframe on any currency, except that I can't quite get the rules working right. I could use some help. Maybe I will borrow somew of the ideas introduced here. Great stuff when you get it going, why don't you post a backtest or vid for us? So pleased to see someone doing something different. We have a saying where I come from.. if you do what everyone else does, you will get what everyone else gets. If you do something outstanding, you will get what everyone else wants. Quote Link to comment Share on other sites More sharing options...
Rio Posted October 27, 2009 Report Share Posted October 27, 2009 Re: Building your own EA G/08. Just curious what the overall trade strategy of your EA is now asgard. If you've ripped so mouch out of Greezley, what is left? As for my own code experiment, I'm trying to clean it up. The stop loss and trailing stop doesn't seem to work properly. Lots of Ordertype errors when trying to close trades and move stoplosses). If I get super stuck, or if I get it working and it's unprofitable anyway (which I doubt. Some earlier version I had went to the upside in an insane fashion) I'll post the whole thing, but if not, well, too bad. ;) My main issue is closing a trade at breakeven when the broker stoplimit is a bit tight. I'm trying to rummage through code of other EA to find a solid way of ensuring that a stop gets moved and a trade gets closed out -- WITHOUT any trade errors (or as few as slippage will allow), across 4-5 digit brokers and the possibility of NFP rules. That's my biggest issue. The EA is not a scalper either... so spreads are not an issue, and so far the EA makes trades like a man possessed -- only that it's losing most of the time due to not closing the trades properly at the right time thanks to my own sloppy coding. Quote Link to comment Share on other sites More sharing options...
asgard2 Posted October 27, 2009 Author Report Share Posted October 27, 2009 Re: Building your own EA G/08. I had to resurrect some of the Greezly code because I had too many pieces related that I didn't know about until I ran it through its tests. I found some functionally missing and one important part.. the Limit Distance wasn't working. I only used the high low limit for the logic though. The flat, iAC and speed indicators were gone. here is the code that I used for my trailing stop. extern double BuyTrailingStop = 320; extern double SellTrailingStop = 380; // How far into the trade the trailing stop should be set. extern double StepTrailingStop = 40; if(BuyTrailingStop > 0) total = OrdersTotal(); { for(i = 0; i < total; i++){ OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol() != Symbol()) continue; // if(OrderType() == OP_BUY){ if(Bid > (OrderOpenPrice() + Point * BuyTrailingStop)){ if((OrderStopLoss() == 0) || (OrderStopLoss() < (Bid - Point * (BuyTrailingStop + StepTrailingStop)))){ OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * BuyTrailingStop, OrderTakeProfit(), 0);}}}} } if(SellTrailingStop > 0) total = OrdersTotal(); { for(i = 0; i < total; i++){ OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol() != Symbol()) continue; // if(OrderType() == OP_SELL){ if(Ask < (OrderOpenPrice() - Point * SellTrailingStop)){ if((OrderStopLoss() == 0) || (OrderStopLoss() > (Ask + Point * (SellTrailingStop + StepTrailingStop)))){ OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * SellTrailingStop, OrderTakeProfit(), 0);}}}} } Quote Link to comment Share on other sites More sharing options...
asgard2 Posted October 27, 2009 Author Report Share Posted October 27, 2009 Re: Building your own EA G/08. Here is some break even code.. to change the digits on either lots of code, I just take remove a digit from the settings... e.g 600 on a five digit broker is 60 on a four digit broker. BTW.. I am not sure this break-even code works I didn't try it. if(UseBreakeven) { for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue; if(OrderType() == OP_BUY) if(breakeven>0) { if(Bid-OrderOpenPrice() > (Point*breakeven)) { if(OrderStopLoss() != OrderOpenPrice() && OrderStopLoss() < OrderOpenPrice()) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Red); //Print("Moved Buy to Breakeven"); return(0); } } } if(OrderType()==OP_SELL) if(breakeven>0) { if((OrderOpenPrice()-Ask)> (Point*breakeven)) { if(OrderStopLoss() != OrderOpenPrice() && OrderStopLoss() > OrderOpenPrice()) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Red); //Print("Moved Sell to Breakeven"); return(0); } } } } } Quote Link to comment Share on other sites More sharing options...
asgard2 Posted October 27, 2009 Author Report Share Posted October 27, 2009 Re: Building your own EA G/08. to get rid of your errors.. paste these in to your EA under init if(TakeProfitB != 0) TakeProfitB = MathMax(MarketInfo(Symbol(), MODE_STOPLEVEL), TakeProfitB); if(TakeProfitS != 0) TakeProfitS = MathMax(MarketInfo(Symbol(), MODE_STOPLEVEL), TakeProfitS); if(StopLossB != 0) StopLossB = MathMax(MarketInfo(Symbol(), MODE_STOPLEVEL), StopLossB); if(StopLossS != 0) StopLossS = MathMax(MarketInfo(Symbol(), MODE_STOPLEVEL), StopLossS); Quote Link to comment Share on other sites More sharing options...
Rio Posted October 27, 2009 Report Share Posted October 27, 2009 Re: Building your own EA G/08. Thanks for the tips. Yes, in fact I did rip that chunk of code from Greezley init to throw into my creation to ensure that the Trailingprofit was "normalized" against the broker market conditions. Trouble is, my EA doesn't actually use a take profit or stop loss. The process is dynamic based on calculated fibonacci retracements and an SMA and candle rules for a stop loss. This is what I'm having the most trouble with, as the calculations seem to come out wrong, and when they aren't, a lot of OrderSend errors prevent trades from closing when they should. Very simple to convert 4-5 digit with stop loss and take profit in the init too, as it turns out: if (Digits == 3 || Digits ==5) { TakeProfit = Takeprofit * 10; Stoploss = Stoploss * 10; } At least I think that should work. 4 digit brokers have 4 digits, and 2 Digits (for JPY crosses), where as 5 digit brokers have 5 digits and 3 for JPY crosses. The real cow is trying to have an EA that can play both sides of the fence on NFA rules. My EA takes 3 trades in one direction with three different take profit levels per trade. This is easy when NFA is not an issue because you just set the TPs spereately, but when it IS an issue you have to force close the trades (in order they were created due to FIFO rules) when they pass your take profits. This usually means that the first and nearest take profit trade must be made first (as NFA rules prohibit you setting different TP levels for trades on the same symbol)... and obviously you cannot hedge either. Getting this to operate means that you have to be able to identify which trades are which, and in order to do that, you have to do some mumbo jumbo coding with the magic number.... such as create a numbering scheme. Quote Link to comment Share on other sites More sharing options...
asgard2 Posted October 27, 2009 Author Report Share Posted October 27, 2009 Re: Building your own EA G/08. ok.. I am no coder but I am not sure why your code multiplies by 10.. the computer would see, for example say your stop-loss is set at 50 points. 50 * 10 is 500 where it needs to be (I would think) 50 * 0.0001 or 0.005 of the currency price. Although it is hard to tell what else you have in there.. maybe it is possible it is seeing it as 500 times the base currency? I have a bunch of snippets.. here is one that is complete and I believe would work for the calculations. Or you could just use *Point int digit=0; double point; //+-------------------------------------------------------------------------------------------+ //| expert initialization function | //+-------------------------------------------------------------------------------------------+ int init() { //---- if (Digits == 3 || Digits == 5) { if (Digits == 3) point = 0.01; else point = 0.0001; } else point = Point; //---- return(0); } //+-------------------------------------------------------------------------------------------+ //| expert start function | //+-------------------------------------------------------------------------------------------+ int start() { //---- digit = MarketInfo(Symbol(),MODE_DIGITS); Quote Link to comment Share on other sites More sharing options...
Cyrillic Posted October 27, 2009 Report Share Posted October 27, 2009 Re: Building your own EA G/08. Rio why not move to a UK broker where hedging is enabled, it makes no sense to stay with a broker that limits your strategies ability to profit... Quote [spoiler:26ukmy10]Never trust, never fear, never beg[/spoiler:26ukmy10] Link to comment Share on other sites More sharing options...
Rio Posted October 28, 2009 Report Share Posted October 28, 2009 Re: Building your own EA G/08. I don't use any NFP brokers, so I don't have to worry about that. I was just experimenting on NFP demo accounts and wanted to add the functionality to see what is involved. If I get this EA up and running, I know for sure it will work a million times better on non NFP brokers. Thanks for pointing out my error. Seems as if my problem with the stop loss was due to the calculation I was using. It is working much better now. I still have to fix bits where some of my trades are getting stopped out at the wrong positions, for seemingly no reason. Once I fix this, we should see some interesting graphs because most of the stopped out trades were on course to be profitable. Quote Link to comment Share on other sites More sharing options...
finimej Posted December 6, 2009 Report Share Posted December 6, 2009 Re: Building your own EA G/08. I am willing to take part of this thread, whatever that I can help, please let me know. Quote Link to comment Share on other sites More sharing options...
finimej Posted December 22, 2009 Report Share Posted December 22, 2009 Re: Building your own EA G/08. Download the Greezly 2009 version here, I used google to translated it to engliish. http://www.formulatrader.com/download/greezly2009.zip what the EA need to be fixed? 1) the buy operation. some times has large Float DD. so the wrong buy operation need to be eliminated by using candelstick theory. code can be found in the svos EA. as it, the relative DD is at 65.6%, too big. should be limited at 15% max. 2) the sell operation is not working well in the entire back test period. this shall be fixed. Thanks Asgard for enlighting in the entire thread. Quote Link to comment Share on other sites More sharing options...
IamJon Posted December 22, 2009 Report Share Posted December 22, 2009 Re: Building your own EA G/08. The Sell is not working because of the following lines: extern double BuyDenyLevel = 160; // boundary level of opening orders BUY (above this level warrant can not be opened) extern double SellDenyLevel = 155; // boundary level of opening orders SELL (below this level orders can not be opened) I believe the EA was initially tuned for the GBPJPY. These variables are used to set the price range for the pair to allow buy and sell orders to be placed. The EU would be in a much lower range (~100 times lower). Both of these can be set to 0 and the EA will not "deny" buying or selling based on price levels. Hint: search for BuyDenyLevel in the code and you will see the deny levels are not used if set to 0. Quote Link to comment Share on other sites More sharing options...
finimej Posted December 28, 2009 Report Share Posted December 28, 2009 Re: Building your own EA G/08. well, it took me a while to understand the greezly logic. I have take away all the logic, such as 1) Accelerator indicator 2) Speed indicator 3) High Low limit 4) Flat indicator and make it only fire the buystop. and finally get the raw greezly EA logic, why Greezly EA fire orders at that price. here is the picture describes the logic link to the picture http://www.formulatrader.com/download/bild/greezlyrawlogic.gif http://www.formulatrader.com/download/bild/greezlyrawlogic.gif Quote Link to comment Share on other sites More sharing options...
qwertyasdf999 Posted December 28, 2009 Report Share Posted December 28, 2009 Re: Building your own EA G/08. finimej, Nice explaination and great idea about the buystoplevel. =D> Seems to me you've integrated all asgard2's ideas. However after I still can not 100% integrate all his ideas after tons of attempts, do you mind to send me your modified version please? [email protected], Very appreciated. ^:)^ Quote Link to comment Share on other sites More sharing options...
finimej Posted December 28, 2009 Report Share Posted December 28, 2009 Re: Building your own EA G/08. qwertyasdf999 I am just in the begining where asgard was in the 2009-july or august. I stripped off all the greezly logic, and find the buystoplevel is the simple entry rule. then I started to doubt if such simple entry rule works. you can download all the code at http://www.formulatrader.com/download/GreezlyV1.6.zip with all the Greezly filter stripped. and no filter of candle added yet. Quote Link to comment Share on other sites More sharing options...
IamJon Posted December 29, 2009 Report Share Posted December 29, 2009 Re: Building your own EA G/08. I have made some observations that may help us progress more quickly. 1. The Acceleration indicator is only used to delete limit orders. It can be disabled by setting UseAcceleratorIndicator to 0. 2. The CountHighLowLimits is only used to delete stop orders. It can be disabled by setting CountHighLowLimits to 0. 3. The Speed indicator is used to delete limit orders and place market orders. It can be disabled by setting UseSpeedIndicator to 0. If it is enabled by setting UseSpeedIndicator to 1, placement of market orders from the speed indicator can be dissabled by setting iSP_UseForOpenRealOrders to 0. 4. The Flat indicator places market orders. It can be disabled by setting UseFlatIndicator to 0. 5. Buy market, limit, and stop order placement can be disabled by setting UseBuy to 0 (or enabled by setting UseBuy to 1). 6. Sell market, limit, and stop order placement can be disabled by setting UseSell to 0 (or enabled by setting UseSell to 1). 7.The prices chosen for stop and limit orders are based on the current price level, i.e. if current price is 1.4532, the limit and stop orders are placed at 1.4500 + the level set by BuyStopLevel, SellStopLevel, BuyLimitLevel, and SellLimitLevel. 8. BuyStopLevel determines the Buy Stop order price. Placing of Buy Stop orders can be disabled by setting BuyStopLevel to -1. 9. SellStopLevel determines the Sell Stop order price. Placing of Sell Stop orders can be disabled by setting SellStopLevel to -1. 10. BuyLimitLevel determines the Buy Limit order price. Placing of Buy Limit orders can be disabled by setting BuyLimitLevel to -1. 11. SellLimitLevel determines the Sell Limit order price. Placing of Sell Limit orders can be disabled by setting SellLimitLevel to -1. I will try to spend some time explaining more of the parameters. Any corrections to my explainations are most welcome. Thanks finemej and qwertyasdf999 for keeping this thread alive. As you may have determined, enabling the sell logic by setting SellDenyLevel to 0 did not improve the backtest results. The market conditions did not work well over the time period used by finemej for backtesting for this EA with the Sell logic enabled. Is it possible that separating the buy and sell logic/indicator parameters would improve the outcome? Quote Link to comment Share on other sites More sharing options...
asgard2 Posted December 30, 2009 Author Report Share Posted December 30, 2009 Re: Building your own EA G/08. well People, I thought this thread was dead.. Actually.. I did not get Greezly quite right and it failed on me sometime after my last post. To tighten it up anymore was leaving me with a mediocre profit level, so I started a different one from scratch. So far, so good. Let me chase up the Greezly I modified and you can try it yourself.. If nothing else it was great for learning coding and trimming up my trading style. For the last three posters here, if you want the new EA (no Name yet), I will upload it and PM you the address if you want it. It is not finished but it has a few original ideas in the code. I am running control points at this time because its still in development. The image is about 8 months of trading http://img200.imageshack.us/img200/8120/7801.gif Quote Link to comment Share on other sites More sharing options...
Cyrillic Posted December 30, 2009 Report Share Posted December 30, 2009 Re: Building your own EA G/08. Nice to see you are still working on your ea's asgard! I've been working on my own creation for a whille now check it out, its not perfect yet and needs some internal adjustments but it is the closest i've come to holy grail :)) Lots are not limited or regulated since i like to see large numbers in the end of my backtests ... This is january to september http://i46.tinypic.com/30lc9qg.gif Here is a link to backtest :) http://www.multiupload.com/NW4HK7TP9U Quote [spoiler:26ukmy10]Never trust, never fear, never beg[/spoiler:26ukmy10] Link to comment Share on other sites More sharing options...
asgard2 Posted December 30, 2009 Author Report Share Posted December 30, 2009 Re: Building your own EA G/08. Lots are not limited or regulated since i like to see large numbers in the end of my backtests ... This is january to september Hi Cyrillic.. looks like a great job.. LOL so how many lots is that? What pair do you run? I only ever run maximum 8 lots.. I am not game enough Actually.. I run this just to keep me safer :) if (OrdersTotal() == 0) Risk=0.1; if (OrdersTotal() == 1) Risk=0.2; if (OrdersTotal() == 2) Risk=0.3; Quote Link to comment Share on other sites More sharing options...
asgard2 Posted December 30, 2009 Author Report Share Posted December 30, 2009 Re: Building your own EA G/08. LOL, 1746 Lots... Good for you! Can you get a broker for that? :) Nice trade on the Aussie. I think I am sticking with Cable, makes my candlestick calls more reliable. Quote Link to comment Share on other sites More sharing options...
Cyrillic Posted December 30, 2009 Report Share Posted December 30, 2009 Re: Building your own EA G/08. Yup this is exactly what we all are aiming for. It wasn't just gbp and eur that went nuts almost all usd corsses did it as well usd finally got some torque to rebound (plus European economic recovery plan was running out, thus that huge spike down on eur/chf a while ago) Anyway I will not stray off topic with meaningless fundamental analysis, i hope we can get more of the forum members on this forum inspired to build their own ea's! Quote [spoiler:26ukmy10]Never trust, never fear, never beg[/spoiler:26ukmy10] Link to comment Share on other sites More sharing options...
qwertyasdf999 Posted December 30, 2009 Report Share Posted December 30, 2009 Re: Building your own EA G/08. asgard2, Glad to have you back. I always keep an eye on this thread. Sure I'd like to see your no-name EA. please pm me the link. Thanks. finimej, Thank you for your mql4 file, I back tested it for June and July, we have the same problem, I cant get rid of the two wrong orders placed on June 30th which eventually blew up my account. I twisted High low limits part to avoid two wrong orders on 24 June. I used your default setting btw. Quote Link to comment Share on other sites More sharing options...
asgard2 Posted December 31, 2009 Author Report Share Posted December 31, 2009 Re: Building your own EA G/08. For those with the developing EA, full control point backtest here. http://rapidshare.com/files/328262516/FxPro_-Real.rar The EA needs more developing before it is a live proposition. It needs at least another month of work. So far the logic only works on retracement but I will try going with the trend as well in separate logic The sell logic is not added yet and the EA will not be complete until it is. If you like it, I will keep you all posted on the progress Edit: happy New Year to all.. hope you don't get too sick Quote Link to comment Share on other sites More sharing options...
asgard2 Posted December 31, 2009 Author Report Share Posted December 31, 2009 Re: Building your own EA G/08. Forgot to mention.. GBP/USD This EA only runs well on a 15minute chart and it is not setup yet for a four digit broker. Quote Link to comment Share on other sites More sharing options...
finimej Posted December 31, 2009 Report Share Posted December 31, 2009 Re: Building your own EA G/08. hello, can someone repost the above backtest result to 4shared? can not download with rapidshare. thanks. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.