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

 

MetaEditorでプロジェクト作業を行う際、「プロジェクト」タブにあるプロジェクトファイルを、例えば新しく作成したサブフォルダに移動 する場合、全体の「儀式」を行わなければならないようにしました。

- 移動するファイルに加えられたすべての変更が保存されていることを確認してください。そうしないと、せっかく行った作業が失われる可能性があります。
- プロジェクト」タブにあるファイルを新しい場所にドラッグ&ドロップ します。
- 不正なパスを使用している可能性があるため、移行するファイルのタブをすべて閉じます。
- 閉じたタブを新しいパスで再度開きます。
- 開いているタブを閉じる前と同じ順番に並べ替えます。

提案します。
プロジェクト]タブで、プロジェクトファイルを新規に作成したサブフォルダーなどに移動する場合。
- は、開いているが変更されていないファイルについて、その位置パスを自動的に更新します。
- 変更されたファイルの場合は、さらに「保存して転送」、「変更を削除して転送」、「転送操作をキャンセル」のいずれかの確認を求めます。


 
Igor Makanu :

メモリは12GB、Windows10、空きメモリは約8GBです。


MT4/MT5端子で許容される最大線長を知るために、このテストが必要でした。

Redisデータベースを介して端末間のやり取りを行いたい

Redisは非常にシンプルなデータベースで、文字列(キー - 値 --> strin - 文字列)のみで動作します。

昨日、POD構造体をBase64でシリアライズしたところ、データサイズが約1/3になりました。

この場合でも、1回の取引で400Mbのサイズの構造体を交換できる可能性があると思うので、どんな目的でも十分すぎるほどです!)

この "Redis "をチェックするのだろうか、それはわからない。

そこで、私のほうであなたのコードをチェックしたところ、あまりに遅いので1分で止めました。だから、ちょっと変えてみました;-)

#define  STEP      1000000     // 1 million
#define  MILLION   1000000
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
  printf("m_physical = %i MB, m_total = %i MB, m_available = %i MB, m_used = %i MB, limit = %i MB, used = %i MB",
         TerminalInfoInteger(TERMINAL_MEMORY_PHYSICAL), TerminalInfoInteger(TERMINAL_MEMORY_TOTAL),
         TerminalInfoInteger(TERMINAL_MEMORY_AVAILABLE), TerminalInfoInteger(TERMINAL_MEMORY_USED),
         MQLInfoInteger(MQL_MEMORY_LIMIT),MQLInfoInteger(MQL_MEMORY_USED));

  string s = "";
  int size=INT_MAX;

  do
    {
    size-=STEP;
    }
  while(!StringInit(s,size,USHORT_MAX));

  long length = StringLen(s);
  printf("StringLen = %lli millions characters, m_used = %i MB, used = %i MB", length/MILLION, TerminalInfoInteger(TERMINAL_MEMORY_USED),MQLInfoInteger(MQL_MEMORY_USED));
  }

2020.02.13 15: 50: 51.199 1111R-2646 (EURUSD, M1) m_physical = 16230 MB, m_total = 32460 MB, m_available = 31786 MB, m_used = 674 MB, limit = 8388608 MB, used = 0 MB
2020.02.13 15: 51.763 1111R-2646 (EURUSD, M1)StringLen=1073 million characters、 m_used = 2722 MB, used =2048 MB

1秒以下最後にmql5の制限ですが、これは2GB、約10億7300万文字です。

 

なぜico-fileはコードベースに読み込めないのか、説明してください。それらは、MQLツールで接続されたプログラムの標準的な部分です。禁止されているのは明らかにおかしい。しかし、それはそれ以上のものです。

適切に準備されたicoは、動作に影響を与えることなくpngにリネームすることができます:プログラムに適切にリンクされ(#property icon "mql5pack.png "を使用)、プロパティダイアログに表示されます。しかし、これらはすべてローカルにしか通用しない。このようなpngをcodebaseにアップロードしたところ、ソースをチェックするときにエラーが発生しました。

mql5pack.mq5(27,11) : error 341: cannot open icon file 'mql5pack.png'
main file not found

せめてアイコンの読み込みやチェックくらいはmql5の管理者にお願いします。

PS.訂正しますと、サイトが黙ってpngファイルを食べ、つまりアップロードに与えるようですが、その後、コンパイルされたファイルのリストにないようです。 MQL5Images, MQL5Files を試しましたが、サーバーに何もアップロードされず、エラーもなく静かに保存されています。チェック時にエラーになる。

 
コンパイル エラーを回避する方法を教えてください。
struct STRUCT
{
  static const int Array[];
  int Array2[sizeof(STRUCT::Array)]; // unresolved static variable 'STRUCT::Array'
};

static const int STRUCT::Array[] = {1, 2};

void OnStart()
{
  static const int Array[] = {1, 2};
  
  int Array2[sizeof(Array)]; // OK
}
 

皆さん、mt5でオープンオーダーが入れ替わらないようにするにはどうしたらいいのでしょうか?

 
Сергей Проценко:

皆さん、オープンオーダーが入れ替わらないようにするにはどうしたらいいのでしょうか?

すいません、どうやって入れ替わるんですか?

 
Сергей Таболин:

すいません、どうやって入れ替わるんですか?

利益に応じて、利益が大きければ下に移動し、もう一方の注文の方が利益が大きければ、場所を入れ替える。ユーロの利益が金の利益より大きくなれば、ユーロの注文は少なくなり、金の注文はそれより多くなる。
 
Сергей Проценко:
利益に応じて、利益が高ければ下に移動し、他の注文の方が利益が高ければ場所を入れ替える。

シンボル、チケット、時間のいずれかのカラムヘッダをクリックします。

 
Vladimir Karputov:

シンボル、チケット、時間のいずれかのカラムヘッダをクリックします。

これが唯一の結果です。
 
Сергей Проценко:
これが唯一の結果です。

Symbol、Ticket、Timeのいずれかの列のヘッダーをクリックします。

LEFT KEYをクリックします。タイトルをクリックします。