初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1364 1...135713581359136013611362136313641365136613671368136913701371...1503 新评论 Mikhail Toptunov 2021.10.19 12:57 #13631 你能告诉我如何在一个类中声明一个数组,以便在EA中把它拉出来吗? m_pr_hl2[b]=MathAbs((iHigh(this.m_symbol,this.m_timeframe,b) + iLow(this.m_symbol,this.m_timeframe,b))/2); class CNewBar : public CObject { private: string m_symbol; ENUM_TIMEFRAMES m_timeframe; datetime m_time; double m_pr_hl2[]; datetime Time(void); string Symbol(void) { return this.m_symbol; } public: ENUM_TIMEFRAMES Timeframe(void) { return this.m_timeframe; } datetime GetTime(void) { return this.m_time; } // Возвращает время последнего обращения int PriceHL2(void); bool IsNewBar(void); // Основная функция класса CNewBar(const string symbol,const ENUM_TIMEFRAMES timeframe); ~CNewBar(void) {;} }; //+------------------------------------------------------------------+ //| Конструктор | //+------------------------------------------------------------------+ CNewBar::CNewBar(const string symbol,const ENUM_TIMEFRAMES timeframe) : m_time(0) { this.m_symbol = symbol; this.m_timeframe = (timeframe == PERIOD_CURRENT ? Period() : timeframe); m_rt=this.RatesTotal(); m_pc=0; PriceHL2(); } //+------------------------------------------------------------------+ //| CNewBar Time Возвращает время нулевого бара |SERIES_LASTBAR_DATE //+------------------------------------------------------------------+ datetime CNewBar::Time(void) { datetime array[1], ret; ret = CopyTime(this.m_symbol, this.m_timeframe, 0, 1, array) == 1 ? array[0] : 0; return(array[0]); } //+------------------------------------------------------------------+ //| Расчет цены | //+------------------------------------------------------------------+ int CNewBar::PriceHL2(void) { int res=ArrayResize(this.m_pr_hl2,this.m_rt); for(int b=this.m_pc; b<this.m_rt; b++) m_pr_hl2[b]=MathAbs((iHigh(this.m_symbol,this.m_timeframe,b) + iLow(this.m_symbol,this.m_timeframe,b))/2); return(res); } //+------------------------------------------------------------------+ //| CNewBar IsNewBar Основная функция класса | //+------------------------------------------------------------------+ bool CNewBar::IsNewBar(void) { datetime tm=this.Time(); if(tm==0) return false; if(tm!=this.m_time) { //--- определяем время this.m_time=tm; this.PriceHL2(); return true; } return false; } Evgeny Dyuka 2021.10.20 06:02 #13632 当你为一个指标的"中间计算"创建一个数组时,你可以直接创建它,一切都能正常工作,或者你可以指定INDICATOR_CALCULATION 属性。 为了什么?有哪些可能性? Igor Makanu 2021.10.20 07:07 #13633 Evgeny Dyuka #: 当你为一个指标的"中间计算"创建一个数组时,你可以创建它并使其一切正常,或者你可以指定INDICATOR_CALCULATION 属性。 为了什么?有哪些可能性? 如果你已经将一个动态数组与一个指标缓冲区连接起来,终端将为这个数组分配内存,这个数组的大小将等于图表中的条数。 这适用于用于绘图的指标缓冲区 INDICATOR_DATA 和 INDICATOR_CALCULATIONS - 用于计算的辅助缓冲区 Evgeny Dyuka 2021.10.20 09:04 #13634 Igor Makanu #:如果你已经将一个动态数组与一个指标缓冲区连接起来,终端将为这个数组分配内存,这个数组的大小将等于图表中的条数。这适用于用于绘图的指标缓冲区 INDICATOR_DATA 和 INDICATOR_CALCULATIONS - 用于计算的辅助缓冲区 明白了,谢谢 Green handsome 2021.10.20 10:43 #13635 你能告诉我,是否可以在MT5平台上将图形对象(趋势线、菲博网格)磁化为指标?例如,如果菲博格的值 "0 "被磁化到移动平均线 上。 它就直接进入移动平均线的点。 Evgeny Dyuka 2021.10.22 04:59 #13636 一个图形对象必须固定在图形窗口的一个特定位置上。例如,左下角的一个正方形。有CHART_PRICE_MIN 来定义Y的坐标,但如何定义X的最小时间? 我在ENUM_CHART_PROPERTY_INTEGER 中没有找到合适的东西,或者我将提出一个更广泛的问题。如何正确固定一个对象在图表窗口中的位置(如 "居中"),而不把它与图表本身联系起来? Evgeny Dyuka 2021.10.22 05:06 #13637 有一个CHART_SCALEFIX_11"1:1比例模式 "图形属性,但没有透露它的用途和如何使用。 是为了将图形对象的尺寸与比例尺绑定吗? 如果是,用什么单位,如何指定对象尺寸。 一般来说,如何将绘图对象与图形的比例联系起来? Evgeny Dyuka 2021.10.22 10:11 #13638 Evgeny Dyuka #: 一个图形对象必须固定在图形窗口的一个特定位置上。例如,左下角的一个正方形。有CHART_PRICE_MIN 来定义Y的坐标,但如何定义X的最小时间?我在ENUM_CHART_PROPERTY_INTEGER 中没有找到合适的东西,或者我将提出一个更广泛的问题。如何正确固定一个对象在图表窗口中的位置(如 "居中"),而不把它与图表本身联系起来? 我真的需要这些秘密知识 Evgeny Dyuka 2021.10.22 10:11 #13639 Evgeny Dyuka #: 有一个CHART_SCALEFIX_11"1:1比例模式 "图形属性,但没有透露它的用途和如何使用。是为了将图形对象的尺寸与比例尺绑定吗?如果是,用什么单位,如何指定对象尺寸。一般来说,如何将绘图对象与地图比例尺正确联系起来?...而这也是。 Alexey Viktorov 2021.10.22 11:34 #13640 Evgeny Dyuka #: 有必要将图形对象锚定在图表窗口的某个位置。例如,在左下角的一个正方形。Y坐标有CHART_PRICE_MIN,但我怎么能知道 X坐标的最小时间?我在ENUM_CHART_PROPERTY_INTEGER 中没有找到合适的东西,否则我将提出一个更广泛的问题。如何正确固定一个对象在图表窗口中的位置(如 "居中"),而不把它与图表本身联系起来? chart_first_visible_bar 图表上第一个可见条形图的编号。条形图的索引与时间序列 相对应。 英镑r/o 但并不是所有的对象都能以这种方式被绑定。 Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком www.mql5.com Примеры работы с графиком - Константы графиков - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 1...135713581359136013611362136313641365136613671368136913701371...1503 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你能告诉我如何在一个类中声明一个数组,以便在EA中把它拉出来吗?
为了什么?有哪些可能性?
当你为一个指标的"中间计算"创建一个数组时,你可以创建它并使其一切正常,或者你可以指定INDICATOR_CALCULATION 属性。
为了什么?有哪些可能性?
如果你已经将一个动态数组与一个指标缓冲区连接起来,终端将为这个数组分配内存,这个数组的大小将等于图表中的条数。
这适用于用于绘图的指标缓冲区 INDICATOR_DATA 和 INDICATOR_CALCULATIONS - 用于计算的辅助缓冲区
如果你已经将一个动态数组与一个指标缓冲区连接起来,终端将为这个数组分配内存,这个数组的大小将等于图表中的条数。
这适用于用于绘图的指标缓冲区 INDICATOR_DATA 和 INDICATOR_CALCULATIONS - 用于计算的辅助缓冲区
我在ENUM_CHART_PROPERTY_INTEGER
中没有找到合适的东西,或者我将提出一个更广泛的问题。如何正确固定一个对象在图表窗口中的位置(如 "居中"),而不把它与图表本身联系起来?
是为了将图形对象的尺寸与比例尺绑定吗?
如果是,用什么单位,如何指定对象尺寸。
一般来说,如何将绘图对象与图形的比例联系起来?
一个图形对象必须固定在图形窗口的一个特定位置上。例如,左下角的一个正方形。有CHART_PRICE_MIN 来定义Y的坐标,但如何定义X的最小时间?我在ENUM_CHART_PROPERTY_INTEGER 中没有找到合适的东西,或者我将提出一个更广泛的问题。如何正确固定一个对象在图表窗口中的位置(如 "居中"),而不把它与图表本身联系起来?
有一个CHART_SCALEFIX_11"1:1比例模式 "图形属性,但没有透露它的用途和如何使用。是为了将图形对象的尺寸与比例尺绑定吗?如果是,用什么单位,如何指定对象尺寸。一般来说,如何将绘图对象与地图比例尺正确联系起来?
有必要将图形对象锚定在图表窗口的某个位置。例如,在左下角的一个正方形。Y坐标有CHART_PRICE_MIN,但我怎么能知道 X坐标的最小时间?我在ENUM_CHART_PROPERTY_INTEGER 中没有找到合适的东西,否则我将提出一个更广泛的问题。如何正确固定一个对象在图表窗口中的位置(如 "居中"),而不把它与图表本身联系起来?
chart_first_visible_bar
图表上第一个可见条形图的编号。条形图的索引与时间序列 相对应。
英镑r/o
但并不是所有的对象都能以这种方式被绑定。