新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 242 1...235236237238239240241242243244245246247248249...1953 新评论 Artyom Trishkin 2017.06.29 21:27 #2411 Youri Lazurenko:我无法解决一个看似简单的问题。在图表的某个地方,有一个MA交叉点。我们在穿越后找到一个酒吧。我如何计算从该栏到当前栏的栏数? 该特定酒吧的编号。不是吗? Youri Lazurenko 2017.06.30 05:14 #2412 Youri Lazurenko:我无法解决一个看似简单的问题。在图表的某个地方,有一个MA交叉点。我们在穿越后找到一个酒吧。我如何计算从这个柱子到当前柱子的数量?似乎已经完成了(至少屏幕上的注释是正确的)。感谢"条数",我想我已经找到了解决办法。我使用iTime函数来确定所需条形图的日期时间。草图看起来是这样的。空白的OnTick(){int nBarsUp, nBarsDn;datetime date_dn = iTime(NULL, 0, IntersectionDN())。datetime date_up = iTime(NULL, 0, IntersectionUp())。datetime date_1 = iTime(NULL, 0, 1);nBarsUp = Bars(Symbol(), 0, date_up, date_1);nBarsDn = Bars(Symbol(), 0, date_dn, date_1);Comment("Number of long bars: " + nBarsUp + "\n "+ "Number of short bars: " + nBarsUp + "\n")"短柱的数量:" + nBarsDn)。}//+------------------------------------------------------------------+int IntersectionDN(){for(int i = 0; i < 36; i++){如果(iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i) > iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i)&& iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i-1) < iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i-1) )return(i-1);}返回(-1)。}交叉点上升(){for(int i = 0; i < 36; i++){如果(iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i) < iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i)&& iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i-1) > iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i-1)return(i-1);}返回(-1)。} Any questions from newcomers Central Moving Average signals from other currency Artyom Trishkin 2017.06.30 05:22 #2413 Youri Lazurenko: 似乎已经成功了(至少屏幕上的评论是正确的)。感谢"条数",我想我已经找到了一个解决方案。我使用iTime函数来确定所需酒吧的日期时间。草图看起来是这样的。void OnTick() { int nBarsUp, nBarsDn; datetime date_dn = iTime(NULL, 0, IntersectionDN()); datetime date_up = iTime(NULL, 0, IntersectionUp()); datetime date_1 = iTime(NULL, 0, 1); nBarsUp = Bars(Symbol(), 0, date_up, date_1); nBarsDn = Bars(Symbol(), 0, date_dn, date_1); Comment("Количество длинных баров: " + nBarsUp + "\n"+ "Количество коротких баров: " + nBarsDn); } //+------------------------------------------------------------------+ int IntersectionDN() { for(int i = 0; i < 36; i++) { if(iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i) > iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i) && iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i-1) < iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i-1)) return(i-1); } return(-1); } int IntersectionUp() { for(int i = 0; i < 36; i++) { if(iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i) < iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i) && iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i-1) > iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i-1)) return(i-1); } return(-1); }你要找的是循环中的一个交叉点。并从零条深入到历史。所以你的函数IntersectionXX()返回酒吧的编号。这一切是为了什么?int nBarsUp, nBarsDn; datetime date_dn = iTime(NULL, 0, IntersectionDN()); datetime date_up = iTime(NULL, 0, IntersectionUp()); datetime date_1 = iTime(NULL, 0, 1); nBarsUp = Bars(Symbol(), 0, date_up, date_1); nBarsDn = Bars(Symbol(), 0, date_dn, date_1); Youri Lazurenko 2017.06.30 07:12 #2414 Artyom Trishkin:你要找的是循环中的一个交叉点。而从零条到故事的底部。所以IntersectionXX()返回条形图的编号。这一切是为了什么?酒吧号码,是的。但我需要知道条数--从历史深处的这个条到零条。简而言之,我需要从MA开始的条形坡度的角度。但由于它不能像我看来的那样计算(垂直线上的价格和水平线上的柱状物彼此之间有一定的距离,它们是不相容的值)。曾几何时,论坛上有人建议引入一个系数--价格的差异除以条数。这个想法在我看来是合理的。我想把它付诸实践,但因为我自己是个哑巴,所以我试着找到一些东西,通过试验和错误来自己尝试。 P.S. 如何在MQL4中插入代码(像你的一样,不像我的)? [删除] 2017.06.30 07:37 #2415 有没有人知道如何处理这个问题?更换TF后,面板被扭曲了 Artyom Trishkin 2017.06.30 07:48 #2416 Youri Lazurenko: 酒吧的数量,是的。但我需要知道条数--从故事后面的这个什么条到第0条。简而言之,我需要酒吧与MA的角度。但由于无法计算,在我看来(垂直线上的价格和水平线上的柱状物彼此之间有一定距离,它们是不相容的数值)。曾几何时,论坛上有人建议引入一个系数--价格的差异除以条数。这个想法在我看来是合理的。我想把它付诸实践,但作为一个哑巴,我试图找到一些东西,通过试错来尝试自己。 P.S. 如何在MQL4中插入代码(你的方式,不是我的方式)? 如果这是第十条,我怎么知道第十条和零条之间的区别?10-0=10那么减法是为了什么呢? Jenya77769 2017.06.30 07:50 #2417 你好!两个负数q和w 的比较 是不正确的,当它们相等时,if运算符认为一个比另一个大.错误是什么?当q=-0.0002,w也是-0.0002,res12=false,为什么? Jenya77769 2017.06.30 07:51 #2418 你好!两个负数q和w 的比较 是不正确的,当它们相等时,if运算符认为一个比另一个大.错误是什么?当q=-0.0002,w也是-0.0002,res12=false,为什么?static bool res12=true; start() { double SPREAD=MarketInfo(Symb,MODE_SPREAD);// Спред double q=High[0]-3.0*Point-High[1]; double w=-SPREAD*Point; if (New_Bar==true&&ticket1<=0) { if(q>w) { res12=false; Alert("res12=false"); Alert (q); Alert (w); } } if (New_Bar==true&&ticket1<=0) { if(q<=w) { res12=true; Alert("res12=true"); Alert (q); Alert (w); } } } Vyacheslav Kornev 2017.06.30 08:00 #2419 Jenya77769:你好!两个负数q和w 的比较 是不正确的,当它们相等时,if运算符认为一个比另一个大.错误是什么?当q=-0.0002,w也是-0.0002,res12=false,为什么?我认为我们需要规范化,就是这样,如果不规范化,你就不能把双打互相比较。 如果NormalizeDouble (q<=w) Jenya77769 2017.06.30 08:05 #2420 Vyacheslav Kornev: 我想我需要归一化,就这样了,因为不归一化就不可能比较它们之间的双倍。谢谢,它起作用了,但我把q和w分别归一化了!if(NormalizeDouble(q,4)> NormalizeDouble(q,4)) 1...235236237238239240241242243244245246247248249...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我无法解决一个看似简单的问题。在图表的某个地方,有一个MA交叉点。我们在穿越后找到一个酒吧。我如何计算从该栏到当前栏的栏数?
我无法解决一个看似简单的问题。在图表的某个地方,有一个MA交叉点。我们在穿越后找到一个酒吧。我如何计算从这个柱子到当前柱子的数量?
似乎已经完成了(至少屏幕上的注释是正确的)。感谢"条数",我想我已经找到了解决办法。我使用iTime函数来确定所需条形图的日期时间。草图看起来是这样的。
空白的OnTick()
{
int nBarsUp, nBarsDn;
datetime date_dn = iTime(NULL, 0, IntersectionDN())。
datetime date_up = iTime(NULL, 0, IntersectionUp())。
datetime date_1 = iTime(NULL, 0, 1);
nBarsUp = Bars(Symbol(), 0, date_up, date_1);
nBarsDn = Bars(Symbol(), 0, date_dn, date_1);
Comment("Number of long bars: " + nBarsUp + "\n "+ "Number of short bars: " + nBarsUp + "\n")
"短柱的数量:" + nBarsDn)。
}
//+------------------------------------------------------------------+
int IntersectionDN()
{
for(int i = 0; i < 36; i++)
{
如果(iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i) > iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i)
&& iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i-1) < iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i-1) )
return(i-1);
}
返回(-1)。
}
交叉点上升()
{
for(int i = 0; i < 36; i++)
{
如果(iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i) < iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i)
&& iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i-1) > iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i-1)
return(i-1);
}
返回(-1)。
}
似乎已经成功了(至少屏幕上的评论是正确的)。感谢"条数",我想我已经找到了一个解决方案。我使用iTime函数来确定所需酒吧的日期时间。草图看起来是这样的。
你要找的是循环中的一个交叉点。并从零条深入到历史。所以你的函数IntersectionXX()返回酒吧的编号。
这一切是为了什么?
你要找的是循环中的一个交叉点。而从零条到故事的底部。所以IntersectionXX()返回条形图的编号。
这一切是为了什么?
酒吧号码,是的。但我需要知道条数--从历史深处的这个条到零条。简而言之,我需要从MA开始的条形坡度的角度。但由于它不能像我看来的那样计算(垂直线上的价格和水平线上的柱状物彼此之间有一定的距离,它们是不相容的值)。曾几何时,论坛上有人建议引入一个系数--价格的差异除以条数。这个想法在我看来是合理的。我想把它付诸实践,但因为我自己是个哑巴,所以我试着找到一些东西,通过试验和错误来自己尝试。
P.S. 如何在MQL4中插入代码(像你的一样,不像我的)?有没有人知道如何处理这个问题?
更换TF后,面板被扭曲了
酒吧的数量,是的。但我需要知道条数--从故事后面的这个什么条到第0条。简而言之,我需要酒吧与MA的角度。但由于无法计算,在我看来(垂直线上的价格和水平线上的柱状物彼此之间有一定距离,它们是不相容的数值)。曾几何时,论坛上有人建议引入一个系数--价格的差异除以条数。这个想法在我看来是合理的。我想把它付诸实践,但作为一个哑巴,我试图找到一些东西,通过试错来尝试自己。
P.S. 如何在MQL4中插入代码(你的方式,不是我的方式)?你好!两个负数q和w 的比较 是不正确的,当它们相等时,if运算符认为一个比另一个大.错误是什么?当q=-0.0002,w也是-0.0002,res12=false,为什么?
你好!两个负数q和w 的比较 是不正确的,当它们相等时,if运算符认为一个比另一个大.错误是什么?当q=-0.0002,w也是-0.0002,res12=false,为什么?
你好!两个负数q和w 的比较 是不正确的,当它们相等时,if运算符认为一个比另一个大.错误是什么?当q=-0.0002,w也是-0.0002,res12=false,为什么?
我认为我们需要规范化,就是这样,如果不规范化,你就不能把双打互相比较。
如果NormalizeDouble (q<=w)我想我需要归一化,就这样了,因为不归一化就不可能比较它们之间的双倍。
谢谢,它起作用了,但我把q和w分别归一化了!