新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 815

 
Igor Makanu:

我们一定是在谈论这个例子。

不,完全不是,在此之前,在Ordersend()中,值是由同一个变量设置的。即使在打印出来的文件中,也是完全一样的。

 
Andrey Sokolov:

不,不仅如此,在这之前,在Ordersend()中,值是由同一个变量设置的。甚至打印输出也完全一样。

在我看来,Print() 并不总是准确地输出所有的双数,我不知道原因是什么

但是,对于我们的观点--在向服务器发送止损和止盈之前将其规范化,这在帮助中写到了,我认为这是正确的。

 
Igor Makanu:

我认为Print()并不总是准确地输出所有的双数,我不知道原因是什么

但是,对于我们的观点--在将止损和止盈发送到服务器之前,将其规范化,这在帮助中写到了,我认为这是对的。

该变量来自于一个规范化的表达式
 
Andrey Sokolov:
该变量来自于归一化表达

我在这里没有看到)),在OrderSend()中,当把它发送到服务器时,要把值规范化--那里没有选项,规范化的值肯定会被发送到服务器。

 
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious && 
         MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious)


这是标准的MACD(正如你已经意识到的)

请告诉我这一行MathAbs(MacdCurrent)>(MACDOpenLevel*Point)是什么意思

什么是MathAbs(MACDOpenLevel*Point)?

 
Maxim Kuznetsov:

将文本旋转30-40度。然后,标签将保持可读性,但它们将减少重叠的次数。

增加 "乘法"--当鼠标指针在会话中时,在大小和颜色上突出显示价格。

之前的代码是很远的,虽然发现了一个小的转度,是的,现在我想做一个水平和垂直移动的价格和代码强调不工作,为什么不知道?

objname = session + " Session Low label";

ObjectCreate(objname,OBJ_TEXT, 0, time2 - 1800, price1)。

ObjectSet(objname, OBJPROP_BACK, false)。

ObjectSet(objname,OBJPROP_XDISTANCE, 477)。

ObjectSet(objname, OBJPROP_YDISTANCE, 91)。

ObjectSetText(objname, DoubleToStr(price1, Digits), 9, "Tahoma", Lime)。

ObjectSet(objname, OBJPROP_ANGLE,-41)。

而什么是 "乘法"。
 
请简要介绍一下报价平滑算法,它们是什么?
 

有一个问题,可能没有答案:所以,看,有某种意识形态的写作表达,一直在重复,例如。

if(Tdk>Odk) flag=true; 有一个完全相反的符号表达式,但有相同的意识形态 if(Tdk<Odk) flag=true; 在这两种情况下,都涉及相同的代码 if(Tdk Odk) flag=true; 将符号>改为这个<,如果我们可以通过逻辑条件保存符号到变量,那就很酷了。

if(p==2)保存符号>,if(p==1)保存符号<,并在值if(Tdk sign Odk)之间替换,最终不需要使用这个条目2次,在有相同意识形态的长表达式中会非常方便,我们可以把这个东西放在一个函数中,减少代码量。这样的事情有可能吗?

 
Seric29:

有一个问题,可能没有答案:所以,看,有某种意识形态的写作表达,一直在重复,例如。

if(Tdk>Odk) flag=true; 有一个完全相反的符号表达式,但有相同的意识形态 if(Tdk<Odk) flag=true; 在这两种情况下,都涉及相同的代码 if(Tdk Odk) flag=true; 将符号>改为这个<,如果我们可以通过逻辑条件保存符号到变量,那就很酷了。

if(p==2)保存符号>,if(p==1)保存符号<,并在值if(Tdk sign Odk)之间替换,最终不需要使用这个条目2次,在有相同意识形态的长表达式中会非常方便,我们可以把这个东西放在一个函数中,减少代码量。这样的事情有可能吗?

是的。

阅读@fxsaber 的代码。

在此阅读更多内容

LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
  • www.mql5.com
— В чем сила, брат?                                   —А сила, брат, в дефайнах                     Вы все ещё пишете на MQL4 и хотите перейти на MQL5, но не знаете с чего начать? Тогда мы идём к вам! Теперь появилась возможность комфортно работать в редакторе MetaEditor MQL5 и при этом использовать MQL4-нотацию (справедливости ради замечу...
 
Seric29:

有一个问题,可能没有答案:所以,看,有某种意识形态的写作表达,一直在重复,例如。

if(Tdk>Odk) flag=true; 有一个完全相反的符号表达式,但有相同的意识形态 if(Tdk<Odk) flag=true; 在这两种情况下,都涉及相同的代码 if(Tdk Odk) flag=true; 将符号>改为这个<,如果我们可以通过逻辑条件保存符号到变量,那就很酷了。

if(p==2)保存符号>,if(p==1)保存符号<,并在值if(Tdk sign Odk)之间替换,最终不需要使用这个条目2次,在有相同意识形态的长表达式中会非常方便,我们可以把这个东西放在一个函数中,减少代码量。这样的事情有可能吗?

那么,就给自己写一个比较函数/模板吧

if (Compare3(Tdk,Odk)==GREATER_THEN) { flag=true; do_something(); }

原因: