Hello all coders in the house, please kindly help to make the alert of this indicator to sound once after close of candle,and make it to work on all currency pairrs. Thank you
Attached File(s)
I will code your pivot EAs for no charge 25 replies
I will code your scalping EAs for no charge 163 replies
Oanda MT4 - Indicators and EAs not showing 2 replies
EAs and indicators relating to moutaki... 22 replies
InterbankFX has loaded its MT4 platform with custom EAs, indicators and scripts 1 reply
DislikedHello all coders in the house, please kindly help to make the alert of this indicator to sound once after close of candle,and make it to work on all currency pairrs. Thank you {file}Ignored
DislikedCan you code a very simple EA ? Buy / Sell on MA close of the last closed candle. SL = min / max for last two bars. TP = the same pips distance as for SL RISK = 1% of the account balance. The EA must work well with all pairs and ECN / STANDARD brokers. It is all about proper lot calculation I have a hard time to do it myself.Ignored
Disliked{quote} Amazing.... Thanks sir....respect.. now, i'll start learning forex.... thank you very much... {image}Ignored
Disliked{quote} sorry for the late response bro. ...i dont know how to re quote my previous post and yours the same time so i had to screenshot them{image}{image}thanks bro for helping out in advance{image}
Ignored
Disliked{quote} Amazing.... Thanks sir....respect.. now, i'll start learning forex.... thank you very much... {image}Ignored
DislikedM1- Chart {image} = M5-Chrat | USDCHF {image} = M15-Chart | USDCHF {image} = H4-Chart | USDCHF {image} /*-------------------------------------------------------------------- Change-log: foxyfox_DiagLines_v1.2 Date: 2025-01-08 By: MwlRCT -------------------------------------------------------------------- - Implemented pixel-based coordinate system: CREDIT TO @BestTraderEv - Replaced price-based anchor points with ChartXYToTimePrice conversion - Added real-time chart dimension tracking using CHART_WIDTH_IN_PIXELS and CHART_HEIGHT_IN_PIXELS - Implemented...Ignored
Disliked{quote} What you're describing looks like a problem with the name of you line object and the way you don't update the data for the line. It looks like you assigned a fixed name and also that you aren't updating the line according to the data change. You are only deleteing the line in OnDeinit() and that's when it gets redrawn. If it's only one line which needs to update every whatever happens, you need to simply reset it, most likely the OBJPROP_PRICE1, OBJPROP_PRICE2, OBJPROP_TIME1, and OBJPROP_TIME2. You don't need to create it again, because...Ignored
Disliked{quote} How about this one? I think this one has everything anyone would ever want. {file} {image} It has the ZigZag lines (can be switched off). It has HH/LL indicator lines (not arrow, but still nice). It has HL prices info (can be switched off). It has all the alerts. It has an ON/OFF button.Ignored
//+------------------------------------------------------------------+ //| Instantaneous_TrendFilterSign.mq5 | //| Copyright 2020, Unknown | //| https://www.Unknown.com | //+------------------------------------------------------------------+ #property copyright "" #property link "" #property version "1.01" //---- Indicator properties #property indicator_buffers 2 #property indicator_plots 2 #property indicator_type1 DRAW_ARROW #property indicator_color1 clrWhite #property indicator_width1 5 #property indicator_label1 "Instantaneous_TrendFilter Sell" #property indicator_type2 DRAW_ARROW #property indicator_color2 clrWhite #property indicator_width2 5 #property indicator_label2 "Instantaneous_TrendFilter Buy" #property indicator_chart_window //---- Input parameters input double Alpha = 0.07; // Smoothing factor input ENUM_APPLIED_PRICE IPC = PRICE_CLOSE; // Applied price input ENUM_TIMEFRAMES timeframe = PERIOD_H1; // Timeframe input int Shift = 0; // Indicator shift input bool EnableAlerts = false; // Enable alerts input bool EnableDesktopAlerts = false; // Enable desktop alerts input bool EnablePushAlerts = false; // Enable push notifications //---- Buffers double BuyBuffer[]; double SellBuffer[]; int ATR_Handle; int min_rates_total; double K0, K1, K2, K3, K4; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //---- ATR setup int ATR_Period = 15; min_rates_total = int(MathMax(ATR_Period, 4)); ATR_Handle = iATR(Symbol(), timeframe, ATR_Period); if (ATR_Handle == INVALID_HANDLE) { Print("Unable to determine the indicator's ATR range. Error: ", GetLastError()); return (INIT_FAILED); } //---- Smoothing coefficients double A2 = Alpha * Alpha; K0 = Alpha - A2 / 4.0; K1 = 0.5 * A2; K2 = Alpha - 0.75 * A2; K3 = 2.0 * (1.0 - Alpha); K4 = MathPow((1.0 - Alpha), 2); //---- Buffers setup SetIndexBuffer(0, SellBuffer, INDICATOR_DATA); PlotIndexSetInteger(0, PLOT_DRAW_BEGIN, min_rates_total); PlotIndexSetInteger(0, PLOT_ARROW, 234); SetIndexBuffer(1, BuyBuffer, INDICATOR_DATA); PlotIndexSetInteger(1, PLOT_DRAW_BEGIN, min_rates_total); PlotIndexSetInteger(1, PLOT_ARROW, 233); //---- Indicator name string shortname; StringConcatenate(shortname, "Instantaneous_TrendFilter(", Alpha, ", ", Shift, ")"); IndicatorSetString(INDICATOR_SHORTNAME, shortname); IndicatorSetInteger(INDICATOR_DIGITS, _Digits); return (INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { if (BarsCalculated(ATR_Handle) < rates_total || rates_total < min_rates_total) return (0); int first, bar; double price0, price1, price2, ITrend0, Trigger0, ATR[1]; static double ITrend1, ITrend2, Trigger1; static datetime lastAlertTime = 0; if (prev_calculated > rates_total || prev_calculated <= 0) { first = min_rates_total; ITrend1 = iClose(Symbol(), timeframe, first - 1); ITrend2 = iClose(Symbol(), timeframe, first - 2); } else first = prev_calculated - 1; for (bar = first; bar < rates_total - 1 && !IsStopped(); bar++) // Only up to closed bars { price0 = iClose(Symbol(), timeframe, bar); price1 = iClose(Symbol(), timeframe, bar - 1); price2 = iClose(Symbol(), timeframe, bar - 2); if (bar < min_rates_total) ITrend0 = (price0 + 2.0 * price1 + price2) / 4.0; else ITrend0 = K0 * price0 + K1 * price1 - K2 * price2 + K3 * ITrend1 - K4 * ITrend2; Trigger0 = 2.0 * ITrend0 - ITrend2; BuyBuffer[bar] = 0.0; SellBuffer[bar] = 0.0; if (ITrend1 <= Trigger1 && ITrend0 > Trigger0 && iClose(Symbol(), timeframe, bar) < iOpen(Symbol(), timeframe, bar)) { if (CopyBuffer(ATR_Handle, 0, iTime(Symbol(), timeframe, bar), 1, ATR) <= 0) return (0); BuyBuffer[bar] = iLow(Symbol(), timeframe, bar) - ATR[0] * 3 / 8; // Efficient alert management for closed bar if (EnableAlerts && iTime(Symbol(), timeframe, bar) != lastAlertTime) { lastAlertTime = iTime(Symbol(), timeframe, bar); AlertSignal("BUY", iTime(Symbol(), timeframe, bar), iClose(Symbol(), timeframe, bar)); } } if (ITrend1 >= Trigger1 && ITrend0 < Trigger0 && iClose(Symbol(), timeframe, bar) > iOpen(Symbol(), timeframe, bar)) { if (CopyBuffer(ATR_Handle, 0, iTime(Symbol(), timeframe, bar), 1, ATR) <= 0) return (0); SellBuffer[bar] = iHigh(Symbol(), timeframe, bar) + ATR[0] * 3 / 8; // Efficient alert management for closed bar if (EnableAlerts && iTime(Symbol(), timeframe, bar) != lastAlertTime) { lastAlertTime = iTime(Symbol(), timeframe, bar); AlertSignal("SELL", iTime(Symbol(), timeframe, bar), iClose(Symbol(), timeframe, bar)); } } if (bar < rates_total - 2) { ITrend2 = ITrend1; ITrend1 = ITrend0; Trigger1 = Trigger0; } } return (rates_total); } //+------------------------------------------------------------------+ //| Alert signal function | //+------------------------------------------------------------------+ void AlertSignal(const string signalType, const datetime signalTime, const double price) { string message = StringFormat("%s Signal: Symbol: %s, Time: %s, Price: %.5f", signalType, Symbol(), TimeToString(signalTime, TIME_DATE | TIME_MINUTES), price); if (EnableDesktopAlerts) Alert(message); if (EnablePushAlerts) SendNotification(message); Print(message); } //+------------------------------------------------------------------+ //| Determination of the value of the minimum threshold | //+------------------------------------------------------------------+ double PriceSeries(uint applied_price, uint bar, const double &Open[], const double &Low[], const double &High[], const double &Close[]) { switch (applied_price) { case PRICE_CLOSE: return (Close[bar]); case PRICE_OPEN: return (Open[bar]); case PRICE_HIGH: return (High[bar]); case PRICE_LOW: return (Low[bar]); case PRICE_MEDIAN: return ((High[bar] + Low[bar]) / 2.0); case PRICE_TYPICAL: return ((Close[bar] + High[bar] + Low[bar]) / 3.0); case PRICE_WEIGHTED: return ((2 * Close[bar] + High[bar] + Low[bar]) / 4.0); default: return (Close[bar]); } }
DislikedThe MTF analysis mid LWMA was amazing for me ... simple rule if red is at W1 ----> predict 3 candles D1 minimum to sell if red is on D1 ----> predict 3 minimum H4 candles to sell if red is on H4 ----> predict 3 minimum H1 candles to sell vice versa version V2 add MTF mid lwma dashboard stay green {image} {image} {file}Ignored
Disliked{quote} My personal advice: Don't waste your time learning Forex!!! Instead, learn how to trade! PS. If you will attempt to "learn forex", you will get stuck on billions of stupid ideas which will sound smart, but none of them will teach you how to trade.Ignored
DislikedGreetings... I'm making this indicator with the idea that it shows what liquidity and what time frame the price is taking and what the next one would be... so I "should" do the following: 1) Draw a line in each High/Low Swing that has not been liquidated in each time frame 2) Draw the last H/L Swing taken 3) Draw the PXH/PXL of monthly, weekly and daily that have not been taken 4) Draw the last PXH/PXL of MN1,W1,D1 that were taken I managed to do it but it has errors because it does not update automatically (in the capture you will see the errors):...Ignored
Disliked{quote} - Hi... Request for MT4/MT5 Coding Assistance Please help with coding for MT4/MT5 with the following conditions: General Settings 1. Timeframe: Any 2. Only pending orders (Buy/Sell Limit, Buy/Sell Stop) Entry Trigger Conditions 1. Order Block with 3 mandatory conditions: a. Imbalance Order Block b. Order Block taking out/sweeping previous candle's liquidity c. Order Block forming a Break of Structure (BOS) or breaking Swing High/Low {image} Thank you.Ignored