MetaTrader 4 Build 529 ベータ版リリース、新コンパイラー搭載 - ページ 82

 

komposter どうやら私の言い分が間違っていたようです :) 。使える」とわかると嬉しくなるんですよね。新しいビルドにアップグレードした後は、喜びが減る代わりに、次のビルドへの希望と信念が湧いてくるんです :)まあ、そういうことなんですが......。自分の感情をできるだけ正しく表現することを心がけました。

Renat さん、ご返信ありがとうございます。私の指摘(少なくとも5つはすでにされている)も考慮され、何度も読み返す必要がないことを願いつつ、さらなる変更を待っています。

 

すべての端末(MT4/MT5)でFilesフォルダの中にMyCommonというサブフォルダを作り、1つの仮想ディスクにマッピングしています(ディスクは自動起動に設定されています)。 // これでこのフォルダはどこにでも表示されるようになりました。

このフォルダの中にIncludeというサブフォルダを作りました(これもどこでも見られるようになりました)。

このフォルダ(とサブフォルダ)の中に、すべての端末で一度にアクセスできるユニバーサルなmql4/5インクルードファイルを作成しました。 ifdef 系の // ディレクティブがようやく登場し、これで完璧に動作するようになりました。

本当に便利になりましたね。// 皆さんにお勧めします。

BUT :

ファイルの非同期編集で問題が発生しました。 // mql4とmql5のコードを同時にテストするために、MT4/ME4とMT5/ME5で同時に編集しながら書いています。

問題です。 片方のエディターでファイルを変更しても、もう片方はその変更に気づきません。 そんなことはない。 検出せず、拾わず、「再読み込み/無視」選択で「外部」ファイル変更も報告しない。

つまり、2番目のリアクターで変更を確認するためには、そのリアクターでファイルを閉じてから、再度開く必要があります。 これは非常に不便なことです。

開発者への大きなお願い:MEに読み込まれたファイルの外部からの変更の自動検出と処理を作ってください。

// 以前は動作していたと思うのですが、動作しなくなっただけでしょうか?

--

そしてもう一つの疑問は、なぜ条件付きコンパイル用のシンボルを独自に定義できないのか、ということです。 もう一度言いますが、本格的な機能ではありません。 それとも、私の目が悪いだけ?

 
MetaDriver:

すべての端末(MT4/MT5)でFilesフォルダの中にMyCommonというサブフォルダを作り、1つの仮想ディスクにマッピングしています(ディスクは自動起動に設定されています)。// これで、このフォルダはどこでも見えるようになりました。

このフォルダにサブフォルダIncludeを作成しました(現在はどこでも見ることができます)。

このフォルダ(とサブフォルダ)の中に、すべての端末で一度にアクセスできるユニバーサルなmql4/5インクルードファイルを作成しました。ifdef 系の // ディレクティブがようやく登場し、今では完璧に動作するようになりました。

本当に便利になりましたね。// 皆さんにお勧めします。

BUT :

ファイルの非同期編集で問題が発生しました。// mql4とmql5のコードを同時にテストするために、MT4/ME4とMT5/ME5で同時に編集しながら書いています。

問題です。 片方のエディターでファイルを変更しても、もう片方はその変更に気づきません。そんなことはない。検出せず、拾わず、「再読み込み/無視」選択で「外部」ファイル変更も報告しない。

つまり、2番目のリアクターで変更を確認するためには、その中でファイルを閉じてから再度開く必要があるのです。これはとても不便なことです。

開発者への大きなお願い:MEに読み込まれたファイルの自動検出と外部からの変更に対処してください。

// 以前は動作していたような気がするのですが、動作しなくなっただけでしょうか?

ifdefについてはどこに書いてあるのですか?MQLのヘルプに見当たらないのですが

 
MetaDriver:

1.すべての端末(MT4/MT5)でFilesフォルダにMyCommonというサブフォルダを作成し、1つの仮想ディスクにマッピングしました(ディスクは自動起動にしています)。 // これで、このフォルダはどこでも見えるようになりました。

このフォルダの中にIncludeのサブフォルダを作りました(今はどこでも見えるようになっています)。

このフォルダ(とサブフォルダ)の中に、すべての端末で一度にアクセスできるユニバーサルなmql4/5インクルードファイルを作成しました。 ifdef 系の // ディレクティブがようやく登場し、これで完璧に動作するようになりました。

本当に便利になりましたね。// 皆さんにお勧めします。

BUT :

2.ファイルの非同期編集で問題が発生しました。 // mql4とmql5のコードを同時にテストするために、MT4/ME4とMT5/ME5で同時に編集しながら書いています。

問題です。 片方のエディターでファイルを変更しても、もう片方はその変更に気づきません。 そんなことはない。 検出せず、拾わず、「再読み込み/無視」選択で「外部」ファイル変更も報告しない。

つまり、2番目のリアクターで変更を確認するためには、そのリアクターでファイルを閉じてから、再度開く必要があります。 これは非常に不便なことです。

開発者への大きなお願い:MEに読み込まれたファイルの外部からの変更の自動検出と処理をお願いします。

// 以前はあったのに、動かなくなっただけなのでは?

1.私見ですが、仮想ディスクよりもシンボリックリンク、ソフトリンク、ハードリンクを利用した方が便利で確実だと思います。それでも、OSのオプションはソフトウェアよりも信頼性が高い。
2.自動保存がしたくない場合は、外部エディタからの変更の検出は行いません。
 
MetaDriver:

Filesフォルダー内のすべてのターミナル(MT4/MT5)をMyCommonサブフォルダーにし、 それらをすべて1つの仮想ドライブにマッピング。

ハードリンクのことでしょうか?

なぜ MQL4 MQL5 001 でないのですか?なぜ、Programsで?

 
MetaDriver:

すべての端末(MT4/MT5)でFilesフォルダの中にMyCommonというサブフォルダを作り、1つの仮想ディスクにマッピングしています(ディスクは自動起動に設定されています)。 // これでこのフォルダはどこにでも表示されるようになりました。

このフォルダの中にサブフォルダIncludeを作りました(今はどこでも見えるようになっています)。

このフォルダ(とサブフォルダ)の中に、すべての端末で一度にアクセスできるユニバーサルなmql4/5インクルードファイルを作成しました。 ifdef 系の // ディレクティブがようやく登場し、これで完璧に動作するようになりました。

本当に便利になりましたね。// 皆さんにお勧めします。

BUT :

ファイルの非同期編集で問題が発生しました。 // mql4とmql5のコードを同時にテストするために、MT4/ME4とMT5/ME5で同時に編集しながら書いています。

問題です。 片方のエディターでファイルを変更しても、もう片方はその変更に気づきません。 そんなことはない。 検出せず、拾わず、「再読み込み/無視」選択で「外部」ファイル変更も報告しない。

つまり、2番目のリアクターで変更を確認するためには、そのリアクターでファイルを閉じてから、再度開く必要があります。 これは非常に不便なことです。

開発者への大きなお願い:MEに読み込まれたファイルの外部からの変更の自動検出と処理をお願いします。

// 以前はあったのに、動かなくなっただけなのでは?


ずん子
1.私見ですが、仮想ディスクよりもシンボリックリンク、ソフトリンク、ハードリンクを利用した方が便利で確実だと思います。それでも、OSのオプションはソフトウェアよりも信頼性が高い。
2.もし、自動保存をしたくないのであれば、外部エディタからの変更の検出はできない。

komposter

ハードリンクのことでしょうか?

MQL4MQL5 ではダメなんですか?なぜ、Programsで?

イラストをお願いします。
 
Barbarian:

ifdefについてはどこに書いてあるのですか?MQLのヘルプに見当たらないのですが

お知らせにありました(MT5のアップデートで 確実に)。 そして、実装されたのです。

//\files\MyCommon\Include\StatBasket_01.mqh
//+------------------------------------------------------------------+
//|                                                StatBasket_01.mqh |
//|                                           © 2013, MetaDriver Lab |
//|                       https://www.mql5.com/ru/users/MetaDriver |
//+------------------------------------------------------------------+
#property copyright "© 2013, MetaDriver Lab"
#property link      "https://www.mql5.com/ru/users/MetaDriver"

#ifndef __MQL5__
    #property strict
#endif 

#ifdef _DEBUG
class CLogPrint  // дебаг версия лог-файла (расширенная)
  {
public:
                     CBebugLog(void);
                    ~CBebugLog(void);
  };
#else 
class CLogPrint  // релиз версия
  {
public:
                     CBebugLog(void);
                    ~CBebugLog(void);
  };
#endif 

class CSBasket
  {
public:
                     CSBasket(void);
                    ~CSBasket(void);
  };

--

これだけの効果がある。 使用することができます。

 
Zhunko:
1.私見ですが、仮想ディスクよりもシンボリックリンク、ソフトリンク、ハードリンクを利用した方が便利で確実だと思います。それでも、OSのオプションはソフトウェアよりも信頼性が高い。
2.自動保存がしたくない場合は、外部エディタからの変更の検出は行いません。

1. ソフトリンクとハードリンクがよくわからない。 どうやるか、どう使うか。

2.見てみよう。 そんなに断定的にならなくてもいいんじゃない? だから昔はそうだったって(ME5で。エディターが「ファイルが変更されました、再読み込みしますか?」って言ってた)

 
komposter:

ハードリンクのことでしょうか?

なぜMQL4MQL5TENTAではダメなんだ?なぜFilesなのか?

ハードリンクがよくわからない。でも、きっとそうなんでしょう。

理由は、Filesにある - mql-programがそこに書けるからです。 大規模なEnumやルーチンのソースでインクルージョンを自動生成する際に、コードジェネレータでロジックやデータを変更する必要があることがよくあります。

// 私は通常、複雑なものは生成しませんが、単純で規則的なもの(構造的に)や、ごく日常的なもの(50個の外部変数、たとえばMT最適化用のニューラルネットワークの係数など)が必要になることがよくあります。

 
tara:

イラストでもいいんですか?

Alexeiさん、ソースコードを1つ添付しましたが、これでいいのでしょうか?

ただ、どのようなイラストが欲しいのかが分かりませんでした。

エクスプローラーで仮想フォルダを見ると、こんな感じです。



それで、仮想ドライブのマッピングにパスを追加することができます。


理由: