错误、漏洞、问题 - 页 1009

 
TheXpert:

是否有一个类似于按钮调用的软件?

ChartRedraw不起作用。

用MQL5就不行,我不知道有什么其他办法。在服务台已经有一个请求,但还没有结果。
 

好吧,我换个问法,也许有一个正常的答案。

有一个指标是在定时器事件的到来时计算的。

如果没有刻度,那么即使指标数据被更新后,也不会显示在图表上,直到图表被强行更新。

有没有一种正常的方法可以做到自动显示新的数据而不显示刻度线?

 
TheXpert:

好吧,我换个问法,也许有一个正常的答案。

有一个指标是在定时器事件的到来时计算的。

如果没有刻度,那么即使指标数据被更新后,也不会显示在图表上,直到图表被强行更新。

有没有一种正常的方法来自动显示新的数据,而不需要打勾?

当整个数据集在新的刻度线到来之前不显示时,就会出现一个问题。而你可以按刷新 按钮或切换时间框架。在这种情况下,我在定时器中调用了OnCalculate(),但这并没有帮助。可以获得指标缓冲区 的数据,但在新的tick或强制更新或时间框架切换之前,它们不会显示。

我认为这是一个错误。

你的情况也是这样,还是只有最新的 新数据没有显示?

 
tol64:

你的情况也一样,还是只是最新的 新数据没有显示?

这可能是相同的。我目前正在写离线和周末工作的逻辑。

显然,要让软件获得这一功能,在资源上是非常昂贵的。但如果指标的变化超过(x)个值,就值得做一次更新。

 
ChartRedraw 没有帮助吗?
 
Renat:
ChartRedraw没有帮助吗?
第一时间检查了它 -- 唉。
 
TheXpert:

好吧,我换个问法,也许有一个正常的答案。

有一个指标是在定时器事件的到来时计算的。

如果没有刻度线,那么即使指标数据被更新后,也不会显示在图表上,直到图表被强行更新。

有没有一种正常的方法可以做到自动显示新的数据而不显示刻度线?

久经考验的古老方法是转换时间框架,因为没有更好的方法。

通过点击按钮,可以在这里完成:https://www.mql5.com/ru/code/224

ChartReinit
ChartReinit
  • 投票: 7
  • 2010.11.29
  • Vladimir Gomonov
  • www.mql5.com
Кнопочная переинициализация чарта с перерасчетом всех индикаторов, а также простенький и прозрачный объектно-ориентированный пример обработки всех чартов из одного эксперта.
 

建立821

当使用标准库(CTrade类)开立买入市场头寸时,可以选择在2.5秒后(不少于2秒)改变止损或盈利。

PositionSelect(_Symbol)

返回错误

不存在卖出头寸的这种情况


//+------------------------------------------------------------------+
//|                                                test_open_buy.mq5 |
//|                                                         olyakish |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "olyakish"
#property link      "http://www.mql5.com"
#property version   "1.00"
#include <Trade\Trade.mqh> 
CTrade trade;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {

   double Ask=SymbolInfoDouble(_Symbol,SYMBOL_ASK); // лучшее предложение на покупку

   bool res=trade.PositionOpen(_Symbol,// инструмент
                               ORDER_TYPE_BUY,// 
                               0.1,// количество лотов для торговли
                               Ask,// последняя цена bid
                               0.0,// Stop Loss
                               0.0,// Take Profit 
                               " ");
// без комментариев  
   Print("res=",res);
   Print(PositionSelect(_Symbol));
   Sleep(2500);
   Print(PositionSelect(_Symbol));

  }
//+------------------------------------------------------------------+
2013.07.01 14:49:57     test_open_buy (EURUSD,M1)       res=true
2013.07.01 14:49:57     test_open_buy (EURUSD,M1)       false
2013.07.01 14:49:59     test_open_buy (EURUSD,M1)       true
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade
Документация по MQL5: Стандартная библиотека / Торговые классы / CTrade
  • www.mql5.com
Стандартная библиотека / Торговые классы / CTrade - Документация по MQL5
 
void GetHistoryProperties()
  {
// Узнаем, есть ли позиция
 
   HistorySelect(t1,t0);
   ulong    ticket=0;
   uint     total=HistoryDealsTotal();
   
   for(uint i=0;i<total;i++){
  if((ticket=HistoryDealGetTicket(i))>0){
  bool ss=HistoryOrderGetString(ticket,ORDER_SYMBOL,symbol1);//не работает
  Print(symbol1," ---",Symbol()," ",ss," ",ticket);
    //пустое значение symbol1
  //или так
  symbol1=myhistory.Symbol();
  Print(symbol1," ---",Symbol()," ", ticket);
  //пустое значение symbol1
 if (Symbol()==symbol1)   {  //Без этого условия всё работает




     }}}

//---
   SetInfoPanel(); // Установим/обновим информационную панель
  }  
无法在历史上获得订单符号的问题或错误?
 
zfs:
无法在订单历史上获得订单符号,这是一个bug还是一个错误?

我以为这个问题的答案是肯定的。你从交易历史 中选择票据,并试图从订单历史中获得该财产。它们是不同的名单。

P.S. 还有 一篇文章,其中有例子:MQL5配方--交易历史和获取位置属性的函数库