[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 60

[删除]  

artmedia70

那么,当涉及到这个条件时,订单已经结束。

[删除]  

德姆林

嗯,我可以看到它从交易中消失了。

 
demlin:

大家好!

该指标画了一条线,第二天就脱离了条形,挂在一边。当我重新启动指标时,它又能正常绘制。会是什么呢?


指示器是歪的。我们必须重做。
 
Vinin:

指示器是歪的。我们必须重做。
我明白,但问题会是什么呢?
 
Solree:

德姆林

嗯,我可以看到它从交易中消失了。

组织一次对历史上的订单进行搜索如何?当你找到正确的顺序时,你要计算关闭时间
[删除]  

delmin

为了不做这样的事,我用了一张票。一般来说,我们可以重写逻辑(至少,我们可以把返回的OrderClose()值写成bool,然后再检查)。我只是好奇,为什么它不能为一个已关闭的订单返回正确的值,我不想用不必要的动作使程序超载。我希望在你的帮助下:)

 
Solree:

delmin

为了不做这样的事,我用了一张票。实际上,我们可以重写逻辑(至少,我们可以把返回的OrderClose()值写成bool,然后检查它)。我只是好奇,为什么它不能为一个已关闭的订单返回正确的值,我不想用不必要的动作使程序超载。我希望在你的帮助下:)

我已经回答了你的问题:你必须在选择 订单后立即通过票据检查其关闭时间。只有已关闭的订单,它才会高于零。但在你的情况下,关闭时间的检查是在关闭其他订单的区块之后进行的,而你,分别检查其他订单的关闭时间。一般来说,你得到这样全面的答案,你有多少代码显示。
 
demlin:
我明白,但问题会是什么呢?

你需要看一下代码,否则只有心灵感应者可以帮忙
[删除]  
    if (tempWho == 0 && pos != -1)
    {
        if (OrderSelect(pos, SELECT_BY_TICKET))
        {
            if (OrderType() == OP_BUY)
            {
                if (who != 1)
                {
                    while(!OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), 0))
                        Sleep(3000);
                    
                    pos = -1;
                }
            }
            else if (OrderType() == OP_SELL)
            {
                if (who != 2)
                {
                    while(!OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask, Digits), 0))
                        Sleep(3000);
                    
                    pos = -1;
                }
            }
            
            Alert(OrderCloseTime());
            
            if (OrderCloseTime() != 0)
            {
                if (OrderProfit() < 0)
                {
                    if (tempCount != 0)
                    {
                        tempLot += lot;
                        tempCount--;
                    }
                    else
                    {
                        tempLot = lot;
                        tempCount = countLot;
                    }
                }
                else
                {
                    tempLot = lot;
                    tempCount = countLot;
                }
            }
        }
    }

这里是关闭时间检查器做所有事情的块的代码。

什么时候调用这个函数 不重要吗?最主要的是要有一个封闭的订单。还是没有......?

Z.Y.已经把它改为在生产力方面更有利可图。但我还是想知道我在OrderCloseTime()上做错了什么。

 
Solree:

下面是关闭时间检查器做所有事情的那个块的代码。

什么时候调用这个函数不重要吗?最主要的是要有一个封闭的订单。还是没有......?

Z.Y.已经把它改为在生产力方面更有利可图。但我还是想知道我在OrderCloseTime()上做错了什么。

你最好写下你想实现的目标。