顺水外汇EA交易网MT4

标题: 一个布林指标,请高手看下 [打印本页]

作者: 核磁共振    时间: 2018-1-11 14:49
标题: 一个布林指标,请高手看下
指标加载后,线过一会就会落后几根K线,如图
[attach]20471[/attach]
请朋友们看下,代码要如何改,才可以一直保持K线出来,指标线就出来呢?
/*
   Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
   Website: http://purebeam.biz
   E-mail : purebeam@gmail.com
*/
#property copyright ""
#property link      ""
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 White
extern int Periods = 20;
extern int Dev = 2;
double g_ibuf_84[];
double g_ibuf_88[];
double g_ibuf_92[];
double g_ibuf_96[];
int init() {
   IndicatorBuffers(4);
   SetIndexStyle(0, DRAW_LINE);
   SetIndexStyle(1, DRAW_NONE);
   SetIndexStyle(2, DRAW_NONE);
   SetIndexStyle(3, DRAW_NONE);
   SetIndexBuffer(0, g_ibuf_92);
   SetIndexBuffer(1, g_ibuf_84);
   SetIndexBuffer(2, g_ibuf_88);
   SetIndexBuffer(3, g_ibuf_96);
   writetext("", "", 10, 10, Yellow, 10);
   return (0);
}
int start() {
   int bar = IndicatorCounted();
   int limit = Bars - bar;
   for (int i = 0; i < limit; i++) {
      g_ibuf_84 = iBands(NULL, 0, Periods, Dev, 0, PRICE_CLOSE, MODE_UPPER, i);
      g_ibuf_88 = iBands(NULL, 0, Periods, Dev, 0, PRICE_CLOSE, MODE_LOWER, i);
      g_ibuf_96 = iBands(NULL, 0, Periods, Dev, 0, PRICE_CLOSE, MODE_MAIN, i);
      g_ibuf_92 = (g_ibuf_84 - g_ibuf_88)/g_ibuf_96;
   }
   return (0);
}
void writetext(string a_name_0, string a_text_8, int a_x_16, int a_y_20, color a_color_24, int a_fontsize_28) {
   ObjectDelete(a_name_0);
   ObjectCreate(a_name_0, OBJ_LABEL, 0, 0, 0);
   ObjectSetText(a_name_0, a_text_8, a_fontsize_28, "Arial", a_color_24);
   ObjectSet(a_name_0, OBJPROP_CORNER, 0);
   ObjectSet(a_name_0, OBJPROP_XDISTANCE, a_x_16);
   ObjectSet(a_name_0, OBJPROP_YDISTANCE, a_y_20);
}

作者: hezhigang6    时间: 2018-1-11 15:43
http://www.gps512.com/?hezhigang6
作者: 核磁共振    时间: 2018-1-11 17:15
自已顶一下
作者: 0932    时间: 2018-1-11 17:34

自已顶一下
作者: 核磁共振    时间: 2018-1-11 18:19
真的没有朋友解答一下么???
作者: abear    时间: 2018-1-11 19:58
g_ibuf_84 g_ibuf_88 g_ibuf_92 g_ibuf_96 是陣列
直接指定應該會有問題
又將其直接加減乘除 也是會有問題
可能的修改 但不一定正確(g_ibuf_92的計算式未必是這樣):
      g_ibuf_84[i] = iBands(NULL, 0, Periods, Dev, 0, PRICE_CLOSE, MODE_UPPER, i);
       g_ibuf_88[i] = iBands(NULL, 0, Periods, Dev, 0, PRICE_CLOSE, MODE_LOWER, i);
       g_ibuf_96[i] = iBands(NULL, 0, Periods, Dev, 0, PRICE_CLOSE, MODE_MAIN, i);
       g_ibuf_92[i] = (g_ibuf_84[i] - g_ibuf_88[i])/g_ibuf_96[i];

作者: gold777    时间: 2018-1-11 20:23
表示 完全看不懂
作者: allen081018    时间: 2018-1-11 20:56
没看懂  恕无能为力
[attach]20472[/attach]

作者: nmber    时间: 2018-1-11 21:58
唉  看不懂
作者: zhangchao315    时间: 2018-1-11 23:06
你啊哈 撒发到发生 发生福按时福按时到岗水电费更好都是废话啊但是

作者: 海洋_赢    时间: 2018-1-12 00:06
感谢楼主的分享,获益匪浅
作者: tao6777    时间: 2018-1-12 01:35

谢谢分享   
作者: Jacob_b5SNm    时间: 2018-1-12 02:10
真的受益匪浅,虽然看不懂但是你们很棒
作者: EUR168    时间: 2018-1-12 03:32
来学习一下
作者: 奴力力    时间: 2018-1-12 04:05
路过帮顶




欢迎光临 顺水外汇EA交易网MT4 (http://waterforex.com/) Powered by Discuz! X3.2