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

如何在Lab3Buffer[i] 这的点,画一条线

| 发表于 2022-9-29 18:06:20 | 显示全部楼层 |复制链接
//+------------------------------------------------------------------+
//|                                                         第三指标.mq4 |
//|                        Copyright 2022, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_plots   4
//--- plot Lab1
#property indicator_label1  "Lab1"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrDarkGreen
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- plot Lab2
#property indicator_label2  "Lab2"
#property indicator_type2   DRAW_LINE
#property indicator_color2  clrRed
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1
//--- plot Lab3
#property indicator_label3  "Lab3"
#property indicator_type3   DRAW_LINE
#property indicator_color3  clrBlack
#property indicator_style3  STYLE_SOLID
#property indicator_width3  1
//--- plot Lab4
#property indicator_label4  "Lab4"
#property indicator_type4   DRAW_LINE
#property indicator_color4  clrBlack
#property indicator_style4  STYLE_SOLID
#property indicator_width4  1
//--- indicator buffers
double         Lab1Buffer[];
double         Lab2Buffer[];
double         Lab3Buffer[];
double         Lab4Buffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,Lab1Buffer);
   SetIndexBuffer(1,Lab2Buffer);
   SetIndexBuffer(2,Lab3Buffer);
   SetIndexBuffer(3,Lab4Buffer);

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
      int limit = rates_total - prev_calculated;
      if(limit == 0) limit++;
      for(int i = 0; i < limit; i++) {
         Lab1Buffer[i] = iIchimoku(NULL,0,9,1,52,MODE_SENKOUSPANA,i);
         Lab2Buffer[i] =iIchimoku(NULL,0,9,1,52,MODE_SENKOUSPANB,i);
      }
       for(int i = 0; i < limit; i++) {
         if(Lab1Buffer[i] >= Lab2Buffer[i] && Lab1Buffer[i+1]<Lab2Buffer[i+1]) {
            Lab3Buffer[i] =Lab2Buffer[i];




         }

         else if(Lab1Buffer[i]<=Lab2Buffer[i] && Lab1Buffer[i+1]>Lab2Buffer[i+1]) {
             Lab3Buffer[i] = Lab2Buffer[i];
             Lab4Buffer[i]=Lab3Buffer[i];
      }
      }








   return(rates_total);
  }


举报

评论 使用道具

精彩评论5

MXY
DDD
| 发表于 2022-9-29 19:21:48 | 显示全部楼层
什么意思
举报

点赞 评论 使用道具

lly221
D
 楼主 | 发表于 2022-9-29 20:05:11 | 显示全部楼层

指标在主图中,只显示了一个值,我想让他从金叉到死叉的距离都有值,是一条直线
举报

点赞 评论 使用道具

yotry
DD
| 发表于 2022-9-29 20:43:07 | 显示全部楼层
参考 传统软件的 barslast 函数
举报

点赞 评论 使用道具

lly221
D
 楼主 | 发表于 2022-9-29 21:26:50 | 显示全部楼层
yotry 发表于 2022-9-29 20:43
参考 传统软件的 barslast 函数

HONGXIAO:VALUEWHEN(A>B,LLV(B,BARSLASTCOUNT(A>B)));
这是我在通达信里面写的,但是我在mt4写不出来
举报

点赞 评论 使用道具

yotry
DD
| 发表于 2022-9-30 10:19:19 | 显示全部楼层
参考 mt4 里 supertrend 这个指标的写法
举报

点赞 评论 使用道具

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

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