当前位置: 首页 > news >正文

“成交量分布指标“,通过筹码精准锁定价格方向+简单找市场支撑压力位 MT4免费公式!

指标名称:成交量分布指标

版本:MT4 ver. 1.32

之前发布的市场分布图不少朋友反馈不错,希望获得其它版本。

这个版本只有MT4的,MT5可以看之前版本,链接

  • “市场分布图”,精准把握价格动向 +更直观了解市场  MT4/5免费公式!

市场分布图,也叫成交量分布指标,也有人叫它:订单流指标,但其实这个和订单流还是有区别的,尽管很像。但用法类似,都可以研究研究。

下面,我们来看看市场分布图第二版本,和之前发布的市场分布图类似,但是表现形式不一样,并且这个版本有两个版本,其中一个带箭头提示。

带箭头提示的版本如下:

图片

这两个版本,我都放在一起,大家慢慢学习研究。

参数:

图片

图片

部分代码展示:

//+------------------------------------------------------------------+
//|                                                    市场分布图第二版.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   "1.32"#property description "---------------------------------------------"
#property description "EA、指标公式分享"
#property description "EA、指标编写业务承接"
#property description "---------------------------------------------"#property description "---------------------------------------------"#property indicator_chart_window#define PRICEIDX        0
#define TPOIDX          1
#define VOLIDX          2//---extern vars
extern int        LookBack                = 6;
extern bool       UseVolumeProfile        = true;
extern string     ProfileTimeframeInfo    = "use D, W, or M";
extern string     ProfileTimeframe        = "D";
extern int        DayStartHour            = 0;
extern double     VATPOPercent            = 70.0;
extern int        TickSize                = 1;
extern int        ExtendedPocLines        = 5;extern string     spr0                    = "on/off settings..";
extern bool       ShowPriceHistogram      = true;
extern bool       ShowValueArea           = true;
extern bool       ShowVAHVALLines         = true;
extern bool       ShowOpenCloseArrow      = true;extern string     spr1                    = "design & colors..";
extern double     VolAmplitudePercent     = 40.0;
extern int        HistoHeight             = 2;
extern color      HistoColor1             = C'55,100,135';
extern color      HistoColor2             = C'45,90,125';
extern color      OpenColor               = DarkGreen;
extern color      CloseColor              = Peru;
extern color      POCColor                = Peru;
extern color      VirginPOCColor          = Yellow;
extern color      VAColor                 = C'16,16,16';
extern color      VALinesColor            = C'64,64,64';
extern color      InfoColor               = Lime;extern string     spr2                    = "Profile Data.............";
extern int        DailyProfileDataTf      = 30;
extern int        WeeklyProfileDataTf     = 60;
extern int        MonthlyProfileDataTf    = 240;//---global vars
string            gsPref                  = "qc.mp.";
double            fpoint, gdOneTick, gdHistoRange;
int               fdigits, giStep, giProfileTf             = PERIOD_D1, giDataTf                = 0;//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{       giDataTf = Period(); //defaultif (Point == 0.001 || Point == 0.00001) { fpoint = Point*10; fdigits = Digits - 1; }else { fpoint = Point; fdigits = Digits; }     if (ProfileTimeframe == "M" )   {gsPref      = gsPref + "2_0_" + ProfileTimeframe + "_"; giProfileTf = PERIOD_MN1;     HistoHeight = MathMax(HistoHeight, 8);giDataTf    = MonthlyProfileDataTf;}   else if (ProfileTimeframe == "W" ){gsPref      = gsPref + "3_0_" + ProfileTimeframe + "_"; giProfileTf = PERIOD_W1;     HistoHeight = MathMax(HistoHeight, 3);giDataTf    = WeeklyProfileDataTf;}else //default D1{gsPref      = gsPref + "4_0_" + ProfileTimeframe + "_"; giProfileTf = PERIOD_D1;HistoHeight = MathMax(HistoHeight, 1);giDataTf    = DailyProfileDataTf;}//----HistoHeight    = MathMax(HistoHeight, TickSize);gdOneTick      = TickSize/(MathPow(10,fdigits));gdHistoRange   = HistoHeight/(MathPow(10,fdigits)); giStep         = HistoHeight;return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
{delObjs();return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{if ( !isOK() ) return(0);LookBack = MathMin( LookBack, iBarShift(NULL, giProfileTf, Time[Bars-1]) - 1 );LookBack = MathMin( LookBack, iBarShift(NULL, giProfileTf, iTime(NULL, giDataTf, iBars(NULL, giDataTf) - 1)) );int ibarproftf = 0, endbarproftf = 0;   //---create all profile on startup/new tfsrc bar//---and then only update the last tfsrc profileif ( newBarProfileTf() ) { delObjs(); endbarproftf = LookBack-1; } double     apricestep[][3]             // [ 3-->{price, count tpo, count vol} ], hh, ll                       // profile, maxvol, vah                          // Value Area High, val                          // Value Area Low, totaltpo                     // Total TPO, totalvol;                    // Total Voldatetime   dtproftf;int        startbar                     // startbar on giDataTf, endbar                       // endbar on giDataTf, countps, vahidx, validx  , maxtpo, maxtpoidx, maxvolidx;   //---main loop --> day by day, week by week, month by month...         for (ibarproftf = endbarproftf; ibarproftf >= 0; ibarproftf--)      {ArrayResize(apricestep, 0);getStartAndEndBar(ibarproftf, startbar, endbar);          if (startbar == -1) continue;getHHLL(startbar, endbar, hh, ll);getPriceTPO ( startbar, endbar, hh, ll, apricestep, countps, maxtpo, maxtpoidx, totaltpo, maxvol, maxvolidx, totalvol );                         //continue;    drawPriceHistoAndPOCLines ( startbar, endbar, ibarproftf, countps, apricestep, maxtpo, maxtpoidx, maxvol, maxvolidx );//continue;getValueArea ( countps, apricestep, maxtpo, maxtpoidx, totaltpo, maxvol, maxvolidx, totalvol, vah, vahidx, val, validx );      //continue;drawValueArea ( startbar, endbar, ibarproftf, countps, apricestep, vah, vahidx, val, validx );}//end for (ibartf = endbartf; ibartf >= 0; ibartf--)    //update time ExtendedPocLines   if (newBar()) {for (int i=1; i<=ExtendedPocLines; i++){ObjectSet(gsPref + "#" + i +".1.1.poc",       OBJPROP_TIME2, Time[0] + 10*Period()*60 );     ObjectSet(gsPref + "#" + i +".1.0.poc.price", OBJPROP_TIME1, Time[0] + 13*Period()*60 );}   }

http://www.lryc.cn/news/481666.html

相关文章:

  • 简记Vue3(四)—— 路由
  • Python批量合并多个PDF
  • Linux:vim命令总结及环境配置
  • 贪心算法day05(k次取反后最大数组和 田径赛马)
  • 默认 iOS 设置使已锁定的 iPhone 容易受到攻击
  • 上海市计算机学会竞赛平台2024年11月月赛丙组
  • Python批量设置图片背景为透明
  • Vue CLI 脚手架
  • Linux【基础篇】
  • 多线程环境下安全地使用 SimpleDateFormat的常见方法
  • easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头
  • ANDROIDWORLD: A Dynamic Benchmarking Environment for Autonomous Agents论文学习
  • Docker 常用命令详解(详细版)
  • 【网络安全 | 甲方安全建设】分布式系统、Redis分布式锁及Redisson看门狗机制
  • 「QT」几何数据类 之 QLineF 浮点型直线类
  • Treeland 技术揭秘,如何使得 DDE 纵享丝滑?
  • 快速了解SpringBoot 统一功能处理
  • C++区分数组的引用和引用的数组
  • 【harbor】离线安装2.9.0-arm64架构服务制作和升级部署
  • ESLint 使用教程(五):ESLint 和 Prettier 的结合使用与冲突解决
  • uniApp之uni-file-picker使用踩坑
  • 【C语言】。末尼
  • 【鉴权】深入解析 Token:身份认证的核心技术
  • FastReport将停止 .NET Framework 上的 WebReport 更新
  • 面试:TCP、UDP如何解决丢包问题
  • 在Ubuntu下安装RabbitMQ、添加一个新的登录用户并设置密码
  • HTTPS通信和TCP通信有什么不一样
  • Kafka 的一些问题,夺命15连问
  • unity3d————延时函数
  • 计算机学生自我提升方法——善用搜索引擎