自定义布林线 - MetaTrader 5脚本





我开发此指标是为了提供 MetaTrader 5 布林线指标中标准移动平均线方法的替代方案,该指标仅提供“简单”方法。使用我的指标,用户可以选择其他方法,包括指数、平滑和线性加权。
要使用此指示器,您需要将其放置在类似于以下路径的目录中(在 Windows 上):
C:\Users\lucas\AppData\Roaming\MetaQuotes\Terminal\Indicators\Examples
新增功能:

默认情况下它设置为零:

选择 LinearWeighted 平均值的执行示例:
//+------------------------------------------------------------------+ //| BBP个性化.mq5 | //| 卢卡斯·维达尔 | //| https://www.mql5.com | //+------------------------------------------------------------------+ #财产版权 “卢卡斯·维达尔” #财产关联 “https://www.mql5.com/en/users/lucasmoura00” #财产描述 “布林线个性化” #包括<移动平均线.mqh>//--- #财产指标图表窗口 #财产指标缓冲区 4 #财产指标图 3 #财产指标类型1 绘制线 #财产指示器颜色1 浅海绿#财产指标类型2 绘制线 #财产指示器颜色2 浅海绿#财产指标类型3 绘制线 #财产指标颜色3 浅海绿#财产指标标签1 《乐队中》 #财产指标标签2 “乐队上部” #财产指标标签3 “乐队更低” //--- 输入参数 枚举移动平均法 { 简单, // 0 指数, // 1 平滑, // 2 线性加权 // 3};输入移动平均法 InpMaMethod = Simple;// 媒体移动方法 输入 整数 InpBandsPeriod=20; // 时期 输入 整数 InpBandsShift=0; // 转移 输入 双倍的 InpBands偏差=2.0; // 偏差 //--- 全局变量 整数 ExtBandsPeriod、ExtBandsShift;双倍的 ExtBands偏差;整数 外部绘图开始=0;//--- 指标缓冲区 双倍的 ExtMLBuffer[];双倍的 ExtTLBuffer[];双倍的 ExtBLBuffer[];双倍的 ExtStdDevBuffer[];//+------------------------------------------------------------------+ //|自定义指标初始化函数 | //+------------------------------------------------------------------+ 空白 初始化时() {//--- 检查输入值 如果(InpBandsPeriod<2) { 扩展频带周期=20; 打印格式(“输入变量 InpBandsPeriod=%d 的值不正确。指标将使用值=%d 进行计算。”,InpBandsPeriod,ExtBandsPeriod); } 别的 ExtBandsPeriod=InpBandsPeriod; 如果(InpBandsShift<0) { 扩展频带偏移=0; 打印格式(“输入变量 InpBandsShift=%d 的值不正确。指标将使用值=%d 进行计算。”,InpBandsShift,ExtBandsShift); } 别的 ExtBandsShift=InpBandsShift; 如果(InpBands偏差==0.0) { ExtBands偏差=2.0; 打印格式(“输入变量 InpBandsDeviations=%f 的值不正确。指标将使用值=%f 进行计算。”,InpBands偏差,ExtBands偏差); } 别的 ExtBandsDeviations=InpBandsDeviations;//--- 定义缓冲区 设置索引缓冲区(0,ExtMLBuffer); 设置索引缓冲区(1,ExtTLBuffer); 设置索引缓冲区(2,ExtBLBuffer); 设置索引缓冲区(3,ExtStdDevBuffer,指标计算);//--- 设置索引标签 绘图索引设置字符串(0,绘图标签,“乐队(”+细绳(ExtBandsPeriod)+“) 中间”); 绘图索引设置字符串(1,绘图标签,“乐队(”+细绳(ExtBandsPeriod)+“)上”); 绘图索引设置字符串(2,绘图标签,“乐队(”+细绳(ExtBandsPeriod)+“) 降低”);//--- 指标名称 指标集字符串(INDICATOR_SHORTNAME,“布林线”);//--- 索引绘制开始设置 ExtPlotBegin=ExtBandsPeriod-1; 绘图索引集整数(0,绘图_绘制_开始,ExtBandsPeriod); 绘图索引集整数(1,绘图_绘制_开始,ExtBandsPeriod); 绘图索引集整数(2,绘图_绘制_开始,ExtBandsPeriod);//--- 索引移位设置 绘图索引集整数(0,绘图_移动,ExtBandsShift); 绘图索引集整数(1,绘图_移动,ExtBandsShift); 绘图索引集整数(2,绘图_移动,ExtBandsShift);//--- 指标值的位数 指标集整数(INDICATOR_DIGITS,_数字+1); }//+------------------------------------------------------------------+ //|计算移动平均线 | //+------------------------------------------------------------------+ 双倍的计算移动平均值(整数位置,整数时期,常量 双倍的&价格[]) { 转变(InpMa方法){ 案件简单的: 返回SimpleMA(仓位、周期、价格); 案件指数: // 更改 iMA 相关参数的功能 返回 伊玛(无效的,0, 时期,0,模式_EMA,PRICE_CLOSE); 案件平滑: // 实现 SMMA aqui 功能 休息; 案件线性加权: 返回LinearWeightedMA(仓位、周期、价格); } 返回 0;// 恢复不确定方法}//+------------------------------------------------------------------+ //|布林线 | //+------------------------------------------------------------------+ 整数 计算时(常量 整数费率_总计, 常量 整数先前计算的, 常量 整数开始, 常量 双倍的&价格[]) { 如果(rates_total返回(0);//--- 当我们收到先前的开始时,索引绘制开始设置 如果(ExtPlotBegin!=ExtBandsPeriod+开始) { ExtPlotBegin=ExtBandsPeriod+开始; 绘图索引集整数(0,绘图_绘制_开始,ExtPlotBegin); 绘图索引集整数(1,绘图_绘制_开始,ExtPlotBegin); 绘图索引集整数(2,绘图_绘制_开始,ExtPlotBegin); }//--- 开始计算 整数位置; 如果(上一个计算>1) pos=prev_calculated-1; 别的 位置=0;//--- 主循环 为了(整数我=位置;我 已停止();我++) { //--- 中线 ExtMLBuffer[i]=CalculateMovingAverage(i, ExtBandsPeriod, 价格); //--- 计算并写下StdDev ExtStdDevBuffer[i]=StdDev_Func(i,价格,ExtMLBuffer,ExtBandsPeriod); //--- 上线 ExtTLBuffer[i]=ExtMLBuffer[i]+ExtBandsDeviations*ExtStdDevBuffer[i]; //--- 下线 ExtBLBuffer[i]=ExtMLBuffer[i]-ExtBandsDeviations*ExtStdDevBuffer[i]; }//--- OnCalculate 完成。返回新的 prev_calculated。 返回(费率_总计); }//+------------------------------------------------------------------+ //|计算标准差 | //+------------------------------------------------------------------+ 双倍的标准差_函数(常量 整数位置,常量 双倍的&价格[],常量 双倍的&ma_价格[],常量 整数时期) { 双倍的标准设备=0.0;//--- 计算StdDev 如果(位置>=周期) { 为了(整数我=0;我<期间;我++) std_dev+=数学包(价格[位置-i]-ma_价格[位置],2.0); 标准设备=数学平方根(std_dev/周期); }//--- 返回计算值 返回(std_dev); }//+------------------------------------------------------------------+
附件下载
📎 bb_personalizada.mq5 (13.42 KB)
Source: MQL5 #49464
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录
