错误、漏洞、问题 - 页 456

 
_____Life_Line:

这可以通过不同的方式实现,取决于你的任务。

请看MQL5 的帮助部分"图表周期"、"工具信息",并注意 ChartSetSymbolPeriod()函数

为了实施,你很可能需要规定一个TFs和Symbols的清单,或者从市场环境中获得它们。

 
Urain:

这可以通过不同的方式实现,取决于你的任务。

请看MQL5 的帮助部分"图表周期"、"工具信息",并注意 ChartSetSymbolPeriod()函数

为了实施,你很可能需要规定一个TFs和Symbols的清单,或者从市场环境中获得它们。

谢谢你,我已经明白了。成功了,我把所有需要的枚举都放在了switch上。 错误在于为对子选择了正确的字符串类型,为句号选择了ENUM_TIMEFRAMES。
 

大家好,在关闭未结头寸 时,有一个非常不愉快的细微差别。

例如,利润得到+150美元并全部关闭:但在图表上看到了这样的画面。

决定做一个小的补充,在我们关闭所有的位置上的不同符号的代码,它是这样。

    double bal = AccountInfoDouble(ACCOUNT_BALANCE);
    double eqv = AccountInfoDouble(ACCOUNT_EQUITY);
    if (bal < eqv && (tral == false && GetProfit()>= PP))
     {

即当所有交易对的利润都超过参数中规定的数额,并且权益超过余额时,我们就关闭。

但在这些变化之后,情况并没有改变,现在我们有同样的细微差别,只是在不同的地方。


我对此有唯一的解释:我们计算的文本利润高于我们在+中设定的利润。

而当我们开始关闭时,价格已经发生了变化,即。几个小点在

在测试器中的刻度线通过后,我们已经处于红色,而一切都在关闭中(2对工具

欧元兑美元..GBPUSD)

那么?

 
Im_hungry:

大家好,在关闭未结头寸 时,有一个非常不愉快的细微差别。

.............

那么?

是否有任何停留?
 
MetaDriver:
有脚吗?
"那么他们在意大利的脚是怎么来的,我在地图上看到他们的意大利,靴子上的靴子"(s)几乎是装甲的) :o)
 
MetaDriver:
停靠点在哪里?

没有只有拖网(每个tick 上的内容),现在尝试了以下代码。

    double bal = AccountInfoDouble(ACCOUNT_BALANCE);
    double eqv = AccountInfoDouble(ACCOUNT_EQUITY);
    if (bal < eqv && (tral == false && AccountInfoDouble(ACCOUNT_PROFIT)>= PP))

PP--参数中的利润,还是一样的失误,几个点,我们都在亏损,否则......?

它通过在2个货币对(欧元兑美元......英镑兑美元)上进行套利开盘,当我们达到预期利润时

我们关门了。

 

我已经确保多余的线条不会影响到快速关闭的姿势。

少跳过,但我越来越倾向于认为这是因为电脑的速度太慢了。

我有足够的内存,但我有一个完整的CPU?

 

请告知如何解释SYMBOL_TRADE_MODE的状态。

我可以在SYMBOL_TRADE_MODE_CLOSEONLY模式 下发送订单来改变止损位吗

 
Im_hungry:

没有只有拖网(每个tick上的内容),现在尝试了以下代码。

PP--参数中的利润,还是一样的失误,几个点,我们都在亏损,否则......?

我们在2个货币对(欧元兑美元......英镑兑美元)上进行套利,在达到所需的总利润后

我们关门了。

所提供的代码是不够的。在它的外面有一个错误。
 
MetaDriver:
所提供的代码是不够的。错误在它的外面。

之后(

bal < eqv && (tral == false && AccountInfoDouble(ACCOUNT_PROFIT)>= PP && sum>=PP)

)的姿势,并立即用这个从这个网站上摘取的代码关闭。

   MqlTradeRequest mrequest;                           
   MqlTradeResult mresult;                             
   if(PositionSelect(Symbol_1)==true)
     {
       mrequest.action = TRADE_ACTION_DEAL;              
       if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY) mrequest.price = SymbolInfoDouble(Symbol_1,SYMBOL_BID);    
       if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL) mrequest.price = SymbolInfoDouble(Symbol_1,SYMBOL_ASK);
       mrequest.symbol = Symbol_1;                         
       mrequest.volume = PositionGetDouble(POSITION_VOLUME);                          
       mrequest.magic = PositionGetInteger(POSITION_MAGIC); ;                           
       if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY) mrequest.type= ORDER_TYPE_SELL;                    
       if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL) mrequest.type= ORDER_TYPE_BUY;
       mrequest.type_filling = ORDER_FILLING_AON;         
       mrequest.deviation=Prosk;                          
       OrderSend(mrequest,mresult);

我在两个货币对中没有任何错误。我将尝试分析哪里出了问题,但事实是,我在不同的电脑上得到了不同的结果,有不同的接口,在关闭时几乎没有跳转。