Disliked{quote} what are these "Mother" and "child" I always see you refer to ?Ignored
Are two specific candles of Ny time windows.
Or wait that i wake up for a while and i quote that for you...
3
Make More Money - Eliminate DRAMA 11 replies
Just posting my trades, everyone is welcome but no drama 2 replies
Disliked{quote} what are these "Mother" and "child" I always see you refer to ?Ignored
Disliked{quote} what are these "Mother" and "child" I always see you refer to ?Ignored
Disliked{quote} Well didn't find it, but i resume because i do not complicate patterns using H/L open/close. The mother is the last 30m candle prior to the break of Ny time windows between 9:30/10:30 am Ny time and the child is the 5m- For this two candles have meaning you first need a breakout to validate them. If you look by mother body just by itself, any wick on 30m of H/L or the mean is signiling rejection and the hight probability next candle will be opposite, the same at 4H. When a 4H don't respect, most likely you will see next one mitigate the...Ignored
Disliked{quote} Thank you for sharing ! I’ll do my best to learn more on this.Ignored
Disliked4011/4015 is not a friendly bullish proposal—a lot of price twists. Need validation for it. Waiting is painful. Don't blindly follow. IMHO{image}
Ignored
//+------------------------------------------------------------------+
//| ZigZag_HorizontalLines.mq4|
//| Your Name/Company|
//| https://www.mql4.com|
//+------------------------------------------------------------------+
#property copyright "Your Name/Company"
#property link "https://www.mql4.com"
#property indicator_chart_window
#property indicator_buffers 0 // We use objects to draw lines, so no indicator buffers needed
//--- indicator parameters
extern int ZigZagDepth = 12;
extern int ZigZagDeviation = 5;
extern int ZigZagBackstep = 3;
extern color LineColorHigh = Red;
extern color LineColorLow = Blue;
extern int LineStyle = STYLE_SOLID; // 0=Solid, 1=Dash, 2=Dot, 3=DashDot, 4=DashDotDot
extern int LineWidth = 1;
extern bool DeleteLinesOnDeinit = true;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
// Check if the indicator is on the main chart window
if (WindowFind("ZigZag_HorizontalLines") == -1) // Simple check to avoid issues if attached to subwindow
{
// Object names will be unique using current symbol, timeframe, and price
}
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
if (DeleteLinesOnDeinit)
{
ObjectsDeleteAll(0, "ZigZagLine_"); // Delete all objects with this prefix
}
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars = IndicatorCounted();
if (counted_bars < 0) return(-1);
if (counted_bars > 0) counted_bars--;
int limit = Bars - counted_bars;
// Ensure we start processing from the most recent bars
if (limit > Bars) limit = Bars;
// Iterate through bars to find ZigZag points
for (int i = limit; i >= 0; i--)
{
// Get ZigZag values for Highs (Mode 0) and Lows (Mode 1)
double zzHigh = iCustom(NULL, 0, "ZigZag", ZigZagDepth, ZigZagDeviation, ZigZagBackstep, 0, i);
double zzLow = iCustom(NULL, 0, "ZigZag", ZigZagDepth, ZigZagDeviation, ZigZagBackstep, 1, i);
// Check for a new ZigZag high point
if (zzHigh > 0 && zzHigh != EMPTY_VALUE)
{
// Create a unique object name
string objName = "ZigZagLine_High_" + DoubleToStr(zzHigh, Digits) + "_" + TimeToStr(Time[i], TIME_DATE|TIME_SECONDS);
if (ObjectFind(objName) == -1) // Only create if not already existing
{
ObjectCreate(objName, OBJ_HLINE, 0, 0, zzHigh);
ObjectSetText(objName, "ZZ High", 8, "Arial", LineColorHigh);
ObjectSetString(objName, OBJPROP_TOOLTIP, "ZZ High at " + DoubleToStr(zzHigh, Digits));
ObjectSetInteger(objName, OBJPROP_STYLE, LineStyle);
ObjectSetInteger(objName, OBJPROP_WIDTH, LineWidth);
ObjectSetInteger(objName, OBJPROP_COLOR, LineColorHigh);
ObjectSetInteger(objName, OBJPROP_BACK, False); // Ensure line is in front
}
}
// Check for a new ZigZag low point
if (zzLow > 0 && zzLow != EMPTY_VALUE)
{
// Create a unique object name
string objName = "ZigZagLine_Low_" + DoubleToStr(zzLow, Digits) + "_" + TimeToStr(Time[i], TIME_DATE|TIME_SECONDS);
if (ObjectFind(objName) == -1) // Only create if not already existing
{
ObjectCreate(objName, OBJ_HLINE, 0, 0, zzLow);
ObjectSetText(objName, "ZZ Low", 8, "Arial", LineColorLow);
ObjectSetString(objName, OBJPROP_TOOLTIP, "ZZ Low at " + DoubleToStr(zzLow, Digits));
ObjectSetInteger(objName, OBJPROP_STYLE, LineStyle);
ObjectSetInteger(objName, OBJPROP_WIDTH, LineWidth);
ObjectSetInteger(objName, OBJPROP_COLOR, LineColorLow);
ObjectSetInteger(objName, OBJPROP_BACK, False);
}
}
}
return(0);
}
// Helper function to delete all objects created by this indicator
void ObjectsDeleteAll(int chart_id, string prefix)
{
string name;
for (int i = ObjectsTotal(chart_id) - 1; i >= 0; i--)
{
name = ObjectName(chart_id, i);
if (StringFind(name, prefix) == 0) // Check if the name starts with the prefix
{
ObjectDelete(chart_id, name);
}
}
}