错误、漏洞、问题 - 页 3175

 
A100 #:
一个编译错误。
class A {};

void* t = new A;

在MQL中,指针已经变成了地址,或者说,现在是什么意思?

 
fxsaber #:

指针在MQL中已经变成了地址,或者说现在的意义是什么?

是的,似乎没有什么变化(在构建2949中也是如此)。一个指向类的指针可以被转换为void *,然后才是

 

有什么方法可以克服通过对象点击的问题吗。

我创建了一条趋势线,然后在它上面有一个完全覆盖它的BitmapLabel,如果你直接点击BitmapLabel 下面 趋势线 所在的地方 ,它就开始移动

我在此附上一段视频。

 
William Roeder #:

你的经纪人搞砸了。和他们谈谈吧。

我明白,也许经纪人忘了在一些符号的设置中适当调整一些东西,但这不仅仅是我的经纪人的问题,我的客户在另一个博克上也有这样的问题。

今天我们没有替代OrderCalcMargin()的方法。如果这个函数返回错误的所需保证金值,那么所有其他自定义函数也会返回错误的值。

OrderCalcMargin经常被用于许多交易工具,它帮助查看客户所需的保证金并正确计算手数。

怎么办呢?也许我们可以得到这样的公式,它不依赖于人的因素?有些经纪人会适当调整,而其他很多经纪人则不会。而我们总是会得到这种错误的保证金。

 
Aleksei Beliakov #:

有什么方法可以克服通过对象点击的问题吗。

我创建了一条趋势线,然后在它上面有一个完全覆盖它的BitmapLabel,如果你点击BitmapLabel 下面 趋势线 的位置 ,它就开始移动

我在此附上一段视频。

是否可以用OBJPROP_SELECTABLE...比方说,通过按某个键(或图表上的按钮)来阻止或解除对一个对象的选择

 

我想,如果在OrderSelect()之后的附件中包含更多的OrderSelect()调用,包括函数调用,编译器会显示警告,那就方便了。

昨天整晚都在寻找这个错误,这已经是第二次因为这个原因了。

void Trailing()
{
   for(int i=OrdersTotal()-1; i>=0; i--)
   {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
      {
         if (OrderSymbol() == Symbol() && OrderMagicNumber()==magic)
         {
            if(OrderType() == OP_BUY)
            {
               if(Bid >= GetAveragePrice(OP_BUY)+start_tral_level*Point)//OrderOpenPrice()
               {
                  if(Bid >= OrderStopLoss()+(tral_stop+tral_step)*Point || OrderStopLoss()==0)
                  {
                     if(!OrderModify(OrderTicket(), OrderOpenPrice()
                     , NormalizeDouble(Bid-tral_stop*Point, Digits), OrderTakeProfit(), OrderExpiration())) 
                     {
                        Print("Trailing buy err ", GetLastError());
                     }
                  }
               }
            }
            if(OrderType()==OP_SELL)
            {
               if(Ask <= GetAveragePrice(OP_SELL)-start_tral_level*Point)//OrderOpenPrice()
               {
                  if(Ask <= OrderStopLoss()-(tral_stop+tral_step)*Point || OrderStopLoss()==0)
                  {
                     if(!OrderModify(OrderTicket(), OrderOpenPrice()
                     , NormalizeDouble(Ask+tral_stop*Point, Digits), OrderTakeProfit(), OrderExpiration())) 
                     {
                        Print("Trailing sell err ", GetLastError());
                     }
                  }   
               }   
            }   
         }
      }
   }
}
double GetAveragePrice(int in_type)//расчет средней цены позиций
{
   double dRes=-1;
   double dSum=0;
   double dLot=0;
   double dComission=0;
   double dSwap=0;
   int iTotalPos=OrdersTotal();
   for(int cnt=0;cnt<iTotalPos;cnt++)
   {
      if(!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) Print( "Error Select Order");
      {
         if(OrderType()==in_type && OrderSymbol()==Symbol() && OrderMagicNumber()==magic)
         {
            dSum+=OrderOpenPrice()*OrderLots();
            dLot+=OrderLots();
            dSwap+=OrderSwap();
            dComission+=OrderCommission();
         }
      }    
   }     
   if(in_type==OP_BUY && dLot!=0) dRes=dSum/dLot-dSwap/dLot*Point-dComission/dLot*Point;
   if(in_type==OP_SELL && dLot!=0) dRes=dSum/dLot+dSwap/dLot*Point+dComission/dLot*Point;
   
   return dRes;
}
 
Andrei Sokolov 函数调用,编译器会显示警告,那就方便了。

昨天我整晚都在寻找这个虫子,这已经是第二次因为这个原因了。

再过几天这样的日子,你就不需要任何警告了。

 
Alexey Viktorov #:

再过几天这样的日子,你就不需要警告了。

这并不意味着有了警告就会更方便了

 
如何使用这个应用程序是如何赢得
 
Hanene1304 #:
如何使用这个应用程序就是如何赢得

请查看下面的帖子/信息/链接 -

关于交易、自动交易系统和测试交易策略的论坛

我怎样才能获得100万美金?

Sergey Golubev, 2022.02.17 15:20

找到Metatrader经纪商(有很多Metatrader经纪商,使用谷歌查找),并根据他们网站上的条件开设账户。
先用模拟账户试试。

1.文章 -MQL5.community - 用户备忘录

2.MetaTrader 5帮助 -开设账户

3.我从哪里开始?
https://www.mql5.com/en/forum/212020

4.MetaTrader 5 帮助 - 交易平台 - 用户手册

5.如何在论坛上进行搜索
https://www.mql5.com/en/forum/193510

6.通过经纪人的名字查找服务器:
https://www.mql5.com/en/forum/214820

7.我的经纪人名单:https://www.mql5.com/en/forum/353226/page3