int fun(double ch)
{
int i = 0;
double res = 0, ostatok = fmod(ch, 1);
while(ostatok != 0 && i < 16) // число взято от фонаря для прерывания зацикленности
{
res = ostatok * 10;
ostatok = NormalizeDouble(fmod(res, 1), 8); // Вроде 8 максимально
i++;
}
return(i);
}/*******************************************************************/
我不明白答案在哪里。我是说这个。"该功能集成了每0.1秒对专家顾问的停止标志状态的检查"?如果是这样,如何才能去除这个标志?
不,如果你读到最后,你会看到这个问题的答案。
注意事项
Sleep()函数不能从自定义指标中调用,因为指标是在界面线程中执行的,不能拖累它。该功能每隔0.1秒对专家的停止标志状态进行一次嵌入式检查。策略测试器中 的Sleep()函数并没有造成任何延迟。
首先把这个粘在指标的末端。一旦你看到屏幕上的标记,就想办法把你想要的东西放进去。 在这里你会得到建议,但你必须自己去做。
int Number=25。
如果(H==H1&&H1==H2)
{if(J == true) {ObjectCreate(PatternText[shift],
OBJ_TEXT, 0, Time[shift1], High[shift1] + Range*5)。
ObjectSetText(PatternText[shift], "pattern", 10, "Arial", Red);
downArrow[shift1] = High[shift1] + Range*0.5;}if(setalert == 0 && Alert == true) {pattern = "pattern"; setalert = 1;}}
如果(ObjectFind(0, "Text")<0) // 检查输出标签
{
ObjectCreate("Text",OBJ_LABEL, 0, 0, 0); // 创建
ObjectSet("Text", OBJPROP_CORNER, 1); // 右上角。
ObjectSet("Text", OBJPROP_XDISTANCE, 10); //X
ObjectSet("Text", OBJPROP_YDISTANCE, 10); //Y
}
ObjectSetText("Text", string(number), 14, "Arial",Black); // Output to label
}
return(0);
}
这个问题更容易解决。
StringLen("tickEURUSD")
有了它当然更容易....也许它当时失踪了,或者丢失了......。在我最喜欢的TurboPascal中肯定缺少这个东西。我曾做过对数乘法。
在切换到更新的mql4之后,有一段时间,文档中出现了一个错误。点击MathLog10 打开MathLog帮助
我给servicedesk写过信,但他们修复了一半,留下了另一半......
log(10)确实不是1,但mql没有十进制对数的事实让我感到惊讶...
那么是什么呢?https://docs.mql4.com/ru/math/mathlog10,虽然文中有一个错误。
这个问题更容易解决。
我从最后一个帖子中直接回答。
什么是对数我明白了,我不明白它在那个代码里是干什么用的,但经过你和那个同志的通信,我明白了,它是用于小数位的,对吗?
难道不能以其他方式进行吗?为什么我在代码中需要它(int)?为什么你的方法比我提供的线路好?)
非常感谢)
我从最后一个帖子中直接回答。
我明白什么是对数,我不明白那段代码中的原因,但经过你和那位同志的通信,我明白了,它是用来确定小数点后的数字的,对吗?
难道不能以其他方式进行吗?为什么在代码(int) 中这样写?为什么你的方法比我提供的线路好?)
非常感谢)
是的,以确定小数点后 的数字。如果批量是由一些公式定义的,并且结果可能有更多的小数位,则需要对批量值进行标准化。在某些情况下,你可能只放一个两点,但这样你可能会遇到错误,所以最好以编程方式定义。
还有另一种方法可以做到这一点。有两种方法解决这个问题,一种是将数字转换成字符串,定义字符串长度,找到点字符的索引,字符串长度和点字符的索引之间的差值将被评估为数字的小数部分。而在mql5论坛上,你可以找到几种变体,有些更薄,有些更容易。
这里还有一个变体。
该函数定义了绝对任何数字的小数位数。
这个算法简单得令人发指,我们应该考虑除以1的残余物有多少次会大于0。
我并没有说我的方法更好。每个程序员都按照他看到的问题解决方案来写。
双数类型的数字,即使它的小数部分没有有效数字,也像,例如,2.0,这是不太正确的,为了得到一个正常的整数,它被隐式转换为int类型。
注意事项
Sleep()函数不能从自定义指标中调用,因为指标是在界面线程中执行的,不能拖累它。该函数每0.1秒对专家的停止标志状态进行一次嵌入式检查。策略测试器中 的Sleep()函数并没有造成任何延迟。
每个人都是如此聪明,以至于看着他们就觉得很可怕。我写道,在策略测试器中,滑点被忽略了(这很清楚),但所有的头寸都是按照我的规定开放的。但在演示滑块上却不起作用,只开了一个头寸,而且立即关闭。这是我无法解决的问题。