“成交量分布指标“,通过筹码精准锁定价格方向+简单找市场支撑压力位 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 );} }
相关文章:
“成交量分布指标“,通过筹码精准锁定价格方向+简单找市场支撑压力位 MT4免费公式!
指标名称:成交量分布指标 版本:MT4 ver. 1.32 之前发布的市场分布图不少朋友反馈不错,希望获得其它版本。 这个版本只有MT4的,MT5可以看之前版本,链接: “市场分布图”,精准把握价格动向 更直…...
简记Vue3(四)—— 路由
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…...
Python批量合并多个PDF
在日常工作中,处理和合并多个 PDF 文件是一个常见需求,尤其是在需要将大量文件整理成一个完整文档时。本文将详细介绍如何使用 Python 的 PyMuPDF 库来实现批量 PDF 文件合并,并提供针对大文件优化的解决方案。 安装 PyMuPDF 要使用 PyMuPD…...
Linux:vim命令总结及环境配置
文章目录 前言一、vim的基本概念二、vim模式命令解析1. 命令模式1)命令模式到其他模式的转换:2)光标定位:3)其他命令: 2. 插入模式3. 底行模式4. 替换模式5. 视图模式6. 外部命令 三、vim环境的配置1. 环境…...
贪心算法day05(k次取反后最大数组和 田径赛马)
目录 1.k次取反后最大化的数组和 2.按身高排序 3.优势洗牌 1.k次取反后最大化的数组和 题目链接:. - 力扣(LeetCode) 思路: 代码: class Solution {public int largestSumAfterKNegations(int[] nums, int k) {//如…...
默认 iOS 设置使已锁定的 iPhone 容易受到攻击
苹果威胁研究的八个要点 苹果手机间谍软件问题日益严重 了解 Apple 苹果的设备和服务器基础模型发布 尽管人们普遍认为锁定的 iPhone 是安全的,但 iOS 中的默认设置可能会让用户面临严重的隐私和安全风险。 安全研究员 Lambros 通过Pen Test Partners透露&#…...
上海市计算机学会竞赛平台2024年11月月赛丙组
题目描述 在一个棋盘上,有两颗棋子,一颗棋子在第 aa 行第 bb 列,另一个颗棋子在第 xx 行第 yy 列。 每一步,可以选择一个棋子沿行方向移动一个单位,或沿列方向移动一个单位,或同时沿行方向及列方向各移动…...
Python批量设置图片背景为透明
我们日常生活中制作PPT等教学资源时,需要批量去除图片背景,就可以使用 Python 的 rembg 库。 这个库基于神经网络模型,去背景效果较好,可以批量处理png, jpg, jpeg等图片。采用以下代码可以批量处理当前目录下的所有图片…...
Vue CLI 脚手架
cli脚手架创建项目步骤 全局安装(一次):yarn global add vue/cli 无法识别yarn的要先安装yarn;终端执行npm install -g yarn 查看Vue版本:vue --version 这里有问题(success上方有warning) 报错:‘vue’不是内部或外部…...
Linux【基础篇】
-- 原生罪 linux的入门安装学习 什么是操作系统? 用户通过操作系统和计算机硬件联系使用。桥梁~ 什么是Linux? 他是一套开放源代码(在互联网上找到Linux系统的源代码,C语言写出的软件),可以自由 传播&…...
多线程环境下安全地使用 SimpleDateFormat的常见方法
文章目录 1. 使用局部变量(每个线程独立一个实例)2. 使用 ThreadLocal<SimpleDateFormat>3. 使用 DateTimeFormatter(Java 8 及以上)4. 使用 DateFormat 子类(如 FastDateFormat)5. 使用 synchronize…...
easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头
easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头 原版表头和表体字体美化自动拼接错误提示列自适应宽度自动合并单元格使用Easyexcel使用poi导出 在后台管理开发的工作中,离不开的就是导出excel了. 如果是简单的导出, 直接easyexce…...
ANDROIDWORLD: A Dynamic Benchmarking Environment for Autonomous Agents论文学习
这个任务是基于androidenv的。这个环境之前学过,是一个用来进行强化学习的线上环境。而这篇文章的工作就是要给一些任务加上中间的奖励信号。这种训练环境的优点就是动态,与静态的数据集(比如说我自己的工作)不同,因此…...
Docker 常用命令详解(详细版)
Docker 是一个开源的容器化平台,它使得开发人员可以打包应用程序及其所有依赖项,并在任何环境中运行。Docker 提供了简单而强大的命令行工具来管理容器、镜像、网络等。本文将详细介绍 Docker 的常用命令及其使用方法。 1. 安装 Docker 在使用 Docker …...
【网络安全 | 甲方安全建设】分布式系统、Redis分布式锁及Redisson看门狗机制
未经许可,不得转载。 文章目录 分布式系统分布式系统的核心特性分布式系统的典型架构分布式锁概念Redis 分布式锁原理互斥性锁释放锁的唯一性具体实现Redisson分布式锁分布式系统 分布式系统是一种由多台计算机(节点)组成的系统,这些节点通过网络相互连接并协同工作,共同…...
「QT」几何数据类 之 QLineF 浮点型直线类
✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…...
Treeland 技术揭秘,如何使得 DDE 纵享丝滑?
近日,deepin(深度)社区亮相COSCon24 第九届中国开源年会开源市集,且社区资深桌面研发工程师张丁元为大家来了《Treeland,DDE进步的阶梯》技术分享。 就着这个机会,今天就让我们一起来聊聊如何在追求华丽动…...
快速了解SpringBoot 统一功能处理
拦截器 什么是拦截器: 拦截器是Spring框架提供的重要功能之一,主要进行拦截用户请求,在指定方法前后,根据业务需求,执行预先设定的代码。 也就是说,允许开发⼈员提前预定义⼀些逻辑,在⽤⼾的请求响应前后执⾏.也可以…...
C++区分数组的引用和引用的数组
void f(int (&arr)[10]) {//正确} void f1(int &arr[10]) {//不允许使用引用的数组} [](数组下标运算符)的优先级高于&(取地址运算符)。所有表达式&arr[i]等价于&(arr[i]) 引用的数组 一个包含引用的数组&…...
【harbor】离线安装2.9.0-arm64架构服务制作和升级部署
harbor官网地址:Harbor 参考文档可以看这里:部署 harbor 2.10.1 arm64 - 简书。 前提环境准备: 安装docker 和 docker-compose 先拉arm64架构的harbor相关镜像 docker pull --platformlinux/arm64 ghcr.io/octohelm/harbor/harbor-regist…...
终极指南:如何用Tiled2Unity实现Tiled地图到Unity的无缝集成
终极指南:如何用Tiled2Unity实现Tiled地图到Unity的无缝集成 【免费下载链接】Tiled2Unity Export Tiled Map Editor (TMX) files into Unity 项目地址: https://gitcode.com/gh_mirrors/ti/Tiled2Unity 还在为Tiled地图导入Unity而烦恼吗?想要快…...
别再只用总基尼系数了!用Python实现Dagum分解,看清区域差距的‘里子’
用Python拆解经济差距:Dagum基尼系数分解实战指南 当一份区域经济报告只给出一个总的基尼系数时,就像医生只告诉你"体温偏高"却不说明是哪个器官发炎——数据研究者常陷入这种诊断困境。传统基尼系数虽能反映整体不平等程度,却无法…...
Cadence Virtuoso新手避坑:DC和Tran仿真到底该用哪个?附inv反相器实例
Cadence Virtuoso仿真实战:DC与Tran仿真的本质差异与工程选择指南 在集成电路设计的入门阶段,许多工程师都会对仿真类型的选择感到困惑。就像我第一次使用Cadence Virtuoso时,面对DC和Tran这两个基础仿真选项,完全不知道从何下手。…...
TrackWeight:将MacBook触控板转化为精准称重工具的创新解决方案
TrackWeight:将MacBook触控板转化为精准称重工具的创新解决方案 【免费下载链接】TrackWeight Use your Mac trackpad as a weighing scale 项目地址: https://gitcode.com/gh_mirrors/tr/TrackWeight TrackWeight是一款基于macOS平台的开源工具,…...
如何突破窗口限制?专业窗口调整工具让桌面管理效率提升300%
如何突破窗口限制?专业窗口调整工具让桌面管理效率提升300% 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 你是否曾遇到过这样的困扰:重要的应用程序窗口无…...
Qt加载OBJ或STL模型文件,支持鼠标移动、缩放、旋转Demo
Qt加载模型文件obj或者stl实例,支持鼠标移动缩放旋转demo最近在捣鼓Qt的3D可视化功能,发现用Qt搞个模型查看器比想象中简单。咱们先整点实际的——做个能加载obj/stl模型,支持鼠标拖拽旋转、平移、缩放的demo。废话不多说,直接撸代…...
3步快速恢复ROG游戏本色彩配置文件的终极指南
3步快速恢复ROG游戏本色彩配置文件的终极指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址: https://gitcode.…...
Redis集群模式下如何高效模糊匹配Key?RedisTemplate+Scan全节点遍历实战
Redis集群环境下高效模糊匹配Key的工程实践 Redis作为高性能缓存数据库,在分布式系统中扮演着重要角色。当系统规模扩大,单节点Redis无法满足需求时,集群模式成为必然选择。但在集群环境下,如何高效地进行模糊Key匹配却成为开发者…...
给嵌入式新手的ST7789驱动避坑指南:从SPI模式到RGB565显示的完整配置流程
给嵌入式新手的ST7789驱动避坑指南:从SPI模式到RGB565显示的完整配置流程 第一次接触ST7789液晶驱动芯片时,面对厚厚的数据手册和复杂的时序图,很多嵌入式新手都会感到无从下手。本文将带你一步步拆解ST7789的驱动过程,从SPI模式配…...
卡证检测矫正模型在嵌入式单片机上的应用探索
卡证检测矫正模型在嵌入式单片机上的应用探索 最近在做一个工业物联网的项目,需要给现场的设备加个证件核验功能。客户要求很简单:成本要低,部署要方便,最好能直接集成到现有的单片机系统里。一开始我们觉得这不可能——卡证检测…...
