if (bay_min == true) datetime T=Time[0] //сработал сигнал на покупку запоминаем время бараif(iBarShift(NULL,0,T)==2) //по времени, сигнал был на 2 баре
{
if (Open[1]<Close[1] && Open[2]<Close[2] ) //и эти бары бичьи
{
// что-то делаем
}
}
// я думаю, как-то так.
目前,任务如下:fastMa 已经向上越过了slowMa......。所以我们正在寻找购买的地方。然后我们等待价格,即Ask(因为我们考虑买入)达到fastMa( 嗯,我想不会有准确的值,我们需要+-一些偏差,这由i_thresholdFromMa 改变),一旦价格达到fastMa +- i_thresholdFromMa ,专家顾问应该在(fastMa + buyHear * pt) 设置BUYSTOP 。
我想出的办法在一个终端中不起作用,在另一个终端中也不一定起作用。总的来说是有问题的。
这里是buyHear函数的最后一个变体。
以下是输入参数。在截图上可以看到错误(在OrderSend()中,价格被送入红色魔杖上方,而截图上看到的订单低于....)。
已经离开几天了...我想知道--同样的参数,在图表上抛出的魔杖是否与计算中使用的魔杖一样?也许那就是狗被埋葬的地方?
(我仍然没有时间深入研究代码并把它拆开)。
我会做一个函数,比如说。
并调用它来获得参数
你好,能否请你指点迷津?买入的指标信号已经触发,我只有在确认接下来的两根蜡烛向上时才会开单。
你好,能否请你指点迷津?一个指标信号触发了买入,我只有在确认接下来的两根蜡烛向上时才开单。
所以要检查最后两根蜡烛的涨幅和两个柱子前的开单条件,同时要检查。
因此,请检查最后两个蜡烛图,以及同时在两个柱子后面开立订单的条件。
我如何做呢?
如果是这样,信号被触发后等待确认,只有在一个柱状物上升或下降2个柱状物后才会触发。
我们需要它记住信号上的条形图,信号后的条形图,比较它们是否是上升或下降的,然后.....
我如何做呢?
如果信号起作用,我们就等待确认,但在条形图上升或下降之后。
它应该记住信号上的条形,信号后的条形,比较它们是上升还是下降,然后.....。
我如何做呢?
如果信号起作用,我们就等待确认,但在条形图上升或下降之后。
它应该记住信号上的条形,信号后的条形,比较它们是上升还是下降,然后.....。
我正在编写一个简单的专家顾问,遇到了很多问题。
条件是
我记住了当前条形图的收盘价,并将其输入到变量Startprice中,如果前4个条形图是在滑动条形图中。
如果条件得到满足,那么就画一个图标,显示该条的收盘价,即Startprice。
我得到的结果是,图标被画出来了,但只有一次,而我每次都需要它。
在0.00001处,条形图的收盘价与Startprice的价格不一致。 为什么,我该如何解决?
试过四舍五入和修剪到5位数都没有帮助(
在日志中使用打印我称之为Startprice的值,只显示4位数以下的数字。
如何实现与终端的数据窗口中一样的精度?
这个小数点的问题也适用于滑块本身。如果你通过打印调用它的值,你就不能在日志中得到超过4位数的数据。
使用DoubleToStr(number, Digits)进行输出。你可以写出你想要的精确度,而不是Digits。在图标名称中加入你要设置图标的时间吧。
如果是这样
它不工作,它责备'='--不兼容的类型 C:\fortest\experts\sve.mq4 (34, 14)
我怎样才能正确书写?
谢谢你的答复,我已经为这个问题纠结了一个星期了 )
使用DoubleToStr(number, Digits)。而不是数字,你可以输入你想要的精度。在你设置图标的地方,将条形时间加入图标的名称中。
但对于输出,我理解打印机只打印4位或更少的数字。
那么如果打印(DoubleToStr(Startprice,5)); //打印 Startprice
它给出了5。
但这里是如何添加酒吧的时间。
这一行并没有加上酒吧的时间?