新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 777 1...770771772773774775776777778779780781782783784...1953 新评论 volyal 2019.03.04 22:58 #7761 不,它不会一直鸣叫,当>=时,它是 "阵列超出范围"。为什么? 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[]) { //--- if(rates_total<2) return(0); { int limit=rates_total-prev_calculated; if(limit>1) { ArrayInitialize(BufferUP,EMPTY_VALUE); ArrayInitialize(BufferDN,EMPTY_VALUE); } for(int i=limit; i>=0; i--) { if(TimeCurrent()>=Input1 || TimeCurrent()>=Input2 || TimeCurrent()>=Input3) { BufferUP[i]=low[i]-10*Point;// в этой строке array out of range in 'a1.mq4' (75,28) Alert("__",TimeCurrent()); } } } //--- return value of prev_calculated for next call return(rates_total); } Igor Makanu 2019.03.05 04:25 #7762 volyal: 谢谢你。只是>=是不可能的,会有一个恒定的信号,在第一个日期之后,你需要设置时间范围。如何设置?这是问题的第二部分和答案的第二部分 当信号(警报)触发时,你需要固定信号已经被应用,你需要一个附加条件。 { //--- static bool alerton=true; A=1;B=2; if(rates_total<2) return(0); { int limit=rates_total-prev_calculated; if(limit>1) { ArrayInitialize(BufferUP,EMPTY_VALUE); ArrayInitialize(BufferDN,EMPTY_VALUE); } for(int i=limit; i>=0; i--) { if(alerton) { if(A>B) { if((TimeCurrent()>=Input1 || TimeCurrent()>=Input2 || TimeCurrent()>=Input3)) { BufferUP[i]=low[i]-10*Point; Alert("__",TimeCurrent()); alerton = false; } } } } } //--- return value of prev_calculated for next call return(rates_total); } 你在代码中明确了触发警报的条件。 通常情况下,指标要求每个柱子发出一个信号,那么你需要将柱子的时间 "绑定 "到一个变量上,这个变量将存储警报触发的时间,即我所说的 staticdatetime alerton=0。 搜索准备好的例子,我想你现在会明白的。 Aleksandr Alekseev 2019.03.05 10:39 #7763 Aleksey Vyazmikin:如果很多信号一下子都是一样的,就把它们分组,作为一个整体播放。或者按信号类型收集成数组,慢慢播放 :)将它们分组为一个数组,并在一个单独的脚本中播放它们--这很清楚,与你的第一个提示相对应。但把它作为一个整体来组合和演奏,我不太理解。作为一个音频文件?例如,如何将 如果(Sobitie_1){PlaySound("Symbol.wav"); PlaySound("Sobitie1.wav); PlaySound("Period.wav");}?像PlaySound("Symbol Sobitie1 Period.wav");?在这种情况下,文件数Symbol * Sobitie * Period=3*10*7=210。那就太多了)。此外,回放的信号来自不同的TFs的指标。我还不知道如何把它考虑进去。 Aleksey Vyazmikin 2019.03.05 12:10 #7764 Algus:将其收集在一个数组中,并在一个单独的脚本中播放--根据你的第一个提示,这很清楚。 但要分组并打成一片,我不太明白。作为一个音频文件? 例如,如何将 如果(Sobitie_1){ PlaySound("Symbol.wav")。 PlaySound("Sobitie1.wav")。 PlaySound("Period.wav")。}? As PlaySound("Symbol Sobitie1 Period.wav"); ?在这种情况下,文件数Symbol * Sobitie * Period=3*10*7=210。这是一个很大的问题......)。 此外,回放的信号来自不同TFs的指标。我还不知道如何把它考虑进去。 我说的是信号进来的频率,也就是说,按照我的理解,你有相同和不相同的声音,在播放声音的同时,在一个缓冲区(可以在图形中积累)的队列中进行播放,在播放队列后,分析并丢弃那些在播放文件时出现的声音,并有相同的声音,即本身不承担新的信息。我不知道你的梅洛普风的细节:)。 novichok2018 2019.03.05 14:24 #7765 下午好! 请帮助我解决这个误解。 我设置了一个条件来建立一个头寸。 if(MathAbs(WPR1)<20.0) { if(MathAbs(WPR14)>44.0 && MathAbs(WPR14)<60.0 && op0<cl1) {ps2=true;ps1=false;ps3=false;ps4=false;ps5=false;ps6=false;ps7=false;ps8=false;Alert("условие ps2"); OpenSell();} } 无论我做什么,都没有变化。 我检查了所有有警报的情况,没有发现。怎么了????似乎没有什么问题,旗帜设置了不同级别的TP。但同样,我不需要一个额外的位置。 谢谢你。 novichok2018 2019.03.05 14:27 #7766 novichok2018:下午好! 请帮助我解决这个误解。 我设置了一个条件来建立一个头寸。 无论我做什么,都没有变化。 我检查了所有有警报的情况,没有发现。怎么了????似乎没有什么问题,旗帜设置了不同级别的TP。但仍然不需要一个额外的位置。 谢谢。此外,日志中说,首先打开ps3,然后是ps2。 Alexey Viktorov 2019.03.05 14:38 #7767 novichok2018:下午好! 请帮助我解决这个误解。 我设置了一个条件来建立一个头寸。 无论我做什么,都没有变化。 我检查了所有有警报的情况,没有发现。怎么了????似乎没有什么问题,旗帜设置了不同级别的TP。但同样,我不需要一个额外的位置。 谢谢你。沃夫奇卡从学校回来。爸爸问道。 - 你今天考了多少分? - 我在科学方面得到了 "D"。 - 为什么? - 老师给我看了一只鸟的尾巴,让我猜一猜这是哪种鸟。 这个爸爸去学校,打开教室的门,把他的屁股伸进去。 - 这到底是谁... ...问老师... - 你自己猜猜看。 这正是你的代码...)))) novichok2018 2019.03.05 14:46 #7768 Alexey Viktorov:沃夫奇卡从学校回家。爸爸问道。 - 你今天考了多少分? - 我在科学方面得到了 "D"。 - 为什么? - 老师给你看一只鸟的尾巴,让你猜测它是哪种鸟。 这个爸爸去学校,打开教室的门,把他的屁股伸进去。 - 这到底是谁... ...问老师... - 你自己猜猜看。 这正是你的代码... ))))五年级学生Ljoshenka并不是来帮忙的,而是来捣乱的。 这正是你的答案。 novichok2018 2019.03.05 15:14 #7769 novichok2018:此外,日志中说它先打开ps3,然后是ps2。就是这样,我想明白了。事实证明很简单:在有条件的警报中,ps8 而不是8,有3。而条件8比条件2更宽,在线路上更高。修正了它,缩小了范围,一切都好了。 但你不应该摇尾乞怜,这个话题是为新手准备的。一个没有细节的真正的专家应该明白错误大约在哪里,或者至少提出引导性的问题,否则他根本就不应该回答,而不是炫耀性的伪装。 Aleksandr Alekseev 2019.03.05 15:25 #7770 Aleksey Vyazmikin:我说的是信号进来的频率,也就是说,按照我的理解,你有相同的声音,也有不相同的声音,在播放时,声音被积累在一个缓冲区(你可以在图形中积累)队列中播放,播放后队列分析并丢弃那些在播放文件时来的声音,并且有相同的声音,即不携带新的信息。我不知道你那里有什么样的电唱机的细节:) 有一个指标是站在和所有工作的TFs和货币。我在日内工作,几乎是剥头皮,涉及2-3种工具。我使用声音提醒,不会错过任何事件,我的眼睛在一天结束时不会掉下来。 事实上,有10-14个指标涉及活动中的Windows。事实证明,我们应该把独立工作的不同指标排成一排。 这对终端或其编程来说不是一个简单的任务。 这就是我们得到的那种 "音乐")。 1...770771772773774775776777778779780781782783784...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
不,它不会一直鸣叫,当>=时,它是 "阵列超出范围"。为什么?
谢谢你。只是>=是不可能的,会有一个恒定的信号,在第一个日期之后,你需要设置时间范围。如何设置?
这是问题的第二部分和答案的第二部分
当信号(警报)触发时,你需要固定信号已经被应用,你需要一个附加条件。
你在代码中明确了触发警报的条件。 通常情况下,指标要求每个柱子发出一个信号,那么你需要将柱子的时间 "绑定 "到一个变量上,这个变量将存储警报触发的时间,即我所说的
staticdatetime alerton=0。
搜索准备好的例子,我想你现在会明白的。
如果很多信号一下子都是一样的,就把它们分组,作为一个整体播放。或者按信号类型收集成数组,慢慢播放 :)
将它们分组为一个数组,并在一个单独的脚本中播放它们--这很清楚,与你的第一个提示相对应。
但把它作为一个整体来组合和演奏,我不太理解。作为一个音频文件?
例如,如何将
如果(Sobitie_1){
PlaySound("Symbol.wav");
PlaySound("Sobitie1.wav);
PlaySound("Period.wav");
}?
像PlaySound("Symbol Sobitie1 Period.wav");?在这种情况下,文件数Symbol * Sobitie * Period=3*10*7=210。那就太多了)。
此外,回放的信号来自不同的TFs的指标。我还不知道如何把它考虑进去。
将其收集在一个数组中,并在一个单独的脚本中播放--根据你的第一个提示,这很清楚。
但要分组并打成一片,我不太明白。作为一个音频文件?
例如,如何将
如果(Sobitie_1){
PlaySound("Symbol.wav")。
PlaySound("Sobitie1.wav")。
PlaySound("Period.wav")。
}?
As PlaySound("Symbol Sobitie1 Period.wav"); ?在这种情况下,文件数Symbol * Sobitie * Period=3*10*7=210。这是一个很大的问题......)。
此外,回放的信号来自不同TFs的指标。我还不知道如何把它考虑进去。
我说的是信号进来的频率,也就是说,按照我的理解,你有相同和不相同的声音,在播放声音的同时,在一个缓冲区(可以在图形中积累)的队列中进行播放,在播放队列后,分析并丢弃那些在播放文件时出现的声音,并有相同的声音,即本身不承担新的信息。我不知道你的梅洛普风的细节:)。
下午好!
请帮助我解决这个误解。
我设置了一个条件来建立一个头寸。
无论我做什么,都没有变化。 我检查了所有有警报的情况,没有发现。怎么了????似乎没有什么问题,旗帜设置了不同级别的TP。但同样,我不需要一个额外的位置。
谢谢你。
下午好!
请帮助我解决这个误解。
我设置了一个条件来建立一个头寸。
无论我做什么,都没有变化。 我检查了所有有警报的情况,没有发现。怎么了????似乎没有什么问题,旗帜设置了不同级别的TP。但仍然不需要一个额外的位置。
谢谢。
此外,日志中说,首先打开ps3,然后是ps2。
下午好!
请帮助我解决这个误解。
我设置了一个条件来建立一个头寸。
无论我做什么,都没有变化。 我检查了所有有警报的情况,没有发现。怎么了????似乎没有什么问题,旗帜设置了不同级别的TP。但同样,我不需要一个额外的位置。
谢谢你。
沃夫奇卡从学校回来。爸爸问道。
- 你今天考了多少分?
- 我在科学方面得到了 "D"。
- 为什么?
- 老师给我看了一只鸟的尾巴,让我猜一猜这是哪种鸟。
这个爸爸去学校,打开教室的门,把他的屁股伸进去。
- 这到底是谁...
...问老师...
- 你自己猜猜看。
这正是你的代码...))))
沃夫奇卡从学校回家。爸爸问道。
- 你今天考了多少分?
- 我在科学方面得到了 "D"。
- 为什么?
- 老师给你看一只鸟的尾巴,让你猜测它是哪种鸟。
这个爸爸去学校,打开教室的门,把他的屁股伸进去。
- 这到底是谁...
...问老师...
- 你自己猜猜看。
这正是你的代码... ))))
五年级学生Ljoshenka并不是来帮忙的,而是来捣乱的。
这正是你的答案。
此外,日志中说它先打开ps3,然后是ps2。
就是这样,我想明白了。事实证明很简单:在有条件的警报中,ps8 而不是8,有3。而条件8比条件2更宽,在线路上更高。修正了它,缩小了范围,一切都好了。
但你不应该摇尾乞怜,这个话题是为新手准备的。一个没有细节的真正的专家应该明白错误大约在哪里,或者至少提出引导性的问题,否则他根本就不应该回答,而不是炫耀性的伪装。
我说的是信号进来的频率,也就是说,按照我的理解,你有相同的声音,也有不相同的声音,在播放时,声音被积累在一个缓冲区(你可以在图形中积累)队列中播放,播放后队列分析并丢弃那些在播放文件时来的声音,并且有相同的声音,即不携带新的信息。我不知道你那里有什么样的电唱机的细节:)
有一个指标是站在和所有工作的TFs和货币。我在日内工作,几乎是剥头皮,涉及2-3种工具。我使用声音提醒,不会错过任何事件,我的眼睛在一天结束时不会掉下来。
事实上,有10-14个指标涉及活动中的Windows。事实证明,我们应该把独立工作的不同指标排成一排。 这对终端或其编程来说不是一个简单的任务。
这就是我们得到的那种 "音乐")。