指定
//+--------------------------- ------------------------------ ---------+ //| SniperEA.mq5 | //| Institutional Kill Zone + Daily Profile EA | //+--------------------------- ------------------------------ ---------+ #property strict #property version "1.0" #property description "Sniper Framework EA: Kill Zones, Daily Profiles, Key Opens, PE1-PE4, correlation tracking" #include <Trade\Trade.mqh> // Input parameters input double LotSize = 0.1; input int Slippage = 3; input double RiskPercent = 1.0; // % account risk per trade input int TP_Pips = 20; input int SL_Pips = 15; // Correlation instruments input string CorrelationInstrument1 = "XAUUSD"; input string CorrelationInstrument2 = "BTCUSD"; input string CorrelationInstrument3 = "XRPUSD"; // Kill Zone Times (in server time) input int AsiaStart = 0; input int AsiaEnd = 9; input int LondonStart = 9; input int LondonEnd = 17; input int NYStart = 17; input int NYEnd = 24; // Daily Profile Parameters enum DailyProfileType {TREND_DAY, REVERSION_DAY, BALANCED_DAY}; DailyProfileType CurrentProfile; // Key Opens double DailyOpen, TrueDayOpen, Open10AM; // Structure for PE1–PE4 entries struct PEEntry { double EntryPrice; double TP; double SL; bool Active; }; PEEntry PE1, PE2, PE3, PE4; // Trade object CTrade trade; //+--------------------------- ------------------------------ ---------+ //| Expert initialization function | //+--------------------------- ------------------------------ ---------+ int OnInit() { Print("Sniper Framework EA initialized."); // Initialize trade object trade.SetExpertMagicNumber( 123456); trade.SetDeviationInPoints( Slippage); // Initialize Key Opens double daily_open[]; ArraySetAsSeries(daily_open, true); if(CopyOpen(_Symbol, PERIOD_D1, 0, 1, daily_open) > 0) { DailyOpen = daily_open[0]; TrueDayOpen = daily_open[0]; } double m15_open[]; ArraySetAsSeries(m15_open, true); if(CopyOpen(_Symbol, PERIOD_M15, 0, 1, m15_open) > 0) { Open10AM = m15_open[0]; } // Initialize PE entries PE1.Active = PE2.Active = PE3.Active = PE4.Active = false; return(INIT_SUCCEEDED); } //+--------------------------- ------------------------------ ---------+ //| Expert tick function | //+--------------------------- ------------------------------ ---------+ void OnTick() { //--------------------------- // 1. Kill Zone Awareness //--------------------------- MqlDateTime dt; TimeToStruct(TimeCurrent(), dt); int hour = dt.hour; string KillZone = ""; if(hour >= AsiaStart && hour < AsiaEnd) KillZone = "ASIA"; else if(hour >= LondonStart && hour < LondenEnd) KillZone = "LONDON"; else if(hour >= NYStart && hour < NYEnd) KillZone = "NY"; //--------------------------- // 2. Daily Profile Detection //--------------------------- DetectDailyProfile(); //--------------------------- // 3. Correlation Tracking //--------------------------- double corr1 = GetCorrelation(_Symbol, CorrelationInstrument1, PERIOD_M5, 50); double corr2 = GetCorrelation(_Symbol, CorrelationInstrument2, PERIOD_M5, 50); double corr3 = GetCorrelation(_Symbol, CorrelationInstrument3, PERIOD_M5, 50); //--------------------------- // 4. Detect PE1–PE4 entries //--------------------------- CheckPEEntries(KillZone); //--------------------------- // 5. Execute Trades //--------------------------- ExecuteTrades(); } //+--------------------------- ------------------------------ ---------+ //| Daily Profile Detection Function | //+--------------------------- ------------------------------ ---------+ void DetectDailyProfile() { double high[], low[]; ArraySetAsSeries(high, true); ArraySetAsSeries(low, true); if(CopyHigh(_Symbol, PERIOD_H1, 0, 1, high) > 0 && CopyLow(_Symbol, PERIOD_H1, 0, 1, low) > 0) { double rangeAsia = high[0] - low[0]; double pointValue = SymbolInfoDouble(_Symbol, SYMBOL_POINT); double rangeInPips = rangeAsia / pointValue; if(rangeInPips > 50) CurrentProfile = TREND_DAY; else if(rangeInPips < 20) CurrentProfile = BALANCED_DAY; else CurrentProfile = REVERSION_DAY; } } //+--------------------------- ------------------------------ ---------+ //| PE1–PE4 Entry Detection Function | //+--------------------------- ------------------------------ ---------+ void CheckPEEntries(string KillZone) { double close[]; ArraySetAsSeries(close, true); if(CopyClose(_Symbol, PERIOD_CURRENT, 0, 2, close) < 2) return; double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK); double point = SymbolInfoDouble(_Symbol, SYMBOL_POINT); // PE1 activation logic if(!PE1.Active && KillZone=="LONDON" && close[1] < Open10AM) { PE1.EntryPrice = ask; PE1.TP = ask + TP_Pips * point * 10; // *10 for pipette adjustment PE1.SL = ask - SL_Pips * point * 10; PE1.Active = true; } // Add PE2, PE3, PE4 logic here } //+--------------------------- ------------------------------ ---------+ //| Execute Trades Function | //+--------------------------- ------------------------------ ---------+ void ExecuteTrades() { if(PE1.Active) { if(PositionSelect(_Symbol)== false) { if(trade.Buy(LotSize, _Symbol, 0, PE1.SL, PE1.TP, "PE1 Entry")) { Print("PE1 Buy order executed successfully"); PE1.Active = false; } else { Print("PE1 Buy order failed. Error: ", GetLastError()); } } } // Add PE2–PE4 execution logic here } //+--------------------------- ------------------------------ ---------+ //| Correlation Function | //+--------------------------- ------------------------------ ---------+ double GetCorrelation(string symbol1, string symbol2, ENUM_TIMEFRAMES timeframe, int period) { double series1[], series2[]; ArraySetAsSeries(series1,true) ; ArraySetAsSeries(series2,true) ; int copied1 = CopyClose(symbol1, timeframe, 0, period, series1); int copied2 = CopyClose(symbol2, timeframe, 0, period, series2); if(copied1 != period || copied2 != period) return 0.0; double avg1=0, avg2=0, cov=0, var1=0, var2=0; for(int i=0;i<period;i++) { avg1+=series1[i]; avg2+=series2[i]; } avg1/=period; avg2/=period; for(int i=0;i<period;i++) { cov += (series1[i]-avg1)*(series2[i]- avg2); var1 += MathPow(series1[i]-avg1,2); var2 += MathPow(series2[i]-avg2,2); } if(var1*var2==0) return 0.0; return cov/MathSqrt(var1*var2); }
反馈
1
等级
项目
1
0%
仲裁
0
逾期
0
空闲
2
等级
项目
24
38%
仲裁
1
100%
/
0%
逾期
3
13%
工作中
3
等级
项目
2
0%
仲裁
0
逾期
0
空闲
4
等级
项目
144
46%
仲裁
19
42%
/
16%
逾期
32
22%
空闲
5
等级
项目
2
0%
仲裁
0
逾期
0
工作中
6
等级
项目
2
0%
仲裁
0
逾期
1
50%
空闲
相似订单
MT5 Sclaping EA development
30+ USD
I need to create a EA for MT5. I will share the full specification in the chatbox. I would prefer experienced developer for this project. Please apply experienced developer for this job
Ninjatrader
80+ USD
hello great developer can you help me automate my prop trading accounts? I am using Ninjatrader to trade my prop accounts. Evaluation and funded accounts. Are you aware of prop trading ? This is how my input will be ... Everyday strategy reads this file to get latest accounts to trade that day, 3 minutes before the US Market starts, and start trading once the Market opens. *30 minutes And closes all orders 30 minutes
Developer Base on MT4 needed
50+ USD
Hello, developers , can you help me with: and is it possible to get the strategy that a bot executes using only the account data in MT4? If so, I would like to obtain the strategy and automate it. Thank you very much
Need an available expert in rebuiding ex4 to mq4 file
100 - 200 USD
The original EA used a server connection, but the developer has shut everything down, so the WebRequest URL is no longer available. The EX4 is locked, so I cannot access its information. The intention is to rebuild the EA so that it works fully locally. The goal is not to fix the EX4 but to fully rebuild the EA
MT5/ MT4 dveloper needed
50+ USD
i want to create a non repaintable mt5 indicator specifically for M5 timeframe giving a buy and sell arrow. I need it for trading on weltrade indices which is similar to boom and crash on deriv. If the sell arrow appears on M5 at the open of the candlestick; that candlestick should sell fully for the 5 minutes without spike. if it shoukld give a buy entry arrow then that 5min candlestick should buy fully for that 5
im looking for an experienced coder in grid trading and martiangle who can code an ea for me from my cusome grid indicator. il also want the coder to add a lot size randomization/lot multiiplier to help incase the ea is used on a propfirm, because propfirms ban copy trading so i want to avoid a case where the ea is used by multiple people and it will appear as copy trading will lead to a ban. If you recommend any
Metetrader 5 /4 Developer Needed
60+ USD
hi i need a developer who can you create a non repaintable mt5 indicator specifically for M5 timeframe giving a buy and sell arrow. I need it for trading on weltrade indices which is similar to boom and crash on deriv. If the sell arrow appears on M5 at the open of the candlestick; that candlestick should sell fully for the 5 minutes without spike. if it shoukld give a buy entry arrow then that 5min candlestick
EA Base on FVG
50+ USD
i want to work with an professional mql developer. it would be better if you have created EA or indicator related to FVG before. Higher Time Frame POI - W , D , 4H Lower Time Frame Entry - 4H , 1H , 15min The EA looks for HTF fvg and then looks for fvg in LTF. if you think you can do it, please contact me
hola crear un bot que sea compatible para mt5 de 1 linea que tennga la opsion de ponerla automatica y tambien tendencia manual que yo la pueda modificar que cuando el precio toque la linea entre en una unica vez en la operacion y que contenga 3 botones 1 para marcarle que entre en compra o en venta cuando el precio la toque 2. para modificar los pips en riesgo yganancia y otro para modificar dinero en riesgo y que
Footprint-based Reversal Entry EA with Multi-Filter Logic We’re seeking an experienced MQL5 developer to build an MT5 EA that enters trades based on reversal patterns detected from the ClusterDelta #Footprint indicator (CME futures volume). The EA must be flexible enough to trade GBPUSD and USDJPY, with parameters adaptable to any pair. Core requirements (see attached specification for full details): Trend Filter
项目信息
预算
30+ USD
客户
所下订单1
仲裁计数0