エラー、バグ、質問 - ページ 1151

 

アフィリエイトプログラムの変換会計について問題や質問がある人 - 私に書き込んでください、私はそれをテストします。

    1. タブレット(Windows 8.1)
    2. PC (Windows 8.1)
    3. スマートフォン(Android)
 

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価格が存在するからです。

ビッドアスク

画像では、オープンポジション(売り)があり、2つの保留中の注文(売り指値と 買い 指値)があります。売り建玉の 場合は現在値Askを 指定し、売り指値の 場合は現在値Bidを 指定します。買い指 値の場合は、現在のAskの 価格が指定されます。

 
カレンダー」タブがないのですが。Terminal MetaTrader 5 x64 build 946 を起動しました(MetaQuotes Software Corp.)MetaQuotes-Demoサーバーのデモ口座です。また、端末には複数の実アカウントが 存在します。

しかも、ノートパソコンにだけ欠落しているのです。タブレットやPCでは、「カレンダー」タブがあります。


 
インジケータでMT4を起動すると、MarketInfo(xxx, MODE_TICKVALUE)が(すべてのシンボルに対して)ゼロを返すため、init()が失敗します。ティック値が口座の通貨と結びついていることは明らかですが、端末にはログイン前でもウィンドウが表示されます。そうすると、値連動するスクリプトは正常に動作しないことが判明しました。 これは機能なのでしょうか、それともバグなのでしょうか?
 
あるインジケータが単独でチャートに 配置されているのか、それともiCustom経由で他のインジケータから呼び出されているのかを知るにはどうすればよいですか?
 
marketeer:
インジケータでMT4を起動すると、MarketInfo(xxx, MODE_TICKVALUE)が(すべてのシンボルに対して)ゼロを返すため、init()は実行されません。ティック値が口座の通貨と結びついていることは明らかですが、端末にはログイン前でもウィンドウが表示されます。そうすると、値連動するスクリプトは正常に動作しないことが判明しました。 これは機能なのでしょうか、それともバグなのでしょうか?

MetaTrader 4。バージョン:4.00 Build 654。

xxxの代わりにSymbol() を使用し、init()の代わりにOnInit()を使用してみてください。

//+------------------------------------------------------------------+
//| 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);
  }