专家顾问 - 杂项问题 - 页 2

 

#Lot - 关闭

我解决 这个问题,如下所示。

ObjectSetString( 0, _edtLot, OBJPROP_TEXT, "Lot: " + DoubleToString( _lot, 2 ) );

总之,感谢@Keith

 

#Order Mistakes - Open

在互联网"断线"期间,我点击了几次"买入和卖出 "订单按钮,但什么也没有发生,所以几分钟后互联网"重新连接"--所有订单都打开了(我需要在断线期间打开订单--P.S几乎订单数量超过15。)

所以我完全 不知道这是怎么发生的,这个问题是从哪里来的,请让我知道一些情况,我需要防止这种令人讨厌 情况

谢谢。

 

你点击了,订单被发送,失去连接。然后你又点击了一些排队,在OrderSend返回128之前,或者重新连接和有效的OrderSend返回。你忽略了这个错误,并处理了更多的点击。

当OrderSend正在进行时,忽略了点击。

 
whroeder1:

你点击了,订单被发送,失去了连接。然后你又点击了一些排队的订单,在OrderSend返回128之前,或者重新连接并返回有效的OrderSend。你忽略了这个错误,并处理了更多的点击。

当OrderSend正在进行时,请忽略点击。

更加感谢您的快速回复。

我的理解是这样的。

  • 我可以为"当OrderSend正在进行时忽略点击 " 编写代码
  • 我可以为错误写代码。
是这样吗?

在你的回答之后,我将研究这个问题。

祝您一切顺利!

 

#0号地块(零) - 开放

我尝试'地段' 大小不能为0(零)

我需要帮助,请。

double _lotSize = 0.10 ; // Lot Size
double _lotStep = 0.01 ; // Lot Step
//-------Lot Minus--------------------------------------------------------------|
if ( sparam == _btnLotMinus )
{
    ObjectSetInteger( 0, _btnLotMinus, OBJPROP_STATE, false );
    _lotSize -= _lotStep;
    if ( _lotSize <= 0 )
    {
        _lotSize = _lotStep;
    }

    _calcUpdade( CALC_CHANGE_LOT );

    Print( " | DoubleToStr /   ", DoubleToStr( _lotSize, 2 ) );
}   //---if Close


谢谢!

 
Max Enrik:

#Lot 0 (zero) - 打开


我尝试'地段' 大小不能为0(零)

我需要帮助,请。

double _lotSize = 0.10 ; // Lot Size
double _lotStep = 0.01 ; // Lot Step


谢谢!

注:我还没有读完整个主题

你为什么要手动设置lotstep的值?这是由经纪人决定的(而且很可能超过0.01)

double _lotStep = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP);
 
honest_knave:

你为什么要手动设置lotstep的值?那是由经纪人决定的(很可能超过0.01)。

哦!不错的人,谢谢,我很快就会把它放在我的EA中。
 
Max Enrik:
哦!不错的人,谢谢,我很快就会把它放在我的EA里。

你需要检查 maxlot、minlot和lotstep。

HTH

 
honest_knave:

你需要检查maxlot、minlot和lotstep。

HTH

是的!这有很大帮助。

这有很大的帮助。我不介意最大和最小手数的 问题。我开始研究这个问题。(我在几分钟内就找到了一些东西。)

非常感谢。

 
我正在为我的EA使用NormalizeDouble 。但我担心"NormalizeDouble"信息,但我在图表上看到手数 是这样的。0.07

所以,我需要好的建议,请。

02:00:00.069 - custom expert EURUSD,H1: | _lotSize - NormalizeDouble: 0.07000000000000001
02:00:00.069 - custom expert EURUSD,H1: | _lotSize - DoubleToString : 0.07

原因: