找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
首页论坛EAHub 外汇论坛
查看: 6|回复: 0

【FiboMaster】精准绘制支撑和阻力位

[复制链接]

4万

主题

54

回帖

4万

积分

管理员

积分
45954
发表于 2026-8-25 10:28:00 | 显示全部楼层 |阅读模式
指标名称:FiboMaster

版本:MT4 ver. 2.01(指标)

FiboMaster 能够在图表中绘制出多种 Fibonacci 工具,提供完整的市场分析视图,帮助交易者发现潜在的反转点、目标价位和重要时间区间。



它支持以下功能:Fibonacci 回撤 (Retracement):绘制出价格可能回调的关键水平,帮助识别支撑和阻力位。Fibonacci 扩展 (Expansion):预测市场价格突破后的扩展目标,寻找潜在的获利区域。Fibonacci 风扇 (Fan):通过多个角度的支撑/阻力线,提供市场走势的预测。Fibonacci 弧形 (Arc):绘制弧形区域,帮助识别市场价格可能的反转区域。Fibonacci 时间区间 (Time Zones):基于时间轴显示市场重要的时间区域,帮助交易者把握交易时机。

Fibonacci 回撤 (Retracement) 设置:显示回撤线:启用或禁用回撤线的显示。级别设置:支持常见的 Fibonacci 回撤水平(如 38.2%、50%、61.8%)以及额外的自定义级别(如 14.6%、23.6%、76.4% 等)。样式设置:设置回撤线的颜色、宽度和样式。

Fibonacci 扩展 (Expansion) 设置:显示扩展线:启用或禁用扩展线的显示。扩展级别:包括 61.8%、100%、161.8% 等常见的扩展水平,可以根据需求进行扩展级别的自定义设置。样式设置:设置扩展线的颜色、宽度和样式。

Fibonacci 风扇 (Fan) 设置:显示风扇线:启用或禁用风扇线的显示。风扇角度:可以根据市场情况调整风扇线的角度,帮助识别趋势的支撑和阻力位。样式设置:设置风扇线的颜色、宽度和样式。

Fibonacci 弧形 (Arc) 设置:显示弧形:启用或禁用弧形的显示。弧形级别:设置常见的弧形级别,如 38.2%、50%、61.8% 等。样式设置:设置弧形的颜色、宽度和样式。

Fibonacci 时间区间 (Time Zones) 设置:显示时间区间:启用或禁用时间区间的显示。时间级别:可以自定义显示不同的时间区间,如 100、200、500、1300 等,帮助识别市场的重要时间点。样式设置:设置时间区间的颜色、宽度和样式。

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; // 每月最高点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EAHub外汇论坛

GMT+8, 2026-10-12 05:54 , Processed in 0.104777 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表