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

 
どなたか、便利なウィンドウズ/チャート・マネージャーをご紹介ください。リストのアルファベット順ソート、コンテキスト検索、ダウンロードしたすべてのEA、スクリプト、インジケータの階層表示、高速スイッチングが必要です。
 
Stanislav Korotky:
MQLプログラムが、ユーザーによるインタラクティブな操作ではなく、ターミナル・スタート(つまりセッションの開始時に自動的に)の結果として起動されたことを知る方法はありますか?

OnDeinitで 理由ファイルに書き込み、起動時に読み込むことができます。読み込んだ理由がREASON_CLOSE であった場合、 端末起動の 結果としてプログラムを読み込んだことになる (閉じた結果として終了したため)無いなら無いで、違うなら違うで...。

Документация по MQL5: Обработка событий / OnDeinit
Документация по MQL5: Обработка событий / OnDeinit
  • www.mql5.com
OnDeinit - Обработка событий - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Stanislav Korotky:

この 記事にあるControlsPlusのウィンドウとコントロールのライブラリのパッチ適用版を試してみてください。そこでは、ゴム引きが自動的にサポートされていた。

ありがとうございます。でも、全然違うんです。SBで動作するコードの微調整が必要

 

余分なスペースがあるエディターズバグ

https://photos.app.goo.gl/CK2KSZaKVRKMCz1S8

バグが消えるまでの流れはこちら

https://photos.app.goo.gl/bSPtMDL4MKSKpbFP6

ように、uncompilableのコピーです。


mt5でも同じ問題

ファイル:
err.mq4  2 kb
err.mq5  2 kb
 
Vitaly Muzichenko:

ありがとうございます。でも、全然違うんです。SBで動作するコードに手を加える必要がある。

全然違うってどういうこと?パッチを当てたSB版を提供し、上記の問題を解決した。まあ、あなたがボスなんですけどね。

 
Stanislav Korotky:
どなたか、便利なウィンドウズ/チャート・マネージャーをご紹介ください。リストのアルファベット順ソート、コンテキスト検索、ロードされたすべてのEA、スクリプト、インジケータの階層表示、高速スイッチングが必要です。

おそらく、作り直しの端末のF2が一部効くのでしょう。

 
Stanislav Korotky:

全然違うってどういうこと?パッチを当てたバージョンのSBを持っていくことを提案したところ、問題が解決しました。まあ、ボスはボスですからね。

どこにでも持ち運ばなければならないし、SBは常にそこにある。それが重要な「間違い」なのです。

必要なのは、SBを使った変形の編集です。

 
Andrey Sokolov:

エディターで余分なスペースが入るバグ

***

そのバグを解消する方法を紹介します。

***

ように、uncompilableのコピーです。


mt5でも同じ問題

画像 ボタンで写真の挿入、ファイルRuを添付する ボタンで写真の貼り付けを行います。

 

ドキュメントに書かれていることとは裏腹に、GlobalVariableCheck()はアクセス時間を変更しない

Возвращаемое значение

指定されたグローバル変数に最後にアクセスした時刻を返します。 GlobalVariableGet()GlobalVariableCheck() などで、値を指定して変数にアクセスすると、最終アクセス時刻も変更されます。エラー 情報を取得するには、GetLastError() を呼び出します。

ドキュメントか関数の動作のどちらかを修正する。

Документация по MQL5: Глобальные переменные терминала / GlobalVariableGet
Документация по MQL5: Глобальные переменные терминала / GlobalVariableGet
  • www.mql5.com
GlobalVariableGet - Глобальные переменные терминала - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

派生構造で、ファイルからの保存/読み込み時に新しいデータが追加されないというエラーが発生します。

struct Base
  {
   int               anInt;
   double            aDouble;
                     Base(void)
     {
      anInt   = WRONG_VALUE;
      aDouble = WRONG_VALUE;
     }
  };
struct DerivedNoNew : public Base
  {
   void              Set(int iValue,double dValue)
     {
      anInt   = iValue;
      aDouble = dValue;
     }
  };

const string filename = "TestStructToFile";
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Base base[1];
   DerivedNoNew derived[1];
   int sizeof1   = sizeof(Base);
   int sizeof3   = sizeof(DerivedNoNew);

   int handle=FileOpen(filename,FILE_BIN|FILE_WRITE);
   if(handle!=INVALID_HANDLE)
     {
      derived[0].Set(5,12.0);

      uint written1 = FileWriteStruct(handle,base[0],sizeof1);
      uint written3 = FileWriteStruct(handle,derived[0],sizeof3);   // NOT saved
      int err       = _LastError;
      FileClose(handle);
     }

   handle=FileOpen(filename,FILE_BIN|FILE_READ);
   if(handle!=INVALID_HANDLE)
     {
      uint read3  = FileReadStruct(handle,derived[0],sizeof3);      // NOT loaded
      uint read1  = FileReadStruct(handle,base[0],sizeof1);
      FileClose(handle);
     }
  }
2021.02.22 12:52:11.188 FileAndStructIssue (EURUSD,D1) Written 1: 12 2: 203: 0 (error 4003) Total: 32 FileSize: 32
2021.02.22 12:52:11.193 FileAndStructIssue (EURUSD,D1) Read 1: 12 2: 203: 0(error 4003) Total: 32

ファイル: