void Fun_New_Bar() // Ф-ия обнаружения ..
{ // .. нового бараstatic datetime New_Time=0; // Время текущего бара
New_Bar=false; // Нового бара нетif(New_Time!=Time[0]) // Сравниваем время
{
New_Time=Time[0]; // Теперь время такое
New_Bar=true; // Поймался новый бар
}
}
NewBar()被调用;但如果你看得够久,你就不会让事情变得更糟:)
newbarhttps://book.mql4.com/ru/variables/arrays
从概念上讲,这没有什么不同。
newbarhttps://book.mql4.com/ru/variables/arrays
从概念上讲,这没有什么不同。
在概念上不是,但它不会工作--对此很抱歉。
我不会在这里玩双倍类型的变量!你需要更多的内存!;)))
而当int类型转换 为目标类型double时,我的理解是,小数点后不会有额外的数字?我个人没有遇到过这种情况。但这是值得一问的。
概念上--没有什么,但它不会工作,对不起。
你引用的那个会错过一些酒吧。
你引用的那个会错过一些酒吧。
提出你自己的变体,并解释为什么它更好。到目前为止,这只是说说而已。
1.缺少的部分将是,因为 double==int 的比较结果取决于之前放在 double 中的特定 int 值。这正是这里发生的情况:时间(int)被写成了double--对于所有不是二度的数字,都有精度损失,这导致double3 != int3,尽管double4 == int4。
2.我理解,这只是某人的技术错误,然后反复传播。实际上,你应该把OpenBar的类型改成数据时间或int。但是--心灵的沉睡催生了怪物:只需重复别人的代码并闭上眼睛就更容易了 :)
3.在内存分配方面,不正确的解决方案:这里有一个局部静态变量就足够了,额外的全局变量 是无用的--软件垃圾,虽然是小事一桩 :(
1.缺少的部分将是,因为 double==int 的比较结果取决于之前放在 double 中的特定 int 值。这正是这里发生的情况:时间(int)被写成了double--对于所有不是二度的数字,都有精度损失,这导致double3 != int3,尽管double4 == int4。
2.我理解,这只是某人的技术错误,然后反复传播。事实上,你应该把OpenBar的类型固定在双倍上。但是,理性的睡眠滋生了野兽:只要重复别人的代码,闭上眼睛就更容易了 :)
3.在内存分配方面,不正确的解决方案:在这里,一个局部静态变量就足够了,额外的全局变量是无用的--程序垃圾,虽然是小事一桩:(
仍有一些代码需要引证。我只是厌倦了在五页之后重复同样的事情。特别是由于正确的解决方案很容易通过搜索找到
大家好!
关于EA的问题。翻阅大量的EA,我想了解交易是如何自动进行的。我认为我的设置都是正确的,我允许专家顾问进行交易,我也理解它的想法,但由于某些原因没有交易。也许,它是适用于某个符号的?或者一个时间框架?我怎么才能知道呢?