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

 
古代の規制を撤廃するのは良いことだと思います
2018.03.06 18:12:31.472 Symbols no more than 1000 symbols can be selected
 

  1. カスタムシンボルをチャート上にオープン(履歴のみ、更新なし)。
  2. 他の取引サーバーに乗り換える。
  3. チャートは「更新待ち」になります。
  4. チャートを閉じて、数分待ってからカスタムチャートを開こうとすると、普通に開く。
  5. ステップ2に進むと、チャートがない、ちょっと待って、チャートがある、とすべてが繰り返される。
次のビルドでは、このバグを修正するようお願いします。カスタムの可能性を大きく狭めることになります。

 
Sergey Dzyublik:
2018.01.29のMT5 - 1758が利用できるはずだと報告されています。
そのバージョンをお持ちの方はいらっしゃいますか?
MetaQuotes-Demoが MT5の最大値 -1755を出力しています。

MetaQuotes-BSE - 類似しています。

 

結果:不戦勝

template<typename T>
    string _typename( T ) { return typename( T ); }
class A {};
void OnStart()
{
    A* const a = NULL;
    Print( _typename( a )    ==    typename( a ) );
}

結果:false

期待値:true

 
A100:

結果:不戦勝

結果:false

期待値:true

エラーはありません。こう書けばよかったんだ

string _typename( T& ) { return typename( T ); }
 
fxsaber:

エラーはありません。こう書けばよかったんだ

が追加され、別のコードになっています。

A*をintに置き換えて、intでエラーにならないことを書いた方がいいかもしれません。

template<typename T>
    string _typename( T ) { return typename( T ); }
class A {};
void OnStart()
{
     A* const a = NULL;
    int const b = NULL;                             //Результат:
    Print( _typename( a )    ==    typename( a ) ); // false
    Print( _typename( b )    ==    typename( b ) ); // true
}
何が違うの?
 

コンパイルエラー

class A {};
                     void f1( A* const ) {}
template<typename T> void f2( T  const ) {}
void OnStart()
{
    int i;
    A  *a;
    f1( a ); //нормально
    f2( i ); //нормально
    f2( a ); //Error: 'f2' - cannot to apply function template
}
 

PositionSelectByTicket

指定されたチケットで、さらに処理するためのオープンポジションを選択します。関数が正常に終了した場合、true を返す。関数が失敗した場合、false を返す。エラーに関する情報を得るにはGetLastError() 関数を呼び出します。

bool  PositionSelectByTicket(
   ulong   ticket     // тикет позиции
   );

パラメータ

チケット

[ポジションのチケット】。

戻り値

bool 型の値。

備考

PositionSelectByTicket()関数は、位置に関するデータをプログラム環境にコピーし、その後のPositionGetDouble()PositionGetInteger()、PositionGetString() の呼び出しで、先にコピーしたデータを返します。つまり、ポジションそのものはもう存在しないかもしれないが(あるいは、ボリュームや方向などが変わっているかもしれない)、このポジションのデータはまだ取り出すことができるのだ。新鮮な位置データの受信を保証するために、PositionSelect() 関数を呼び出す直前に呼び出すことを推奨します。

ドキュメントに誤りがあります。強調表示されている箇所はPositionSelectByTicketであるべきです。このタイプミスのせいで、モデレーターさえも混乱 する。

Документация по MQL5: Торговые функции / PositionSelectByTicket
Документация по MQL5: Торговые функции / PositionSelectByTicket
  • www.mql5.com
Выбирает открытую позицию для дальнейшей работы с ней по указанному тикету. Возвращает true при успешном завершении функции. Возвращает false при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError(). Функция PositionSelectByTicket() копирует данные о позиции в программное окружение, и...
 
プロフィールからメッセージシステムが消えてしまいましたが、これは正しいのでしょうか?
 
Vladimir Pastushak:
プロフィールからメッセージシステムが消えてしまいましたが、これは正しいのでしょうか?

MQの立場からすると、どうやら正しいようだ。いつものように、より便利なものを私たちのために決めてくれたのです。