设为首页 收藏本站 切换语言

求这个FXBS2指标的mt4版本,求大佬帮我改改,已经做出雏形了。但不知道如何取差值。  

| 发表于 2021-10-20 22:23:40 | 显示全部楼层 |复制链接
最后由 猎鲸狐 于 2021-10-20 22:45 编辑

求这个FXBS2指标的mt4版本,求大佬帮我改改,已经做出雏形了。但不知道如何做出原功能中的砖块效果,现在放出源码,希望有大佬能继续写下去。
原指标效果:

4372833874965__1.png
目前效果:
4390142447502__1.png

  1. //+------------------------------------------------------------------+
  2. //|                                                        FXBS2.mq4 |
  3. //|                        Copyright 2021, MetaQuotes Software Corp. |
  4. //|                                             https://www.mql5.com |
  5. //+------------------------------------------------------------------+
  6. #property copyright "Copyright 2021, MetaQuotes Software Corp."
  7. #property link      "https://www.mql5.com"
  8. #property version   "1.00"
  9. #property strict
  10. #property indicator_separate_window
  11. #property indicator_buffers 3
  12. #property indicator_plots   3
  13. //--- plot FXBS_d
  14. #property indicator_label1  "FXBS_d"
  15. #property indicator_type1   DRAW_HISTOGRAM
  16. #property indicator_color1  clrRed
  17. #property indicator_style1  STYLE_SOLID
  18. #property indicator_width1  2
  19. //--- plot FXBS_x
  20. #property indicator_label2  "FXBS_x"
  21. #property indicator_type2   DRAW_HISTOGRAM
  22. #property indicator_color2  clrGreen
  23. #property indicator_style2  STYLE_SOLID
  24. #property indicator_width2  2
  25. //--- plot 生命线
  26. #property indicator_label3  "生命线"
  27. #property indicator_type3   DRAW_LINE
  28. #property indicator_color3  clrYellow
  29. #property indicator_style3  STYLE_SOLID
  30. #property indicator_width3  1
  31. input int InpPeriod_1=9; //
  32. input int InpPeriod_2=60; //
  33. input int InpPeriod_3=34; //
  34. //--- indicator buffers
  35. double         FXBS_dBuffer[];
  36. double         FXBS_xBuffer[];
  37. double         生命线Buffer[];
  38. double   VAR1Buffer[];
  39. double   VAR2Buffer[];
  40. double   VAR3Buffer[];
  41. double   VAR4Buffer[];
  42. double   VAR5Buffer[];
  43. double   VAR6Buffer[];
  44. double   VAR7Buffer[];
  45. double   VAR8Buffer[];
  46. double   VAR9Buffer[];
  47. double   VAR10Buffer[];
  48. double   VAR11Buffer[];
  49. double   VAR12Buffer[];
  50. double   VAR13Buffer[];
  51. double   VAR14Buffer[];
  52. double   VAR15Buffer[];
  53. double   VAR16Buffer[];
  54. //+------------------------------------------------------------------+
  55. //| Custom indicator initialization function                         |
  56. //+------------------------------------------------------------------+
  57. int OnInit()
  58.   {
  59.    string short_name;
  60.    IndicatorBuffers(18);
  61. //--- indicator buffers mapping
  62. // SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2,Red);
  63. // SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,2,Green);
  64.    SetIndexBuffer(0,VAR12Buffer);
  65.    SetIndexBuffer(1,VAR13Buffer);
  66. // SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1,Yellow);//  SetIndexStyle(1,DRAW_NONE);
  67.    SetIndexBuffer(2,生命线Buffer);
  68.    SetIndexStyle(3,DRAW_NONE);   //  SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,1,White);
  69.    SetIndexBuffer(3,VAR1Buffer);
  70.    SetIndexStyle(4,DRAW_NONE);     // SetIndexStyle(3,DRAW_LINE,STYLE_SOLID,1,White);
  71.    SetIndexBuffer(4,VAR2Buffer);
  72.    SetIndexStyle(5,DRAW_NONE);          //   SetIndexStyle(4,DRAW_LINE,STYLE_SOLID,1,White);
  73.    SetIndexBuffer(5,VAR3Buffer);
  74.    SetIndexStyle(6,DRAW_NONE);      //  SetIndexStyle(5,DRAW_LINE,STYLE_SOLID,1,White);
  75.    SetIndexBuffer(6,VAR4Buffer);
  76.    SetIndexStyle(7,DRAW_NONE);     // SetIndexStyle(6,DRAW_LINE,STYLE_SOLID,1,Red);
  77.    SetIndexBuffer(7,VAR5Buffer);
  78.    SetIndexStyle(8,DRAW_NONE); //  SetIndexStyle(7,DRAW_LINE,STYLE_SOLID,1,White);
  79.    SetIndexBuffer(8,VAR6Buffer);
  80.    SetIndexStyle(9,DRAW_NONE);    // SetIndexStyle(8,DRAW_LINE,STYLE_SOLID,1,Red);
  81.    SetIndexBuffer(9,VAR7Buffer);
  82.    SetIndexStyle(10,DRAW_NONE);  //SetIndexStyle(9,DRAW_LINE,STYLE_SOLID,1,White);
  83.    SetIndexBuffer(10,VAR8Buffer);
  84.    SetIndexStyle(11,DRAW_NONE);  //SetIndexStyle(10,DRAW_LINE,STYLE_SOLID,1,White);
  85.    SetIndexBuffer(11,VAR9Buffer);
  86.    SetIndexStyle(12,DRAW_NONE);// SetIndexStyle(11,DRAW_LINE,STYLE_SOLID,1,White);
  87.    SetIndexBuffer(12,VAR10Buffer);
  88.    SetIndexStyle(13,DRAW_NONE);            // SetIndexStyle(12,DRAW_LINE,STYLE_SOLID,1,White);
  89.    SetIndexBuffer(13,VAR11Buffer);
  90.    SetIndexStyle(14,DRAW_NONE); // SetIndexStyle(15,DRAW_LINE,STYLE_SOLID,1,Red);
  91.    SetIndexBuffer(14,VAR14Buffer);
  92.    SetIndexStyle(15,DRAW_NONE); //SetIndexStyle(16,DRAW_LINE,STYLE_SOLID,1,Red);
  93.    SetIndexBuffer(15,VAR15Buffer);
  94.    SetIndexStyle(16,DRAW_NONE); // SetIndexStyle(17,DRAW_LINE,STYLE_SOLID,1,White);
  95.    SetIndexBuffer(16,VAR16Buffer);
  96.    short_name="FXBS2("+IntegerToString(InpPeriod_1)+","+IntegerToString(InpPeriod_2)+","+IntegerToString(InpPeriod_3)+")";
  97.    IndicatorShortName(short_name);
  98.    SetIndexLabel(0,short_name);
  99. //---
  100.    return(INIT_SUCCEEDED);
  101.   }
  102. //+------------------------------------------------------------------+
  103. //| Custom indicator iteration function                              |
  104. //+------------------------------------------------------------------+
  105. int OnCalculate(const int rates_total,
  106.                 const int prev_calculated,
  107.                 const datetime &time[],
  108.                 const double &open[],
  109.                 const double &high[],
  110.                 const double &low[],
  111.                 const double &close[],
  112.                 const long &tick_volume[],
  113.                 const long &volume[],
  114.                 const int &spread[])
  115.   {
  116. //---
  117.    int i,limit;
  118. //---
  119.    if(rates_total<InpPeriod_2)
  120.       return(0);
  121. //--- last counted bar will be recounted
  122.    limit=rates_total-prev_calculated;
  123.    if(prev_calculated>0)
  124.       limit++;
  125. //--- macd counted in the 1-st buffer
  126.    for(i=0; i<limit; i++)
  127.      {
  128.       VAR1Buffer[i]=  High[iHighest(NULL,0,MODE_HIGH,InpPeriod_1,i)]  -Low[iLowest(NULL,0,MODE_LOW,InpPeriod_1,i)];
  129.       VAR2Buffer[i]=  High[iHighest(NULL,0,MODE_HIGH,InpPeriod_1,i)]-close[i];
  130.       VAR3Buffer[i]=  close[i]-Low[iLowest(NULL,0,MODE_LOW,InpPeriod_1,i)];
  131.       if(VAR1Buffer[i] !=0)
  132.          VAR4Buffer[i] =VAR2Buffer[i]/VAR1Buffer[i]*100-70;
  133.       if((High[iHighest(NULL,0,MODE_HIGH,InpPeriod_2,i)]-Low[iLowest(NULL,0,MODE_LOW,InpPeriod_2,i)])>0)
  134.          VAR5Buffer[i]=(close[i]-Low[iLowest(NULL,0,MODE_LOW,InpPeriod_2,i)])/(High[iHighest(NULL,0,MODE_HIGH,InpPeriod_2,i)]-Low[iLowest(NULL,0,MODE_LOW,InpPeriod_2,i)])*100;
  135.       VAR6Buffer[i]=(2*close[i]+high[i]+low[i])/4;
  136.       if(VAR1Buffer[i] !=0)
  137.          VAR14Buffer[i]=VAR3Buffer[i]/VAR1Buffer[i]*100;
  138.      }
  139.    for(i=0; i<limit; i++)
  140.      {
  141.       // VAR7Buffer[i]=SimpleMA(i,3,VAR14Buffer);
  142.       VAR7Buffer[i]=iMAOnArray(VAR14Buffer,0,3,0,MODE_SMA,i);
  143.       VAR8Buffer[i]=Low[iLowest(NULL,0,MODE_LOW,InpPeriod_3,i)];
  144.      }
  145.    for(i=0; i<limit; i++)
  146.      {
  147.       //VAR9Buffer[i]=SimpleMA(i,3,VAR7Buffer)-SimpleMA(i,9,VAR4Buffer);
  148.       VAR9Buffer[i]=iMAOnArray(VAR7Buffer,0,3,0,MODE_SMA,i)-iMAOnArray(VAR4Buffer,0,9,0,MODE_SMA,i);
  149.      }
  150.    for(i=0; i<limit; i++)
  151.      {
  152.       VAR10Buffer[i]=0;
  153.       if(VAR9Buffer[i]>100)
  154.          VAR10Buffer[i]=VAR9Buffer[i]-100;
  155.       else
  156.          VAR10Buffer[i]=0;
  157.       VAR11Buffer[i]=High[iHighest(NULL,0,MODE_HIGH,InpPeriod_3,i)];
  158.       if((VAR11Buffer[i]-VAR8Buffer[i])!=0)
  159.          VAR15Buffer[i]=(VAR6Buffer[i]-VAR8Buffer[i])/(VAR11Buffer[i]-VAR8Buffer[i])*100;
  160.      }
  161.    for(i=0; i<limit; i++)
  162.      {
  163.       //VAR12Buffer[i]=ExponentialMA(i,13,0,VAR15Buffer);
  164.       VAR12Buffer[i]=iMAOnArray(VAR15Buffer,0,13,0,MODE_EMA,i);
  165.      }
  166.    for(i=0; i<limit; i++)
  167.      {
  168.       if(prev_calculated==0 && i==limit-1)
  169.          VAR16Buffer[i]=0.667*VAR12Buffer[i]+0.333*VAR12Buffer[i];
  170.       else
  171.          VAR16Buffer[i]=0.667*VAR12Buffer[i+1]+0.333*VAR12Buffer[i];
  172.      }
  173.    for(i=0; i<limit; i++)
  174.      {
  175.       //VAR13Buffer[i]=ExponentialMA(i,2,0,VAR16Buffer);
  176.       VAR13Buffer[i]=iMAOnArray(VAR16Buffer,0,2,0,MODE_EMA,i);
  177.      }
  178.    for(i=0; i<limit; i++)
  179.      {
  180.       // 生命线Buffer[i]=ExponentialMA(i,5,0,VAR13Buffer);
  181.       生命线Buffer[i]=iMAOnArray(VAR13Buffer,0,5,0,MODE_EMA,i);
  182.      }
  183. //--- return value of prev_calculated for next call
  184.    return(rates_total);
  185.   }
  186. //+------------------------------------------------------------------+
  187. //+------------------------------------------------------------------+
复制代码

FXBS2.mq4

15.35 KB, 下载次数: 8, 下载积分: 活跃度 -5  [下载]

评分
  • 1
  • 2
  • 3
  • 4
  • 5
平均分:NAN    参与人数:0    我的评分:未评 下载时遇到问题?
举报

评论 使用道具

精彩评论18

STONE1968
D
| 发表于 2021-10-20 22:45:59 | 显示全部楼层
发到https://www.mql5.com论坛上试一下
举报

点赞 评论 使用道具

彩虹桥
DDD
| 发表于 2021-10-20 23:39:29 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

yifu0821
未及格
| 发表于 2021-10-21 12:11:19 来自手机 | 显示全部楼层
感謝分享
举报

点赞 评论 使用道具

latage
未及格
| 发表于 2021-10-21 19:58:19 | 显示全部楼层
路过帮顶
举报

点赞 评论 使用道具

bba5675
DDD
| 发表于 2021-12-6 02:40:29 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

jongjongyoshen
D
| 发表于 2021-12-6 08:25:16 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

skydell
DD
| 发表于 2022-2-28 13:17:14 | 显示全部楼层
做的不错,要是不漂移属于精品了
举报

点赞 评论 使用道具

hqin212
CCC
| 发表于 2022-3-22 10:48:34 来自手机 | 显示全部楼层
路过,看看
举报

点赞 评论 使用道具

nanaliu
CC
| 发表于 2022-3-22 11:14:30 | 显示全部楼层
看看。。感谢分享。。。。
举报

点赞 评论 使用道具

巴比伦雄鹰
D
| 发表于 2022-3-22 11:15:18 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

紫竹青荷
CC
| 发表于 2022-3-22 11:28:13 | 显示全部楼层
路过帮顶
举报

点赞 评论 使用道具

topgpk
D
| 发表于 2022-6-13 15:47:36 | 显示全部楼层
我有 一個 FXBS2 指標了
举报

点赞 评论 使用道具

aa39981143
D
| 发表于 2022-6-13 20:49:03 来自手机 | 显示全部楼层
好像是这样
举报

点赞 评论 使用道具

刘先生io
未及格
| 发表于 2022-6-14 06:16:00 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

banruo
DDD
| 发表于 2022-6-14 06:32:30 | 显示全部楼层
路过看看
举报

点赞 评论 使用道具

512349179
D
| 发表于 2022-6-29 02:04:43 | 显示全部楼层
这是汇通的指标啊
举报

点赞 评论 使用道具

bg4abm
CC
| 发表于 2022-6-29 05:14:21 | 显示全部楼层
路过看看
举报

点赞 评论 使用道具

ypfy0
DD
| 发表于 2023-12-17 20:42:15 | 显示全部楼层
这个我有MT4版求MT5版
举报

点赞 评论 使用道具

发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册

天眼云VPS
简体中文
繁體中文
English(英语)
日本語(日语)
Deutsch(德语)
Русский язык(俄语)
بالعربية(阿拉伯语)
Türkçe(土耳其语)
Português(葡萄牙语)
ภาษาไทย(泰国语)
한어(朝鲜语/韩语)
Français(法语)