任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1065

 
evillive:

如果我理解正确的话,你需要在30个点之后拍一张照片,而不是在平仓之后的30个点中的每一个点?

这样一来,按时间来拍照片不是更容易吗?比如说,从订单关闭时间起30秒后?

照片在30次点击后需要一个。图表将是刻度的,所以将是30个刻度。但无论如何,我们应该与数组一起工作。 如果其他订单在30秒内被关闭,我们也要从其他订单中计算30秒。
 
JuliettaRu:
下午好,请指导我在哪里可以找到对我的问题的解释(我想我不是第一个问这个问题的人),以及该怎么做。我在智能手机上安装了MT4,但它显示的图表晚了20分钟--我把它与电脑上的MT4读数进行比较。
这是个圣杯!
 

帮我搞清楚这个问题。我不知道如何修复这段代码......或者说,我可以在其中添加什么,以便它不会发誓?

应该检查'OrderModify'的返回值

         }    
         if (OrderOpenPrice()-Ask > Korts*Point*Multi)
         {
           if (OrderStopLoss() > Ask +(Korts)*Point*Multi) 
           {
              OrderModify(OrderTicket(),OrderOpenPrice(),Ask + (TrSt)*Point*Multi,'1', 0, Red);
           }
         }            
      }
   }   
   return(0);
 
Guaro:

帮我搞清楚这个问题。我不知道如何修复这段代码......或者说,我应该加些什么,才不会骂人?

应该检查'OrderModify'的返回值

OrderModify()函数的返回值必须被分配给一个变量,以便该函数可以被检查。或者只是

if(OrderModify(OrderTicket(),OrderOpenPrice(),Ask + (TrSt)*Point*Multi,'1', 0, Red))
Print("Ордер модифицирован успешно.");
 

帮助修复编译错误:Magic - 未声明的标识符

猫。

bool CheckExists(int Type)
{
bool Result = True;
for(int i = 0; i < OrdersTotal(); i++)
if(OrderSelect(i, SELECT_BY_POS))
if(OrderType() == Type && OrderMagicNumber() == Magic && OrderSymbol() == Symbol()
如果(OrderOpenTime() >= Time[0])
Result = False;
for(i = 0; i < OrdersHistoryTotal(); i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
if(OrderType() == Type &&& OrderOpenTime() >= Time[0]
&& OrderMagicNumber() == Magic &&。OrderSymbol() == Symbol()
Result = False;
}

return(Result);
}

 
Abdus_Ali:

帮助修复编译错误:Magic - 未声明的标识符

猫。

全局变量和用户变量必须在代码开头声明,本例中是用户变量,这样写。

输入int Magic = 1;

 
ticket2=OrderSend(Symbol(),OP_SELL, lot1, Price2, 20, SL2, TP2, NULL, 2,0, clrGreen)。
如果(Bid>=TP1)//1(1/0)。
{

OrderModify(ticket2,?????, SL2, Price2, 0, clrNONE) 。

晚上好,请告诉我如何修改ticket2的订单?用什么价格来代替?????.....?还是我必须先选择这个订单来修改它?尽管事实上我已经通过在OrderModify(ticket2,.....)的参数中写上选择它。

 
bobrush:
ticket2=OrderSend( Symbol(),OP_SELL, lot1, Price2, 20, SL2, TP2, NULL, 2,0, clrGreen)。
如果(Bid>=TP1)//1(1/0)。
{

OrderModify(ticket2,?????, SL2, Price2, 0, clrNONE) 。

晚上好,请告诉我如何修改ticket2的订单?用什么价格来代替?????.....?还是我必须先选择这个订单来修改它?尽管事实上我已经通过在OrderModify(ticket2,.....)的参数中写上选择它。

把订单打开价格()。
 
我不明白为什么搜索和关闭位置 会在循环中停止,我已经转动了循环并增加了位置的数量,在测试器中它仍然跳过(离开)位置......告诉我,如果你能看到哪里和哪里有问题......
int positions=PositionsTotal();
       for(int x1=-1;x1<positions;x1++) 
          {
           ulong pos_tiket11=PositionGetTicket(x1);
           if(PositionSelectByTicket(pos_tiket11))
             {
              string comment11=PositionGetString(POSITION_COMMENT);
              Print("ПОЗИЦИЯ ТИКЕТ + "+(string)pos_tiket11+" "+comment11+" ТИП "+(string)PositionGetInteger(POSITION_TYPE));
              if(pos_tiket11!=TIKET11) 
                {
                 ENUM_POSITION_TYPE type11=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
                 if(type11==POSITION_TYPE_BUY)
                   {
                    Print("ПОЗИЦИЯ ВЫБРАНА КОМЕНТ = "+comment11);
                    mytrade111.PositionClose(pos_tiket11,15);
                    TIKKET=0;    
                    dolivka_P1=1;
                   } 
                }
             }
          }
 
ara66676:
我不明白为什么位置搜索和关闭会在循环中停止,我已经反转了循环,增加了位置的数量,但在测试器中它仍然跳过(离开)位置。

既然问题是在mql4论坛上,我想代码也是在mql4上。还是错了?

在mql4中,没有头寸,只有订单。