Hello Vadim, this is the description of what I would like to have. The EA has to work as I described earlier but to have all the information on 1 place I repeat it all in this topic. The EA will work with several custom indicators or its variations respectively which I am describing below. For the price of 300 I made them fully customized in terms of inputs but actually there are no real additions. All of them need to have the feature / input that they can address selected trading hours / selected trading minutes. There is 1 thing not described before ... I would like to have a list of dates in the code of EAduring which EA would not trade (see below :) There is 1 more thing to consider when calculating values for indicators and that is what if the Period is e.g. 30min but selected trading hours are not integral multiple of Period. To explain better ... NYSE main trading hours are 9:30 to 16:15, if Period is 30min, there are 13 30min bars and 1 15min bar left. This bar should be included in the calculations as regular bar. Also the Daily close price should be taken as close price of this bar (close price of last minute bar in the MainTradingHours) These are the custom indicators that need to be created. Function: TH_AverageTrueRange - will calculate AverageTrueRange from preselected timeframes Inputs: Start_hour Start_minute End_hour End_minute Timeframe (standard timeframes available in MT4 from 5 minute to daily, including) - to be selected from combobox as input :) Period = how many bars to include in the calculation Method of calculation: For each bar we need to calculate TrueRange and then based on the Period calculate average of them. The TrueRange of a bar is defined as Max(High of the bar minus Low of the bar; Absolute value from (Close of the previous bar minus Low of the bar); Absolute value from (Close of the previous bar minus High of the bar)) Value of TH_AverageTrueRange(Period) is than Average of the TrueRanges with Period bars (i.e. sum of the TrueRanges divided by Period) Function: Highest_Lowest - this function will find highest / lowest of open/high/low/close from preselected timeframes Inputs: LookingFor: high or low BarChar: Open price / High price / Low price / Close price Start_hour Start_minute End_hour End_minute Timeframe (standard timeframes available in MT4 from 5 minute to daily, including) - to be selected from combobox as input :) Period = how many bars to consider Method of calculation: This function returns highest or lowest value for the Period number of bars considering either open / high / low / close of the bars Special remark: If Period is selected as 0 that means it should return highest / lowest value of currently drawn bar. Hmmm.. this is definitelly not clear what I wrote because EA will evaluate at the beginning of new bar... So in practice the 0 Period will be used only with Daily Timeframe and low or high price. In such case it should return the Today's low / high price. Function: TodayOpen Inputs: Start_hour Start_minute End_hour End_minute Method of calculation: The function returns opening price of the first bar considering Start_hour and Start_minute DailyClose: Inputs: Start_hour Start_minute End_hour End_minute Period Method of calculation: The function returns closing price Period days ago (considering Start_hour, Start_minute, End_hour, End_minute) Example DailyClose(1) returns yesterday's closing price. Procedure: DatesNotToTrade actually this one doesn't need to be custom procedure or not even procedure but array of dates, it can be build in the EA code (please highlighted somewhere at the top of code since I will need to update it). I want to list there dates during which the trades shouldn't occur, like days when FED is announcing interest rates changes, holidays etc.. so I need to update it from time to time in the code. The EA will check and not trade if date is equal one of the listed dates Pleaes confirm my idea that with such setup = For each custom indicator we specify Timeframe, I will be able to have EA working on 60min charts but call custom indicator evaluating condition from 15min chart. Example at the beginning of new 60 min bar the EA will search for lowest low on 15min bar with period 2 and return the value. Now back to summarizing requirements and description how this EA and how it should work. EA Description General assumptions / description: This system is working with 2 timeframes. Higher timeframe is daily(HTF) and lower timeframe(LTF) is 30min. The chart to be displayed is 30min because that is the basic / main / key timeframe. This system has predefined time window called later as main trading hours. For this purpose there are inputs into this system Start_hour, Start_minute, End_hour, End_minute. When referring to whatever price (e.g. open, high, low, close, highest close, lowest close, open today, close of previous day), value of the indicator or bar time, I always consider prices only during main trading hours. For this purpose, all the values of indicators need to be calculated only from this period = values outside of this time-window can not be included in the calculation. All the values and therefore signals are calculated at the close of the bar / opening of next bar. Since I also want the EA to execute trades only in certain time-window there must be additional 2 inputs into the EA called e.g. timestart and timestop. They will be used the way that if I consider valid entries only in the morning session of NYSE (e.g. 9:30-12:00) I will set them to timestart =1, timestop = 5. This means that the EA can enter into market earliest on 1st 30min bar of the trading session (i.e. 9:30 when it evaluates conditions / values of the indicators based on the last achieved values from the previous main trading hours) and latest after the 5th bar is evaluated (i.e. at 12:00) There is only 1 entry into position during the day so the EA must check if there was already entry position today and if yes it should not allow another entry into position. Exit is either based on the USD predefined Stoploss or with following time condition. The position is exited predefined minutes before the close of the main trading hours. In code you can do it the way that there will be input ExitMinutes and position will be exited ExitMinutes minutes before the end of the Main Trading hours. The system is build to trade 1 contract. Logic of the EA Vehicle = S&P500 futures contract additional inputs (besides the ones required based on the description above.. like Starting_hour...) Inputs: HTF = higher timeframe = Main Trading Hours LTF = lower timeframe = to be selected from list 15min, 30min, H1, H4, D1 Int N1higher Int N2higher Int N1lower Int N2lower DollarValueStopLoss Variables: TodayOpen = Opening of the trading session today. i.e. first price today's main trading hours session CloseD(1) = close of previous daily session (main trading hours session) EntryCondHTF = AvgTrueRange(N1higher) of HTF > AvgTrueRange(N2higher) of HTF; EntryCondLTFlong = AvgTrueRange(N1lower) of LTF > CloseD(1) - Lowest(Close, N2lower) ; EntryCondLTFshort = AvgTrueRange(N1lower) of LTF < CloseD(1) - Highest(Close, N2lower) ; TimeOK= time >= (Starting_hour plus Starting_minute + timestart) and time <= (Starting_hour plus Starting_minute + timestop) FilterLong = TodayOpen - CloseD(1)> 0; FilterShort = CloseD(1) - TodayOpen> 0; //// LONG ENTRY //// if (EntryCondHTF = true and EntryCondLTFlong = true and TimeOK = true and FilterLong = true and EntriesToday < 1) then buy next bar at open //// SHORT ENTRY //// if (EntryCondHTF = true and EntryCondLTFshort = true and TimeOK = true and FilterShort = true and EntriesToday < 1) then sellshort next bar at open ////EXIT//// As described above Other add-ons expected from you as developer: - Handling of simple errors - Handling of reconnections etc…. - Your suggestions ////End of EA specification//// Please have a look again and let me know.