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

 
evillive:
问题:在视觉测试模式下,指标线只在测试结束时画出,每个人都是这样,还是我做错了什么?

所有这些。

https://www.mql5.com/ru/forum/131853/page2#463027

 
建议如何在阿尔帕里顾问中正确地开出有损失和收回的订单(代码)。
 
link1:
建议如何在阿尔帕里顾问中正确地开出有损失和收回的订单(代码)。

你知道如何在EA(代码)中正确打开带有FST和TP的订单吗?
 
zxc:

你知道如何在另一家经纪公司 "正确地开出有损失和收回的订单 "吗?

那么在Alpari开单和在Oanda或其他经纪公司开单有什么区别?
 
zxc:

你知道如何在另一家经纪公司 "正确地开出有损失和收回的订单 "吗?

我一直在与其他经纪公司合作,我的EA可以工作,但在Alpari却不行,这就是我问的原因,也许有一些特殊性?
 
link1:

我对其他经纪公司有很好的感觉,我的EA可以工作,但在Alpari却不行。


这是你应该开始的地方。在终端,当你手动开单时,你能立即设置止损吗?

订单类型在哪里,怎么说?立即执行 还是市场执行?

 
zxc:


这是你应该开始的地方。在终端,当你手动开单时,你能立即设置止损吗?

订单类型在哪里,怎么说?立即执行还是市场执行?


至于Alpari,如果你有市场执行,你不能放置SL或TP,只有当你有一个挂单,你可以在一个模拟账户上做,比如在一个微型账户。

我也注意到了这个问题,我决定修改我的EA,在没有SL的情况下放置SL和TP,然后,修改它并设置SL和TP。

但如何修改呢?)) 我从一些专家顾问那里复制了修改,但代码中有一个错误,没有编译。 说实话,教程中没有关于修改的文章和带拖曳止损的例子。 我刚刚开始学习语言,这是我的第一个EA,我不知道如何正确修改订单...

我还认为问题可能出在5位数上? 你怎么看?

 

这个怎么样?而对于获利的方式也差不多...

for(int i = 0; i < total; i++)

     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
       // check for symbol & magic number
       if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic) 
         {
           if(OrderType() == OP_BUY)  // long position is opened
            {

                  if(OrderStopLoss()==0)
                   {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*sl,OrderTakeProfit(),0,Orange);
                    return(0);
                   }
            } 
           if(OrderType() == OP_SELL)  // short position is opened
            {

                 if(OrderStopLoss()==0)
                  {
                    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*sl,OrderTakeProfit(),0,Orange);
                    return(0);
                  }
            }
         }
     }

在这个周期内,你完全不能修改止损单,当它达到止损水平时,就关闭订单,对于DC来说,订单看起来没有止损,但当止损水平过后(sl变量),它就被EA明确关闭。

   for(int i = 0; i < total; i++)
     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
       // check for symbol & magic number
       if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic) 
         {
           if(OrderType() == OP_BUY)  // long position is opened
            {
               if((OrderOpenPrice()-Ask)<Point*sl) // stoploss
                 {
                    OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Aqua);
                 }
               if((Bid-OrderOpenPrice())>Point*(ts+minp)) //trail
                 {
                  if(OrderStopLoss()<(Bid-Point*ts))
                   {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*ts,OrderTakeProfit(),0,Orange);
                   }
                 }
            } 
           if(OrderType() == OP_SELL)  // short position is opened
            {
               if((Bid-OrderOpenPrice())>Point*sl) // stoploss
                 {
                    OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Magenta);
                 }
               if((OrderOpenPrice()-Ask)>Point*(ts+minp)) //trail
                {
                 if(OrderStopLoss()>(Ask+Point*ts))
                  {
                    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*ts,OrderTakeProfit(),0,Orange);
                  }
                }
            }
         }
     }
 
我想创建一个二维数组[ticket][openning price]。问题是要把数组声明 为int还是duble?
 
dmmikl86:
我想创建一个二维数组[ticket][开盘价]。问题是要把数组声明为int还是dub类型?

开盘价 是双倍