错误、漏洞、问题 - 页 1151

 

任何对联盟计划的转换核算有问题或疑问的人--写信给我,我将测试它。

    1. 平板电脑(Windows 8.1)
    2. 电脑 (Windows 8.1)
    3. 智能手机(安卓)
 

我在MQL4的StringConcatenate()函数 中遇到了一个问题。字符串中出现一个零块。这可以在将摘要字符串输出到文件时看到。

void OnStart()
  {
//---
  string sample = "0123456789ABCDEF";
  string s = "";
  for(int i=0;i<260;i++)
  {
   s = StringConcatenate(s, sample);
   Print(StringBufferLen(s), " ", StringLen(s), " ", s);
  } 
  Print(s);
  }

以下是终端写的内容

2014.06.05 12:28:25.378 String_concat_test EURUSD,Daily: 3872 3872 ???????????????

2014.06.05 12:28:25.378 String_concat_test EURUSD,Daily: 3856 3856 ???????????????

2014.06.05 12:28:25.378 String_concat_test EURUSD,Daily: 3840 3840 ???????????????

2014.06.05 12:28:25.378 String_concat_test EURUSD,Daily:3824 38240123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123

2014.06.05 12:28:25.378 String_concat_test EURUSD,Daily:3808 38080123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123

2014.06.05 12:28:25.378 String_concat_test EURUSD,Daily:3792 37920123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123

 
零是指几千字节的零字节
 
Luckhuman:

我在MQL4的StringConcatenate()函数 中遇到了一个问题。字符串中出现一个零块。这可以在将摘要字符串输出到文件时看到。

谢谢你的帖子,修好了。该修复将包括在下一个版本中。
 
请解释为什么在交易标签中,对于相同的工具,相同的类型(例如,买入),市场头寸和挂单的当前价格(这是SL/TP右边的价格栏--不能与SL/TP左边的开仓价格混淆!)显示不同?理论上,该符号的当前价格 应该是相同的,至少对于几个未平仓的订单来说,它是同步变化的(重合的)。
 
marketeer:
请解释为什么在交易标签中,对于相同的工具,相同的类型(如买入),市场头寸和挂单的当前价格(这是SL/TP右边的价格栏 - 不要与SL/TP左边的开盘价混淆!)显示不同?符号中的当前价格 应该是相同的,至少对于几个未结订单来说,它是同步变化的(重合)。

因为有一个买入价,也有一个卖出价。

竞价交易(bid_ask

在图片中,有一个未结头寸(卖出),有两个挂单(卖出限额买入限额)。对于未结头寸(卖出),指定当前价格Ask。 对于卖出限制,指定当前价格Bid。对于买入限制 ,指定当前的卖出 价格。

 
我没有 "日历 "标签。终端 MetaTrader 5 x64 build 946 开始(MetaQuotes Software Corp.)。在MetaQuotes-Demo服务器上的模拟账户。此外,在终端有几个真实的账户

而且它只在笔记本电脑上丢失。在平板电脑和个人电脑上,有一个日历标签。


 
在指标中启动MT4时,init()失败,因为MarketInfo(xxx, MODE_TICKVALUE)返回0(对所有符号)。很明显,刻度值与账户货币挂钩,但终端甚至在登录前就显示了窗口。然后发现没有价值链接的脚本会正常工作? 这是个特点还是个错误?
 
我如何知道一个指标 是自己放在图表上 的,还是通过iCustom从另一个指标中调用的?
 
marketeer:
当你在指标中启动MT4时,init()不会发生,因为MarketInfo(xxx, MODE_TICKVALUE)返回零(对所有符号)。很明显,刻度值与账户货币挂钩,但终端甚至在登录前就显示了窗口。然后发现没有价值链接的脚本会正常工作? 这是个特点还是个错误?

MetaTrader 4。版本:4.00 Build 654。

尝试使用Symbol() 而不是xxx,使用OnInit()而不是init()。

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
//--- превращение динамических массивов в индикаторные буферы
   SetIndexBuffer(0,ExtMapBufferEMA,INDICATOR_DATA);
//--- MarketInfo
   Print("Symbol=",Symbol());
   Print("Минимальная дневная цена=",MarketInfo(Symbol(),MODE_LOW));
   Print("Максимальная дневная цена=",MarketInfo(Symbol(),MODE_HIGH));
   Print("Время поступления последней котировки=",(MarketInfo(Symbol(),MODE_TIME)));
   Print("Последняя поступившая цена предложения=",MarketInfo(Symbol(),MODE_BID));
   Print("Последняя поступившая цена продажи=",MarketInfo(Symbol(),MODE_ASK));
   Print("Размер пункта в валюте котировки=",MarketInfo(Symbol(),MODE_POINT));
   Print("Количество цифр после запятой в цене инструмента=",MarketInfo(Symbol(),MODE_DIGITS));
   Print("Спрэд в пунктах=",MarketInfo(Symbol(),MODE_SPREAD));
   Print("Минимально допустимый уровень стоп-лосса/тейк-профита в пунктах=",MarketInfo(Symbol(),MODE_STOPLEVEL));
   Print("Размер контракта в базовой валюте инструмента=",MarketInfo(Symbol(),MODE_LOTSIZE));
   Print("Размер минимального изменения цены инструмента в валюте депозита=",MarketInfo(Symbol(),MODE_TICKVALUE));
   Print("Минимальный шаг изменения цены инструмента в пунктах=",MarketInfo(Symbol(),MODE_TICKSIZE));
   Print("Размер свопа для ордеров на покупку=",MarketInfo(Symbol(),MODE_SWAPLONG));
   Print("Размер свопа для ордеров на продажу=",MarketInfo(Symbol(),MODE_SWAPSHORT));
   Print("Календарная дата начала торгов (фьючерсы)=",MarketInfo(Symbol(),MODE_STARTING));
   Print("Календарная дата окончания торгов (фьючерсы)=",MarketInfo(Symbol(),MODE_EXPIRATION));
   Print("Разрешение торгов по указанному инструменту=",MarketInfo(Symbol(),MODE_TRADEALLOWED));
   Print("Минимальный размер лота=",MarketInfo(Symbol(),MODE_MINLOT));
   Print("Шаг изменения размера лота=",MarketInfo(Symbol(),MODE_LOTSTEP));
   Print("Максимальный размер лота=",MarketInfo(Symbol(),MODE_MAXLOT));
   Print("Метод вычисления свопов=",MarketInfo(Symbol(),MODE_SWAPTYPE));
   Print("Способ расчета прибыли=",MarketInfo(Symbol(),MODE_PROFITCALCMODE));
   Print("Способ расчета залоговых средств=",MarketInfo(Symbol(),MODE_MARGINCALCMODE));
   Print("Начальные залоговые требования для 1 лота=",MarketInfo(Symbol(),MODE_MARGININIT));
   Print("Размер залоговых средств для поддержки открытых ордеров в расчете на 1 лот=",MarketInfo(Symbol(),MODE_MARGINMAINTENANCE));
   Print("Маржа, взимаемая с перекрытых ордеров в расчете на 1 лот=",MarketInfo(Symbol(),MODE_MARGINHEDGED));
   Print("Размер свободных средств, необходимых для открытия 1 лота на покупку=",MarketInfo(Symbol(),MODE_MARGINREQUIRED));
   Print("Уровень заморозки ордеров в пунктах=",MarketInfo(Symbol(),MODE_FREEZELEVEL));
//---
   return(INIT_SUCCEEDED);
  }