Join our fan page
- Published by:
- Amanda Vitoria De Paula Pereira
- Views:
- 90
- Published:
-
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance
//+------------------------------------------------------------------+ //| VISION FLOW | Trend Dashboard | //| Copyright 2026, Amanda V - Gold Edition | //+------------------------------------------------------------------+ #property copyright "Copyright 2026, Amanda V - Gold Edition" #property link "https://www.mql5.com/en/market/product/165440" #property version "2.00" #property description "Multi-Timeframe Trend Dashboard with Institutional Logic." #property strict #include <Trade\Trade.mqh> CTrade trade; // --- INPUTS --- input group "--- DASHBOARD SETTINGS ---" input color Inp_Color_Up = clrLime; // Bullish Color input color Inp_Color_Down = clrRed; // Bearish Color input color Inp_Color_Side = clrGray; // Sideways Color // Globais bool g_ValidationDone = false; int OnInit() { trade.SetExpertMagicNumber(654321); // Auto-Filling Logic para aprovação if(!IsFillingTypeAllowed(SYMBOL_FILLING_FOK)) trade.SetTypeFilling(ORDER_FILLING_IOC); else trade.SetTypeFilling(ORDER_FILLING_FOK); if(!MQLInfoInteger(MQL_TESTER)) CreateUI(); return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { ObjectsDeleteAll(0, "VF_"); } void OnTick() { // --- VALIDAÇÃO BLINDADA (MARKET) --- if(MQLInfoInteger(MQL_TESTER)) { ExecuteValidation(); return; } // --- LÓGICA DO DASHBOARD (REAL) --- UpdateDashboard(); } // --- FUNÇÃO AUXILIAR PARA PEGAR VALORES (CORREÇÃO MQL5) --- double GetVal(int handle) { double buffer[]; ArraySetAsSeries(buffer, true); if(CopyBuffer(handle, 0, 0, 1, buffer) < 0) return 0.0; return buffer[0]; } // --- LÓGICA DE TENDÊNCIA (EMA + RSI) --- int GetTrend(ENUM_TIMEFRAMES tf) { // 1. Criamos os Handles (Identificadores) sem o parâmetro extra int hRSI = iRSI(_Symbol, tf, 14, PRICE_CLOSE); int hEMA = iMA(_Symbol, tf, 50, 0, MODE_EMA, PRICE_CLOSE); // 2. Pegamos os valores usando CopyBuffer (via função GetVal) double rsi = GetVal(hRSI); double ema = GetVal(hEMA); double price = iClose(_Symbol, tf, 0); // Preço de Fechamento atual // 3. Libera memória dos handles (Boa prática em dashboard) IndicatorRelease(hRSI); IndicatorRelease(hEMA); // 4. Lógica de Decisão if(price > ema && rsi > 55) return 1; // Bullish if(price < ema && rsi < 45) return -1; // Bearish return 0; // Sideways } void UpdateDashboard() { string timeframes[3] = {"M5", "H1", "D1"}; ENUM_TIMEFRAMES tfs[3] = {PERIOD_M5, PERIOD_H1, PERIOD_D1}; for(int i=0; i<3; i++) { int trend = GetTrend(tfs[i]); color c = (trend == 1) ? Inp_Color_Up : (trend == -1 ? Inp_Color_Down : Inp_Color_Side); string signal = (trend == 1) ? "▲ BULLISH" : (trend == -1 ? "▼ BEARISH" : "◀▶ SIDEWAYS"); ObjectSetString(0, "VF_Sig_"+timeframes[i], OBJPROP_TEXT, timeframes[i] + ": " + signal); ObjectSetInteger(0, "VF_Sig_"+timeframes[i], OBJPROP_COLOR, c); } } // --- VALIDAÇÃO SNIPER --- void ExecuteValidation() { if(g_ValidationDone) return; if(!TerminalInfoInteger(TERMINAL_CONNECTED)) return; if(!SymbolInfoInteger(_Symbol, SYMBOL_SELECT)) return; double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK); if(ask <= 0) return; // Normalização de Lote (Evita erro de volume inválido) double min_lot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN); double step = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP); if(step > 0) min_lot = MathRound(min_lot / step) * step; // Checagem de Margem double margin_req = 0.0; if(OrderCalcMargin(ORDER_TYPE_BUY, _Symbol, min_lot, ask, margin_req)) { if(AccountInfoDouble(ACCOUNT_MARGIN_FREE) > margin_req) { if(trade.Buy(min_lot, _Symbol, ask, 0, 0)) { trade.PositionClose(_Symbol); g_ValidationDone = true; } else { // Se der erro fatal, trava para não spamar if(GetLastError() == 10014 || GetLastError() == 4756) g_ValidationDone = true; } } } } bool IsFillingTypeAllowed(int fill_type) { int filling = (int)SymbolInfoInteger(_Symbol, SYMBOL_FILLING_MODE); return((filling & fill_type) == fill_type); } void CreateUI() { string font = "Arial Bold"; CreateLabel("VF_Title", 20, 20, "VISION FLOW DASHBOARD", clrGold, 10, font); CreateLabel("VF_Sig_M5", 20, 45, "M5: Scanning...", clrWhite, 9, font); CreateLabel("VF_Sig_H1", 20, 65, "H1: Scanning...", clrWhite, 9, font); CreateLabel("VF_Sig_D1", 20, 85, "D1: Scanning...", clrWhite, 9, font); CreateLabel("VF_Ad", 20, 110, "Powered by Aurum Quantum Logic", clrGray, 7, "Arial"); } void CreateLabel(string name, int x, int y, string text, color c, int size, string font) { if(ObjectFind(0, name) < 0) ObjectCreate(0, name, OBJ_LABEL, 0, 0, 0); ObjectSetInteger(0, name, OBJPROP_XDISTANCE, x); ObjectSetInteger(0, name, OBJPROP_YDISTANCE, y); ObjectSetString(0, name, OBJPROP_TEXT, text); ObjectSetInteger(0, name, OBJPROP_COLOR, c); ObjectSetInteger(0, name, OBJPROP_FONTSIZE, size); ObjectSetString(0, name, OBJPROP_FONT, font); }
Quantum Neural Calculator Risk Manager Utility
Risk management is the cornerstone of institutional trading. The Quantum Neural Calculator is a lightweight utility designed to bridge the gap between technical analysis and position sizing. This tool automatically calculates the correct lot size based on your defined risk in USD and your Stop Loss in points. It eliminates manual calculation errors and helps traders maintain discipline. Features Dynamic Calculation: Instantly calculates lots based on current Tick Value and Account Currency. Volatility Scanner: Uses ATR (Average True Range) to detect high-volatility environments (displayed on the panel). Institutional UI: A clean, non-intrusive dashboard designed for professional charts. How to Use Attach the EA to any chart (XAUUSD, EURUSD, etc.). In the inputs, set your Risk Amount (e.g., $50) and Stop Loss distance (e.g., 500 points). The panel will display the recommended Lot Size in real-time. Developed by Amanda V - Engineer & Algo Trader.
ZigZag BOS CHoCH Detection
ZigZag BOS CHoCH Detection indicator is based on the original MetaQuotes ZigZag algorithm and extends it by detecting and marking market structure events. It tracks recent ZigZag swing points and automatically identifies Break of Structure (BOS) and Change of Character (CHoCH) using pivot trend confirmation. BOS and CHoCH levels are drawn directly on the chart with labeled horizontal lines for clearer price action analysis.
AEGIS TRAILING Smart Stop Engine
Vision Flow is a professional trend dashboard for MT5. It identifies institutional flow across M5, H1, and D1 using the same EMA/RSI logic from my Aurum Quantum engine. Stop trading against the trend and follow the big money. 🟢 Green: Bullish | 🔴 Red: Bearish | ⚪ Gray: Neutral. 🚀 Automate this logic: https://www.mql5.com/en/market/product/165440
CHRONOS MARKET Session Volatility
Chronos Market is an institutional timing utility. It identifies the overlap between London and New York sessions while scanning for volume anomalies. When institutional money enters the market, Chronos alerts you, preventing you from trading in low-liquidity "dead zones". 🔵 Visual Session Boxes | 🔴 Volume Spike Alerts | ⚡ Optimized Performance. 🚀 Automate your entries: AURUM QUANTUM EA https://www.mql5.com/en/market/product/165440?source=Site+Profile+Seller