Welcome Forex EA downloads & MT4/MT5 auto-trading resources — EAs, Gold EAs, quant tools and real-world automation.
Sign In Sign Up

DailyHighLow (EA - MTaboneWeb) (DailyHighLow (EA - MTaboneWeb))

author EAcpu | 4 reads | 0 comments |
Original thread information:

This thread is dedicated to the ongoing development of the Daily High and Low EA I wrote. The idea for this EA went through several changes, but was originally started by Michaelas in a thread created by Daily95pips. Please use this thread as a place to post positive suggestions, bugs, and general discussion of the EA and its results.

For information and discussion about the Daily95pips system, see this thread here...

http://www.forexfactory.com/showthread.php?t=44246

Even though this EA has been changed in some very extensive ways , I still feel that it accomplishes the original ideas behind Daily95pips and even the many new ideas in this thread.

I've been asked to start my own thread, so I'd like to keep this one about an EA I develop. I don't want to start mixing different versions of EAs written by several other people. Hopefully in doing so, we'll all stay on track and work together, and I'll implement all the ideas I can into EA as long as they enhance the original system and stay true to its source. New EAs can be written for other ideas, so let's keep tracking each idea I develop.

Source code (very important):

Poll: Do I have to share my source code?

set up:
inserted code
//+------------------------------------------------------------------+
//|Input variables|
//+------------------------------------------------------------------+
extern string TradingParameters = "-----------------------------------------------------------------------------";
extern int DayStartHour = 6; //When do you want to trade?
extern int LookbackHours = 6; //Number of hours to look back from the start time extern int HighLowMargin = 20; //Distance to place pending orders above/below the highest/lowest price extern Boolean PlaceLongOrders = true; //Place a long order?
External Boolean PlaceShortOrders = true; //Place a short order?
extern bool CloseTradesAtEndOfDay = true; //Close all open positions/pending orders 1 hour before new trades are placed extern int Order expiry time = 17; //How many hours before the order expires?

extern string NumberOfDaysParameters = "------------------------------------------------------------------";
extern int Number of days = 50; //The number of days to look back to the highest price/lowest price extern int Minimum number of days = 9; //The minimum number of days to look back extern string MaxHighLowParameters = "--------------------------------------------------------------------------------";
extern bool MaxHighLowIsAverage = true; //Use the average of the past X days instead of MaxHighLow
External int Max High Low = 80; // Maximum high/low for lookback time External int MinHighLow = 80; // Minimum high/low to use, i.e. average is 67, then use 80

extern string StopLossParameters = "--------------------------------------------------------------------------------";
extern bool UseHighLowForSL = false; //Use the highest/lowest price as stop loss instead of a separate order setting extern bool CalcSpreadIntoSL = false; //Stop loss is the set value plus the spread of the currency pair, that is, the spread is 4 and the stop loss is 20, then the new stop loss is 24

extern string OppositeOrderParameters = "-----------------------------------------------------------------------------";
extern bool CancelOppositeOrders = false; //Cancel long when short is triggered and vice versa extern bool MoveOppositeOrders = false; //If long is triggered, short moves up under long stop and vice versa extern int OppositeOrderDistance = 5; //Add the distance of the reverse trade stop loss when moving the order, that is, trigger the long position, the stop loss is 20, the original order distance is 40, and then place a new short order 25 points below the long transactionextern string Order01Parameters = "------------------------------------------------------------------------";
External double Order01LotSize = 0.0; //Order lot size (if = 0, no order will be placed)
External int Order01TP = 0; // Take profit (do not place if = 0)
External int Order01SL = 0; //Stop loss external int Order01BE = 0; //When is an order set to breakeven?
External int Order01TrailStopTrigger = 0; //When will the trailing stop be triggered?
extern int Order01TrailStopAmount = 0; //How many points to track?

extern string Order02Parameters = "--------------------------------------------------------------------------------";
External double Order02LotSize = 0.0; //Order lot size (if = 0, no order will be placed)
External int Order02TP = 0; //Take profit (do not place if = 0)
External int Order02SL = 0; //Stop loss external int Order02BE = 0; //When is an order set to breakeven?
External int Order02TrailStopTrigger = 0; //When will the trailing stop be triggered?
extern int Order02TrailStopAmount = 0; //How many points to track?

extern string Order03Parameters = "--------------------------------------------------------------------------------";
External double Order03LotSize = 0.0; //Order lot size (if = 0, no order will be placed)
External int Order03TP = 0; // Take profit (do not place if = 0)
External int Order03SL = 0; //Stop loss external int Order03BE = 0; //When is an order set to breakeven?
External int Order03TrailStopTrigger = 0; //When will the trailing stop be triggered?
extern int Order03TrailStopAmount = 0; //How many points to track?

extern string Order04Parameters = "--------------------------------------------------------------------------------";
External double Order04LotSize = 0.0; //Order lot size (if = 0, no order will be placed)
External int Order04TP = 0; //Take profit (do not place if = 0)
External int Order04SL = 0; //Stop loss External int Order04BE = 0; //When is an order set to breakeven?
External int Order04TrailStopTrigger = 0; //When will the trailing stop be triggered?
extern int Order04TrailStopAmount = 0; //How many points to track?

extern string Order05Parameters = "--------------------------------------------------------------------------------";
External double Order05LotSize = 0.0; //Order lot size (if = 0, no order will be placed)
External int Order05TP = 0; //Take profit (do not place if = 0)
External int Order05SL = 0; //Stop loss external int Order05BE = 0; //When is an order set to breakeven?
External int Order05TrailStopTrigger = 0; //When will the trailing stop be triggered?
extern int Order05TrailStopAmount = 0; //How many points to track?

extern string EmailParameters = "-----------------------------------------------------------------";
extern bool EmailNewOrdersPlaced = false; //Send email whenever an order is placed (even limit and stop orders)
extern bool EmailProfitLossSummary = false; //Send profit/loss summary whenever order quantity changes (not counting pending orders)

extern string MiscParameters = "------------------------------------------------------------------------";
extern bool DisplayProfitLoss = true; //Display transaction history?
extern int order slippage = 3; //How many points can the order change?
External int EAMagicNumber = 200804111; //Used to determine the order placed by the EA
Revision Notes:
inserted code
//+------------------------------------------------------------------+
//|Revision Notes|
//+------------------------------------------------------------------+
/*

Version 1.0a:

   * Fix order expiration issue version 1.0b (130 downloads):

   * Fixed order expiration issue (again)
   * Add CloseTradesAtEndOfDay

Version 1.0c (163 downloads):

   * Added DisplayProfitLoss (display profit/loss on chart comments?)
   * Send an email when a new order is placed * Send an email when the total order count changes (not counting pending orders)

Version 2.0:

   * Fixed bug in profit display midpoint calculation * Fixed email display text issue * Modified key areas to work with real accounts * Live version available Pending additions/changes:

   * EA's email status * Order modified, closed, deleted, etc.? (We don’t know yet how far we can go)

*/
string Version = "DailyHighLow AutoTrader v2.0";

  1. This should be run on an hourly chart.
  2. I don't guarantee any results, especially if you decide to change the default settings or run it in another time frame. The EA looks back by bars, so I can't say how it would work if it wasn't on the hourly chart.
  3. It is extremely important to have MT4 running all week with the charts open and the EA attached. No EA can complete its mission unless everything is running. That's why you need an EA to trade for you.
  4. The EA can only be run on a demo account. If successful I will release a live version.
  5. I will try to post at least weekly updated results.

Currently supported brokers:

  1. all

Here are some of my other topics that may be of interest to you...

"The Pip Nailer" (EA - MTaboneWeb)
AshFX Daily (EA - MTaboneWeb)
DailyHighLow (EA - MtaboneWeb)
GrabMyOrders (EA - MTaboneWeb)
TossUp (EA - MTaboneWeb)
Open EA every week

Special thanks to everyone who has supported and continues to support this EA.

dailyhighlow.gifdailyhighlow_history.gifdailyhighlow_gbpjpy.gifdailyhighlow_eurjpy_2am.gif
dailyhighlow.gifdailyhighlow_history.gifdailyhighlow_gbpjpy.gifdailyhighlow_eurjpy_2am.gif
dailyhighlow.gifdailyhighlow_history.gifdailyhighlow_gbpjpy.gifdailyhighlow_eurjpy_2am.gif
dailyhighlow.gifdailyhighlow_history.gifdailyhighlow_gbpjpy.gifdailyhighlow_eurjpy_2am.gif
dailyhighlow.gifdailyhighlow_history.gifdailyhighlow_gbpjpy.gifdailyhighlow_eurjpy_2am.gif
dailyhighlow.gifdailyhighlow_history.gifdailyhighlow_gbpjpy.gifdailyhighlow_eurjpy_2am.gif

📦 Summary of post attachments (13)

Below are all the files (13) shared in the reply.

Verification code Refresh