[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 343

 
hoz:

两边都有一叠挂单。如果任何一个挂单被触发,那么在另一边,最外层的挂单被删除。在截图中,我展示了如果买入订单被触发,最外层的空单被删除会发生什么。

如果有一个仓位被触发,我已经做了。但如果不是一个而是三个同时触发呢?也就是说,我应该以某种方式估计被触发的挂单数量并关闭相反信号的挂单。

什么是最好的方法?也许,有人已经实现了这个观点?我没有决定将这个问题发布到一个单独的分支。 也许,对于那些更了解这一点的人来说,这将是非常简单的。

如果我们只需要删除最低的一个头寸,我们可以在循环中找到一个以最低价格开出的头寸并将其删除,但如果有几个头寸,我们应该怎么做?我很想听听那些已经有订单网格经验的人的意见。

维克多,当最底层的那个被删除时,下一个已经成为最底层的那个也会被同样的条件删除。对你来说很快,但对项目来说,最主要的是不在同一个刻度上,但这也没关系试试吧!
 

这里有一个问题--有人在不同的处理器上测试过MT-5测试器的速度吗?

如果有,请给我一个链接。或者至少告诉我,在速度方面,AMD和INTEL的顶级处理器哪个更好?

当然,我们谈论的是台式机,而不是笔记本电脑或超级计算机。:-)

 
DruZhban:

这里有一个问题--有人在MT-5测试仪上对不同的处理器做了任何速度测试吗?

如果有,请给我一个链接。或者至少告诉我,在速度方面,AMD和INTEL的顶级处理器哪个更好?

当然,我们谈论的是台式机,而不是笔记本电脑或超级计算机。:-)


关于五的一切都在这里:https://www.mql5.com/ru/forum
 
borilunad:
维克多,当低的那个被删除后,下一个已经成为最低级的那个也会被同样的条件删除。迅速是为了你;对于程序来说,最重要的是不在同一个刻度上,但这也是可以的!试试吧!


鲍里斯,那是可以理解的。我刚才在想这个问题。我想我们必须做一个从0 到存储触发订单值的变量 的循环,并运行寻找所需订单的功能,然后在循环的每一次传递中关闭它。我不知道如何解决这个程序在当前时刻被执行的问题。

顺便说一下,最好是使用标准搜索功能搜索最极端的订单,然后将订单开仓时间 和价格的值传递给平仓的功能,对吗?

 
hoz:

两边都有一叠挂单。如果任何一个挂单被触发,那么在另一边,最外层的挂单被删除。在截图中,我展示了如果买入订单被触发,最外层的空单被删除会发生什么。

如果有一个仓位被触发,我已经做了。但如果不是一个而是三个同时触发呢?也就是说,我应该以某种方式估计被触发的挂单数量并关闭相反信号的挂单。

什么是最好的方法?也许,有人已经实现了这个观点?我没有决定将这个问题发布到一个单独的分支。 也许,对于那些更了解这一点的人来说,这将是非常简单的。

如果我们只需要删除最低的一个头寸,我们可以在循环中找到一个以最低价格开出的头寸并将其删除,但如果有几个头寸,我们应该怎么做?好吧,我很想听听那些有处理订单网格经验的人的意见。


如果我没有弄错的话,我是想借助一些挂单的对子来做一个好的动作。

删除算法 :

1)在开放的职位列表中挖掘,并写下(记住)他们的槽位。

2)在已设定的挂单列表中查看,并从姿势列表中检查出匹配的 "慢",如果它们匹配 - 删除挂单。

而且不再有痛苦。

例如,如果你是一个老程序员,或者你对编码一无所知,或者用不同的方式做所有事情太时髦了???? а ?

 
这里是源指标,请帮助输出值(例如通过评论)(数字)等于每个指标的实时价格(我知道icustom,但我不能理解必须指定什么参数才能输出准确的值,然后输出0,然后数字超过200万)。
附加的文件:
zigzag.zip  4 kb
 
DruZhban:

这里有一个问题--有人在不同的处理器上测试过MT-5测试器的速度吗?

如果有,请给我一个链接。或者至少告诉我,在速度方面,AMD和INTEL的顶级处理器哪个更好?

当然,我们谈论的是台式机,而不是笔记本电脑或超级计算机。:-)



在5号机上使用云端进行测试,忘记你的处理器,即使它是多核和快速的。真正加快了许多倍的速度。但你必须支付一分钱。事实上,这里在某些时候已经有了一个讨论
 

大家好!

我的问题似乎很简单,但我挖遍了所有的文章,却找不到答案--return(-1)运算符 是如何工作的?它把控制权传给了哪里?例如,在这个代码中。

int start()
{
    //---- Запоминаем значения индикатора для дальнейшего анализа
    //---- Обратите внимание - используем 1-й и 2-й бары. Это даёт задержку в 1 бар 
    //---- (т.е. сигнал появится позже), но защищает от многочисленных открытий и закрытий
    //---- позиций в течении бара
    double MACD_1 = iMACD( Symbol(), 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 1 );
    double MACD_2 = iMACD( Symbol(), 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 2 );
 
    int _GetLastError = 0, _OrdersTotal = OrdersTotal();
    //---- перебираем все открытые позиции
    for ( int z = _OrdersTotal - 1; z >= 0; z -- )
    {
        //---- если при выборе позиции возникла ошибка, переходим к следующей
        if ( !OrderSelect( z, SELECT_BY_POS ) )
        {
            _GetLastError = GetLastError();
            Print( "OrderSelect( ", z, ", SELECT_BY_POS ) - Error #", _GetLastError );
            continue;
        }
 
        //---- если позиция открыта не по текущему инструменту, пропускаем её
        if ( OrderSymbol() != Symbol() ) continue;
 
        //---- если MagicNumber не равен _MagicNumber, пропускаем эту позицию
        if ( OrderMagicNumber() != _MagicNumber ) continue;
 
        //---- если открыта БАЙ-позиция,
        if ( OrderType() == OP_BUY )
        {
            //---- если МАКД пересёк 0-ю линию вниз,
            if ( NormalizeDouble( MACD_1, Digits + 1 ) <  0.0 && 
                  NormalizeDouble( MACD_2, Digits + 1 ) >= 0.0    )
            {
                //---- закрываем позицию
                if ( !OrderClose( OrderTicket(), OrderLots(), Bid, 5, Green ) )
                {
                    _GetLastError = GetLastError();
                    Alert( "Ошибка OrderClose № ", _GetLastError );
                    return(-1);
                }
            }
            //---- если сигнал не изменился, выходим - пока рано открывать новую позицию 

else return(0);

在括号里有零,没有括号,一切似乎都很清楚。但是(-1)呢?

谢谢你的答复。:)

 
hoz:


鲍里斯,这很有道理。我刚才在想这个问题。我认为我们应该从0 开始循环到一个 存储触发订单值的变量,并运行搜索所需订单的函数,然后在循环的每次迭代中关闭它。但我不太清楚如何解决目前执行的这个程序。

而且,顺便说一下,最好是用标准搜索功能搜索最极端的订单,然后将开仓时间值和价格传给函数,以关闭订单,对吗?

维克多,我的意思是当挂单被删除时,它已经在历史中了,而当另一个头寸被打开时,另一个挂单也被同样的条件删除了,因为我们检查的是我们拥有的头寸!以及它是如何工作的,请翻看日志!然后你就会知道它是对还是错了!
 
大家好。这是一个严重而紧迫的问题,我在互联网上找遍了所有的资料,正如他们所说的那样...我决定长期使用MT4,我已经用了3天了。我试着用了一段时间,在我看来,这是第一次,我不明白发生了什么事。我想,这没什么大不了的,但突然间我去了MT,我看到4个H4图表,有一个新的系统,我看到错误的价格,我与StartFX 2比较,我打开时间框架H1和D1,我等...我已经等了一个小时,它将逐年更新,但它不会这样做。"好吧,重新安装就可以了" - 你说,我会告诉你 "去他妈的"。"所以从谁知道的网站上下载一些软件更新的指标"--你问,我会告诉你 "去它的两次"。我真的想继续赚钱,用1来扼杀计算机的帮助,然后我们会看到:-)