欢迎访问

MT4 供需区域指标 下载 | Supply and Demand Zones Indicator for MT4 Download

author emer | 3 人阅读 | 0 人评论 |

The 供需区域指标 in the MetaTrader 4 平台是必不可少的工具之一technical analysis。它吸引了强大的供应和需求区域。

 This MT4供需指标自动识别过去强需求区(支持区)or strong 供给区(阻力区)并使用彩色条突出显示它们。

供需区规格表

的规格“供需区域指标” 如下表所示:

指标类别:MT4 支撑位和阻力位指标
供需 MT4 指标
MT4 指标水平
Platforms:MetaTrader 4 指标
Trading Skills:Intermediate
Indicator Types:反转 MT4 指标
Timeframe:多时间框架 MT4 指标
Trading Style:日内 MT4 指标
交易工具:远期市场 MT4 指标
股市 MT4 指标
加密货币 MT4 指标
外汇 MT4 指标

提供的代码旨在用于教育目的,以演示概念和逻辑,而不是最终或即用版本。

//+------------------------------------------------------------------+
//|供需区域指标 - 核心实施 |
//|版权所有 TradingFinder.com - 2023-2025 |
//+------------------------------------------------------------------+

// 存储区域信息的结构体
struct Blocks {
   
datetime BlockStartTime;  // Zone start time
   
int      BlockType;       // 1=支撑位,2=阻力位
   
double   BlockHigh;       // 价格上限
   
double   BlockLow;        // 较低的价格水平
   
datetime BlockEndTime;    // 当区域失效时
   
bool     BlockTouched;    // 区域已重新测试
   
color    BlockColor;      // Visual color
};

// 主要输入参数(简体)
input bool  ShowSupport    = true;         // 显示支撑区域
input bool  ShowResistance = true;         // 显示阻力区
input color ColorSupport   = C'34,177,76'; // Support color
input color ColorResist    = C'237,28,36'; // Resistance color

// Global variables
Blocks blocks[];
datetime Level2Time[];  // 市场结构点
double   Level2Price[]; // 结构点的价格

//+------------------------------------------------------------------+
//|检查新蜡烛是否已形成或图表是否已移动 |
//+------------------------------------------------------------------+
bool Timer1Check() {
   
static datetime Timer1 = 0;
   
if(Timer1==0 || Timer1!=iTime(Symbol(),PERIOD_CURRENT,0)) {
      
Timer1 = iTime(Symbol(),PERIOD_CURRENT,0);
      
return true;
   
}
   
return false;
}

//+------------------------------------------------------------------+
//|根据市场结构点创建新区|
//+------------------------------------------------------------------+
void CreateNewBlock(int index, int structPoint) {
   
blocks[index].BlockStartTime = Level2Time[structPoint];
   
blocks[index].BlockEndTime = D'2030.12.31'; // 默认结束时间(遥远的未来)
   
   
// 根据价格行为确定支撑位还是阻力位
   
if(Level2Price[structPoint] < Level2Price[structPoint-1])
      
blocks[index].BlockType = 1; // Support zone
   
else
      
blocks[index].BlockType = 2; // Resistance zone
      
   
int candle = iBarShift(Symbol(),PERIOD_CURRENT,Level2Time[structPoint]);
   
   
// 根据类型设置价格水平
   
if(blocks[index].BlockType == 1) {
      
blocks[index].BlockLow = iLow(Symbol(),PERIOD_CURRENT,candle);
      
blocks[index].BlockHigh = MathMax(iOpen(Symbol(),PERIOD_CURRENT,candle),
                                      
iClose(Symbol(),PERIOD_CURRENT,candle));
      
blocks[index].BlockColor = ColorSupport;
   
} else {
      
blocks[index].BlockHigh = iHigh(Symbol(),PERIOD_CURRENT,candle);
      
blocks[index].BlockLow = MathMin(iOpen(Symbol(),PERIOD_CURRENT,candle),
                                     
iClose(Symbol(),PERIOD_CURRENT,candle));
      
blocks[index].BlockColor = ColorResist;
   
}
   
   
// 为区域创建可视矩形
   
string name = "Zone-" + TimeToString(blocks[index].BlockStartTime);
   
RectangleCreate(0, name, 0,
                  
blocks[index].BlockStartTime, blocks[index].BlockLow,
                  
blocks[index].BlockEndTime, blocks[index].BlockHigh,
                  
blocks[index].BlockColor, STYLE_SOLID, 1, true);
}

//+------------------------------------------------------------------+
//|检查区域是否已被触及或失效 |
//+------------------------------------------------------------------+
void CheckZoneStatus(int zoneIndex) {
   
// 实现细节...
   
// 1. 检查价格是否偏离区域
   
// 2. 检查价格是否返回以测试区域
   
// 3. 检查价格是否突破(使区域失效)
}

//+------------------------------------------------------------------+
//|主要功能-识别和更新区域|
//+------------------------------------------------------------------+
void Main() {
   
// 获取市场结构点(简化)
   
GetMarketStructure(Level2Time, Level2Price);
   
   
// 处理每个结构点
   
for(int i=0; i<ArraySize(Level2Time); i++) {
      
// 检查该点是否已经有区域
      
bool exists = false;
      
for(int j=0; j<ArraySize(blocks); j++) {
         
if(Level2Time[i] == blocks[j].BlockStartTime) {
            
exists = true;
            
break;
         
}
      
}
      
      
// 如果需要创建新区域
      
if(!exists) {
         
int index = ArraySize(blocks);
         
ArrayResize(blocks, index+1);
         
CreateNewBlock(index, i);
      
}
   
}
   
   
// 更新现有区域的状态
   
for(int i=0; i<ArraySize(blocks); i++) {
      
CheckZoneStatus(i);
   
}
}

Indicator Overview

供需区根据过去的价格行为形成并显示在使用彩色条的图表。这些条形图会保留在图表上,直到它们被自动填充。

这个的彩色条MT4支撑位和阻力位指标r分为两类:

  • 如果价格没有触及市场,则意义较小供给或需求水平.
  • When the 价格达到供给或需求水平,其显着性增加,并且概率price reversal 从这些水平上升。

Uptrend Conditions

的价格走势图澳元/新西兰元货币对显示 5 分钟时间范围内。在此指标中,价格达到需求区(支持区)并显示出反转迹象,例如形成bullish,吞噬烛台(绿色)。

该信号可以指示潜在的 price reversal来自需求区并提供合适的entry point for buy trades.

Bullish Trend in Supply and Demand Zones Indicator
供需区域指标看涨趋势中价格从需求区域反转

下降趋势条件

下图显示了比特币现金(BTC/美元)一小时时间范围内的价格图表。

价格达到了供给区(阻力区)并显示出趋势反转的迹象,例如十字星和看跌的形成engulfing patterns in this zone.

Supply and Demand Zones Indicator in a Bearish Trend
供需区域指标看跌趋势中价格从供应区域反转

Indicator Settings

下图展示了可调整的参数供需区域指标:

Supply and Demand Zones Indicator Settings
显示供应和需求区域指标可调整设置的图像
  • Show support zone:显示支撑区
  • 显示阻力区:显示电阻面积
  • 节目触及区域:显示触摸区域
  • 显示未触及区域:显示未触及区域
  • 显示最后一个区域。 0 表示显示全部: Display all zones
  • 隐藏两个区域拥有的并集:隐藏两个区域的重叠部分
  • 颜色未受影响的支持:未触及支撑区域的颜色
  • 颜色未触及电阻:未触及阻力区的颜色
  • 彩色触摸支持:触摸支撑区域的颜色
  • 显示市场的第一个周期:显示第一个市场周期
  • 显示市场第二周期:显示第二个市场周期
  • 第一周期行情颜色:第一个市场周期的颜色
  • 第二周期行情颜色:第二市场周期的颜色

Conclusion

The MetaTrader 4 中的供需指标是一个强大的识别工具key support and resistance zones.

ThisMT4支撑位和阻力位指标确定需求区域(潜在购买区域)和supply zones(潜在销售区域),认识到关键reversal points,并确定适当的入口和出口区域.

(1)
还没有人打赏,支持一下
🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录