新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 669 1...662663664665666667668669670671672673674675676...1953 新评论 Artyom Trishkin 2018.10.17 20:16 #6681 psyman:我读了你因我的主题而产生的信件,这很有趣:-)但引起所有这些讨论的问题是什么? 通过SetIndexBuffer(1, tmp1) 声明一个数组,我没有得到任何 结果。当然,我可以在同一个循环中增加数组大小,但我想知道一个更简单、更有效的方法。给我看完整的代码--你在那里做了什么,你想要什么,你已经得到什么。 psyman 2018.10.17 20:27 #6682 我想观察波动情况。至少要从开盘-收盘开始,用均线做一个时期的平均数。 //+------------------------------------------------------------------+ //| _null.mq4 | //| Copyright 2014, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2014, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" #property strict #property indicator_separate_window #property indicator_buffers 1 #property indicator_plots 1 //--- plot OC #property indicator_label1 "O-C" #property indicator_type1 DRAW_LINE #property indicator_color1 clrSteelBlue #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //--- indicator buffers double ip1Buf[]; input int ip1=100; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { string s_name1; s_name1="O-C (" + IntegerToString(ip1) + ")"; IndicatorShortName(s_name1); SetIndexLabel(0, s_name1); //--- indicator buffers mapping SetIndexBuffer(0,ip1Buf); //--- 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 i; double tmp1[]; SetIndexBuffer(1, tmp1); Print("rates_total = ",rates_total); for(i=1; i<rates_total-1; i++) { tmp1[i]=close[i]; ip1Buf[i]=iMA(NULL,0,100,0,0,tmp1[i],0); } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ Artyom Trishkin 2018.10.17 20:33 #6683 psyman:我想观察波动情况。至少要从开盘-收盘开始,用SMA做一个时期的平均数。 SetIndexBuffer(1, tmp1) 为什么不在OnInit()中? 为什么没有 IndicatorBuffers(2) ? 你为什么不以最佳方式计算呢?每一次打勾 都有一个完整的循环。 为什么是iMA()而不是iMAOnArray()? psyman 2018.10.17 21:56 #6684 =为什么没有 IndicatorBuffers(2) ? #property strict并没有抱怨,这可能是我没有写进去的原因。 =为什么是iMA()而不是iMAOnArray()? 我没有足够的知识,课本上也没说什么。 缺少系统知识是一个严重的限制。 =在每一个刻度上进行全循环。 我不明白这一点,请解释一下原因,或者给我一个链接,说明在哪里做的。 我有一个至少一小时的TF。 Andrei Novichkov 2018.10.17 22:06 #6685 =На 每个刻度是一个完整的周期。 我不明白这些,请解释一下,或者给我一个链接,让我知道哪里有这样的做法。 我有一个最小的TF,一个小时。在每次调用OnCalculate的时候,你都有一个for循环,正在搜索从1到rate_total的数据,也就是做同样的工作。当然,这是件坏事。 Artyom Trishkin 2018.10.17 22:10 #6686 psyman:=为什么没有 IndicatorBuffers(2) ? #property strict并没有抱怨,这可能是我没有写进去的原因。 =为什么是iMA()而不是iMAOnArray()? 我没有足够的知识,课本上也没说什么。 缺少系统知识是一个严重的限制。 =在每一个刻度上进行全循环。 我不明白这一点,请解释一下原因,或者给我一个链接,说明在哪里做的。 我有一个至少一小时的TF。你知道吗,我在这个主题中附上了一个指标模板--在它的中间某处--你可以找到它,然后用它做你想做的事。查一查吧。我还写道,很多时候人们对正在发生的事情感兴趣,所以我决定做一个指标模板,并把它放在这个主题中。 psyman 2018.10.18 02:53 #6687 关于交易、自动交易系统和策略测试的论坛 新手对MQL4的任何问题,对算法和代码的帮助和讨论 Andrei Novichkov, 2018.10.17 22:06 在每次调用OnCalculate时,你都有一个for循环,用于搜索从1到rate_total的数据,也就是说,做同样的工作。这当然是一件坏事。 如果你说它不好,请告诉我如何做好它。你想把计算转移到OnInit吗? psyman 2018.10.18 02:57 #6688 关于交易、自动交易系统和策略测试的论坛 对MQL4新手的任何问题,对算法和代码的帮助和讨论 Artyom Trishkin, 2018.10.17 22:10 你知道,我直接在这个分支中--在它中间的某个地方,附加了一个指标模板--你可以找到它,并直接从它做你想做的事。查一查吧。我写道,很多人对它的工作方式感兴趣,我决定做一个指标模板,并把它放在这个主题里。搜索 "指标模板 "和你的名字并没有找到任何东西,在这里已经写了《战争与和平》一卷。 我想到了帖子中的任何词语组合。 Roman Sharanov 2018.10.18 07:06 #6689 如何创建一个类实例的数组? 使得ClassName* className[],然后对其进行ArrayResize,但不给无效的指针 访问的方法 Vladimir Karputov 2018.10.18 07:20 #6690 Roman Sharanov: 如何创建一个类实例的数组? 使得ClassName* className[],然后对其进行ArrayResize,但不给无效的指针 访问的方法在CArrayObj 中有一个例子 1...662663664665666667668669670671672673674675676...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我读了你因我的主题而产生的信件,这很有趣:-)但引起所有这些讨论的问题是什么?
通过SetIndexBuffer(1, tmp1) 声明一个数组,我没有得到任何 结果。当然,我可以在同一个循环中增加数组大小,但我想知道一个更简单、更有效的方法。
给我看完整的代码--你在那里做了什么,你想要什么,你已经得到什么。
我想观察波动情况。至少要从开盘-收盘开始,用均线做一个时期的平均数。
我想观察波动情况。至少要从开盘-收盘开始,用SMA做一个时期的平均数。
SetIndexBuffer(1, tmp1) 为什么不在OnInit()中?
为什么没有 IndicatorBuffers(2) ?
你为什么不以最佳方式计算呢?每一次打勾 都有一个完整的循环。
为什么是iMA()而不是iMAOnArray()?
=为什么没有 IndicatorBuffers(2) ?
#property strict并没有抱怨,这可能是我没有写进去的原因。
=为什么是iMA()而不是iMAOnArray()?
我没有足够的知识,课本上也没说什么。
缺少系统知识是一个严重的限制。
=在每一个刻度上进行全循环。
我不明白这一点,请解释一下原因,或者给我一个链接,说明在哪里做的。
我有一个至少一小时的TF。
我不明白这些,请解释一下,或者给我一个链接,让我知道哪里有这样的做法。
我有一个最小的TF,一个小时。
在每次调用OnCalculate的时候,你都有一个for循环,正在搜索从1到rate_total的数据,也就是做同样的工作。当然,这是件坏事。
=为什么没有 IndicatorBuffers(2) ?
#property strict并没有抱怨,这可能是我没有写进去的原因。
=为什么是iMA()而不是iMAOnArray()?
我没有足够的知识,课本上也没说什么。
缺少系统知识是一个严重的限制。
=在每一个刻度上进行全循环。
我不明白这一点,请解释一下原因,或者给我一个链接,说明在哪里做的。
我有一个至少一小时的TF。
你知道吗,我在这个主题中附上了一个指标模板--在它的中间某处--你可以找到它,然后用它做你想做的事。查一查吧。我还写道,很多时候人们对正在发生的事情感兴趣,所以我决定做一个指标模板,并把它放在这个主题中。
关于交易、自动交易系统和策略测试的论坛
新手对MQL4的任何问题,对算法和代码的帮助和讨论
Andrei Novichkov, 2018.10.17 22:06
在每次调用OnCalculate时,你都有一个for循环,用于搜索从1到rate_total的数据,也就是说,做同样的工作。这当然是一件坏事。
如果你说它不好,请告诉我如何做好它。你想把计算转移到OnInit吗?
关于交易、自动交易系统和策略测试的论坛
对MQL4新手的任何问题,对算法和代码的帮助和讨论
Artyom Trishkin, 2018.10.17 22:10
你知道,我直接在这个分支中--在它中间的某个地方,附加了一个指标模板--你可以找到它,并直接从它做你想做的事。查一查吧。我写道,很多人对它的工作方式感兴趣,我决定做一个指标模板,并把它放在这个主题里。
搜索 "指标模板 "和你的名字并没有找到任何东西,在这里已经写了《战争与和平》一卷。
我想到了帖子中的任何词语组合。
使得ClassName* className[],然后对其进行ArrayResize,但不给无效的指针 访问的方法
如何创建一个类实例的数组?
使得ClassName* className[],然后对其进行ArrayResize,但不给无效的指针 访问的方法
在CArrayObj 中有一个例子