为什么此字符串函数不更新? MQL4

问题描述

我现在很困惑,已经有一段时间了。我试图弄清楚为什么我相信if语句为true时,此字符串函数不会更新字符串。

void OnTick()
{
     string aboveprofit = "";

     for ( int b = OrdersTotal() - 1; b >= 0; b-- )
     {
          if ( OrderSelect( b,SELECT_BY_POS,MODE_TRADES ) )
          if ( OrderSymbol() == Symbol() )
          {
               if ( OrderSymbol() == OP_SELL )
               {
                    OrderModify( OrderTicket(),OrderOpenPrice(),Bid + ( 150 * _Point ),OrderTakeProfit(),CLR_NONE
                                 );
                    if ( Ask < OrderOpenPrice() )
                    {    
                         abovepoint = "321";
                    }
               }
               if ( OrderSymbol() == OP_BUY )
               {
                    OrderModify( OrderTicket(),Ask - ( 150 * _Point ),CLR_NONE
                                 );
                    if ( Bid > OrderOpenPrice() )
                    {
                         abovepoint = "123";
                    }
               }
     }
 }

解决方法

Q “当我认为if语句为真时,为什么此字符串函数不会更新字符串?”

好吧,你怎么知道没有?

Print( Volume[0],abovepoint );代码块条目的第一行右边添加void OnTick(){...}命令,以便检查客户终端日志中以上发布的假设的有效性。 / p>

上面的代码片段缺少实际的abovepoint声明,因此,除了此以外,不能添加任何其他内容。


勘误表: OrderSymbol() 很可能永远不会匹配 { OP_BUY | OP_SELL } -常量,应该是OrderType(),不是吗?

OrderModify() -命令几乎可以确保对任何XTO指令生成服务器端拒绝,这将违反由代理端定义的FREEZE_LEVEL和/或最小允许距离。从实际的{ TP | SL }价格水平修改了{ Ask | Bid }目标。请仔细检查您的经纪人的条款和条件,并最好地修改您的代码,以防止出现违反指令的情况。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...