指标名称:FiboMaster[color=rgba(0, 0, 0, 0.9)]
版本:MT4 ver. 2.01(指标)
FiboMaster 能够在图表中绘制出多种 Fibonacci 工具,提供完整的市场分析视图,帮助交易者发现潜在的反转点、目标价位和重要时间区间。
它支持以下功能: Fibonacci 回撤 (Retracement):绘制出价格可能回调的关键水平,帮助识别支撑和阻力位。 Fibonacci 扩展 (Expansion):预测市场价格突破后的扩展目标,寻找潜在的获利区域。 Fibonacci 风扇 (Fan):通过多个角度的支撑/阻力线,提供市场走势的预测。 Fibonacci 弧形 (Arc):绘制弧形区域,帮助识别市场价格可能的反转区域。 Fibonacci 时间区间 (Time Zones):基于时间轴显示市场重要的时间区域,帮助交易者把握交易时机。
Fibonacci 回撤 (Retracement) 设置:
Fibonacci 扩展 (Expansion) 设置:
Fibonacci 风扇 (Fan) 设置:
Fibonacci 弧形 (Arc) 设置:
Fibonacci 时间区间 (Time Zones) 设置:
FiboMaster 适用于多种市场和交易策略,特别适合需要结合 Fibonacci 分析的交易者。它的适用场景包括: 趋势反转识别:通过 Fibonacci 回撤和扩展工具,交易者可以找到市场可能的反转点。 价格目标设定:使用扩展线和风扇工具预测市场的潜在目标价位,帮助交易者设定合适的止盈点。 时间分析:使用时间区间工具,交易者可以识别关键的市场时间节点,帮助调整入场和出场时机。
FiboMaster 是一个功能强大的技术分析工具,集成了 Fibonacci 系列工具,能够帮助交易者更加精准地识别市场的关键位置和时间。无论是在趋势分析、支撑阻力识别,还是在价格目标预测和交易时机把握上,它都能提供强大的帮助,成为您交易策略中不可或缺的一部分。 通过 FiboMaster,您可以充分利用 Fibonacci 工具的优势,从多个维度分析市场走势,提升交易决策的准确性和效果。 参数:
部分代码展示: //+------------------------------------------------------------------+//| FiboMaster.mq4 |//| Copyright © 2009-2024, www.QChaos.com |//| https://www.qchaos.com/ |//+------------------------------------------------------------------+#property copyright "Copyright © 量化混沌, www.qchaos.com"#property link "https://www.qchaos.com"#property version "2.01"#property strict#property description "--------------------------------------------"#property strict#property indicator_chart_window
#import "user32.dll"int GetClientRect(int hWnd,int &lpRect[]);#import//---// 定义 ArcScale 枚举类型,用于选择 Fibonacci 工具的缩放方法enum ArcScale { Math, // 使用数学绝对值进行缩放 ClientRect, // 使用客户端区域进行缩放 Manual // 手动设置缩放比例 };//|--------------------------------------------------------------------------------------------------------------------|//| 外部变量设置 |//|--------------------------------------------------------------------------------------------------------------------|//---------------------------------------------------------------------------------------------------------------------// ZigZag 设置部分input string lb_0 = ""; // ---------- Z I G Z A G 设置extern int ExtDepth = 45; // ZigZag 深度extern int ExtDeviation = 5; // ZigZag 偏差extern int ExtBackstep = 3; // ZigZag 回撤步长extern int MaxBars = 5000; // 最大计算条数extern ENUM_TIMEFRAMES FixedPeriod = 0; // 使用的时间周期//---------------------------------------------------------------------------------------------------------------------//---------------------------------------------------------------------------------------------------------------------input string lb_1 = ""; // --------------------------------------------------------input string lb_2 = ""; // ---------- F I B O 回撤线extern bool ShowRetracement = true; // 是否显示回撤线extern ENUM_LINE_STYLE rStyle = 0; // 回撤线的样式extern color rColor = clrGold; // 回撤线的颜色extern int rWidth = 1; // 回撤线的宽度extern double FR0 = 0.0; // 回撤线0级extern double FR38 = 0.382; // 回撤线38.2级extern double FR50 = 0.5; // 回撤线50级extern double FR61 = 0.618; // 回撤线61.8级extern double FR100 = 1; // 回撤线100级extern bool ExtraLevels = true; // 是否显示额外回撤线:14.6, 23.6, 76.4, 88.6, 127.2extern double FR14 = 0.146; // 额外回撤线14.6级extern double FR23 = 0.236; // 额外回撤线23.6级extern double FR78 = 0.786; // 额外回撤线76.4级extern double FR88 = 0.886; // 额外回撤线88.6级extern double FR110 = 1.1; // 额外回撤线110级extern double FR114 = 1.146; // 额外回撤线114.6级extern double FR127 = 1.272; // 额外回撤线127.2级extern double FR138 = 1.382; // 额外回撤线138.2级extern double FR150 = 1.5; // 额外回撤线150级extern double FR161 = 1.618; // 额外回撤线161.8级extern double FR200 = 2; // 额外回撤线200级extern double FR261 = 2.618; // 额外回撤线261.8级extern bool LevelPrice = false; // 是否显示价格//---------------------------------------------------------------------------------------------------------------------input string lb_3 = ""; // --------------------------------------------------------input string lb_4 = ""; // ---------- F I B O 弧形extern bool ShowArc = true; // 是否显示弧形extern ArcScale ScaleMethod = Math; // 选择弧形的缩放方法input string info="If ClientRect, you must allow DLL imports first"; // ---------- 注释信息,若选择ClientRect,需要允许DLL导入extern double ManualScale = 0; // 手动设置缩放比例extern color aColor = clrTomato; // 弧形的颜色extern ENUM_LINE_STYLE aStyle = 0; // 弧形的样式extern int aWidth = 1; // 弧形的宽度extern double ARC38 = 0.382; // 弧形38.2级extern double ARC50 = 0.500; // 弧形50级extern double ARC61 = 0.618; // 弧形61.8级extern bool ExtraARC = true; // 是否显示额外弧形:14.6, 23.6, 76.4extern double ARC14 = 0.146; // 额外弧形14.6级extern double ARC23 = 0.236; // 额外弧形23.6级extern double ARC78 = 0.786; // 额外弧形76.4级extern double ARC88 = 0.886; // 额外弧形88.6级extern double ARC110 = 1.1; // 额外弧形110级extern double ARC146 = 1.146; // 额外弧形114.6级extern double ARC127 = 1.272; // 额外弧形127.2级extern double ARC138 = 1.382; // 额外弧形138.2级extern double ARC150 = 1.5; // 额外弧形150级extern double ARC161 = 1.618; // 额外弧形161.8级extern double ARC200 = 2.618; // 额外弧形200级extern double ARC261 = 2.618; // 额外弧形261.8级
extern double ARC100 = 1; // 级别 100,通常用于 Fibonacci 扩展的 100% 位//---------------------------------------------------------------------------------------------------------------------input string lb_5 = ""; // 空字符串,用于分隔部分设置
// ---------- F I B O F A N (Fibonacci 风扇) 设置 ----------extern bool ShowFan = true; // 显示 Fibonacci 风扇extern color fColor = clrGold; // 风扇线的颜色,默认为金色extern ENUM_LINE_STYLE fStyle = 2; // 风扇线的样式,设置为 2extern int fWidth = 1; // 风扇线的宽度,设置为 1extern double FAN38 = 0.382; // 风扇线的 38.2% 级别extern double FAN50 = 0.5; // 风扇线的 50% 级别extern double FAN61 = 0.618; // 风扇线的 61.8% 级别extern bool ExtraFAN = true; // 是否显示额外的风扇线级别:14.6%、23.6%、76.4%extern double FAN14 = 0.146; // 额外的 14.6% 级别extern double FAN23 = 0.236; // 额外的 23.6% 级别extern double FAN78 = 0.786; // 额外的 76.4% 级别extern double FAN88 = 0.886; // 额外的 88.6% 级别extern double FAN100 = 1; // 额外的 100% 级别extern double FAN110 = 1.100; // 额外的 110% 级别extern double FAN146 = 1.146; // 额外的 114.6% 级别extern double FAN127 = 1.272; // 额外的 127.2% 级别extern double FAN138 = 1.382; // 额外的 138.2% 级别extern double FAN150 = 1.5; // 额外的 150% 级别extern double FAN161 = 1.618; // 额外的 161.8% 级别extern double FAN200 = 2; // 额外的 200% 级别extern double FAN261 = 2.618; // 额外的 261.8% 级别
//---------------------------------------------------------------------------------------------------------------------input string lb_7 = ""; // 空字符串,用于分隔部分设置
// ---------- F I B O T I M E Z O N E S (Fibonacci 时间区间) 设置 ----------extern bool ShowZone = true; // 显示 Fibonacci 时间区间extern color zColor = clrDarkGoldenrod; // 时间区间线的颜色,默认为深金色extern ENUM_LINE_STYLE zStyle = 2; // 时间区间线的样式,设置为 2extern int zWidth = 1; // 时间区间线的宽度,设置为 1extern double Zone0 = 0; // 时间区间的 0 级别extern double Zone1 = 1; // 时间区间的 100 级别extern double Zone2 = 2; // 时间区间的 200 级别extern double Zone3 = 3; // 时间区间的 300 级别extern double Zone5 = 5; // 时间区间的 500 级别extern double Zone8 = 8; // 时间区间的 800 级别extern double Zone13 = 13; // 时间区间的 1300 级别extern double Zone21 = 21; // 时间区间的 2100 级别extern double Zone34 = 34; // 时间区间的 3400 级别
//---------------------------------------------------------------------------------------------------------------------input string lb_9 = ""; // 空字符串,用于分隔部分设置
// ---------- F I B O E X P A N S I O N (Fibonacci 扩展) 设置 ----------extern bool ShowExpansion = false; // 显示 Fibonacci 扩展extern color eColor = clrBlue; // 扩展线的颜色,默认为蓝色extern ENUM_LINE_STYLE eStyle = 0; // 扩展线的样式,设置为 0extern int eWidth = 2; // 扩展线的宽度,设置为 2extern double EXP61 = 0.618; // 扩展线的 61.8% 级别extern double EXP100 = 1; // 扩展线的 100% 级别extern double EXP161 = 1.618; // 扩展线的 161.8% 级别extern double EXP261 = 2.618; // 扩展线的 261.8% 级别extern bool ExtraEXP = false; // 是否显示额外的扩展线级别:78.66%、138.2%、200%extern double EXP78 = 0.786; // 额外的 78.6% 级别extern double EXP138 = 1.382; // 额外的 138.2% 级别extern double EXP200 = 2; // 额外的 200% 级别extern double EXP2232 = 2.232; // 额外的 223.2% 级别extern double EXP2618 = 2.618; // 额外的 261.8% 级别extern double EXP300 = 3; // 额外的 300% 级别
//---------------------------------------------------------------------------------------------------------------------input string lb_13 = ""; // 空字符串,用于分隔部分设置
// ---------- D R A W P A T T E R N (绘制模式) 设置 ----------extern bool ShowPattern = false; // 是否显示模式图形extern color pColor = clrFireBrick; // 模式图形的颜色,默认为砖红色
//---------------------------------------------------------------------------------------------------------------------input string lb_15 = ""; // 空字符串,用于分隔部分设置
// ---------- D A I L Y H I G H / L O W (每日高/低点) 设置 ----------extern bool ShowDaily = true; // 显示每日高低点extern color DayColor = clrPurple; // 每日高低点线的颜色,默认为紫色extern color DayWidth = 1; // 每日高低点线的宽度,设置为 1extern ENUM_LINE_STYLE DayStyle = 0; // 每日高低点线的样式,设置为 0extern bool ShowPivot = true; // 显示每日支点线extern color PivotColor = clrLightGray; // 支点线的颜色,默认为浅灰色extern color PivotWidth = 1; // 支点线的宽度,设置为 1extern ENUM_LINE_STYLE PivotStyle = 0; // 支点线的样式,设置为 0
input string lb_17 = ""; // 空字符串,用于分隔部分设置
// ---------- W E E K L Y H I G H / L O W (每周高/低点) 设置 ----------extern bool ShowWeekly = true; // 显示每周高低点extern color WeekColor = clrDarkBlue; // 每周高低点线的颜色,默认为深蓝色extern color WeekWidth = 1; // 每周高低点线的宽度,设置为 1extern ENUM_LINE_STYLE WeekStyle = 0; // 每周高低点线的样式,设置为 0
input string lb_19 = ""; // 空字符串,用于分隔部分设置
// ---------- M O N T H L Y H I G H / L O W (每月高/低点) 设置 ----------extern bool ShowMonthly = false; // 显示每月高低点extern color MonthColor = clrFireBrick; // 每月高低点线的颜色,默认为砖红色extern color MonthWidth = 1; // 每月高低点线的宽度,设置为 1extern ENUM_LINE_STYLE MonthStyle = 0; // 每月高低点线的样式,设置为 0
input string lb_21 = ""; // 空字符串,用于分隔部分设置
// ---------- C A N D L E T I M E (蜡烛时间) 设置 ----------extern bool ShowCanldeTime = true; // 显示蜡烛剩余时间extern color TimerColor = clrYellow; // 时间显示的颜色//----------------------------- 设置剩余时间的字体大小 -----------------------------// 设置显示剩余时间的字体大小extern int TimerFontSize = 7; // 剩余时间的字体大小为7
//|--------------------------------------------------------------------------------------------------------------------|//| 内部变量定义 |//|--------------------------------------------------------------------------------------------------------------------|// 定义字符串变量,用于存储不同 Fibonacci 工具的名称string FibRetracement = " Fibo Retracement"; // Fibonacci 回撤工具string FibArc = " Fibo Arc"; // Fibonacci 弧形工具string FibFan = " Fibo Fan"; // Fibonacci 风扇工具string FibZone = " Fibo TimeZones"; // Fibonacci 时间区间工具string FibExpansion = " Fibo Expansion"; // Fibonacci 扩展工具string FibChannel = " Fibo Channel"; // Fibonacci 通道工具
// 定义用于绘制模式的名称string A = " Pattern1"; // 模式1string B = " Pattern2"; // 模式2
// 定义与日内最高点和最低点相关的字符串string DayHighName = " Yesterday High Line"; // 昨日最高点线string DayLowName = " Yesterday Low Line"; // 昨日最低点线string DayHighLabel = " YH"; // 昨日最高点标签string DayLowLabel = " YL"; // 昨日最低点标签
// 定义与每周最高点和最低点相关的字符串string WeekHighName = " Weekly High Line"; // 每周最高点线string WeekLowName = " Weekly Low Line"; // 每周最低点线string WeekHighLabel = " WH"; // 每周最高点标签string WeekLowLabel = " WL"; // 每周最低点标签
// 定义与每月最高点和最低点相关的字符串string MonthHighName = " Monthly High Line"; // 每月最高点线string MonthLowName = " Monthly Low Line"; // 每月最低点线string MonthHighLabel = " MH"; // 每月最高点标签string MonthLowLabel = " ML"; // 每月最低点标签
// 定义日内支撑位的字符串string PivotName = " Daily Pivot"; // 日内支撑位string PivotLabel = " PVT"; // 日内支撑位标签
// 定义与烛台剩余时间相关的字符串string Timer = " Candle Time"; // 烛台剩余时间标签
//----------------------------- 存储 ZigZag 相关数据 -----------------------------// zValue 数组用于存储 ZigZag 指标的摆动值,zValue[1] 为第一个摆动值,以此类推double zValue[5]; // ZigZag 摆动值,zValue[1] = 摆动1,依此类推
// zTime 数组用于存储对应的时间戳,记录每个 ZigZag 摆动值发生的时间datetime zTime[5]; // ZigZag 摆动值的时间
//----------------------------- 窗口坐标和图形设置 -----------------------------// rect 数组用于存储窗口的四个坐标值int rect[4]; // 定义窗口的坐标
// hwnd 变量用于获取窗口的句柄,方便进行坐标操作int hwnd; // 获取客户端窗口坐标的句柄
// gPixels 和 vPixels 用于存储横向和纵向的像素值int gPixels, vPixels;
//----------------------------- 存储日内/周/月相关的价格数据 -----------------------------// 定义日内、周内、月内的最高、最低价格和收盘价double DayLow; // 日内最低点double DayHigh; // 日内最高点double DayClose; // 日内收盘价double DayPivot; // 日内支撑位double WeekLow; // 每周最低点double WeekHigh; // 每周最高点double MonthLow; // 每月最低点double MonthHigh; // 每月最高点 |