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

 

私はこの行をインジケーターのソースコードに追加しています。

#property version             "1.00"
#property description         "This indicator looks for two consecutive fractal and puts signal pointers"
#property description         "Flag DrawArrowSig : true = Set signal arrow, false = No set signal arrow"
#property icon                "\\files\\FindTwoFractals32x32.ico";

最終的にはこれです。


だからこその質問です。

  1. インジケーターでリソースを使うことは全くできないのでしょうか?
  2. アイコンファイル"㊧FindTwoFractals32x32.ico " のパスは正しく指定されていますか?
  3. アイコンのピクセルサイズはどの程度まで許容されますか?
ありがとうございます。
 
artmedia70:

私はこの行をインジケーターのソースコードに追加しています。

最終的にはこれです。


だからこその質問です。

  1. インジケーターでリソースを使うことは全くできないのでしょうか?
  2. アイコンファイル"㊧FindTwoFractals32x32.ico " のパスは正しく指定されていますか?
  3. アイコンはどの程度のピクセルサイズまで許容されますか?
ありがとうございます。


1.可能です。MT5と同じ大きさのウィンドウに変更します。

2.ファイル-データディレクトリを開く "を見てください。これはパスが読み込まれる場所です

3. 16x16から64x64(128x128)までのフルセット(複数のアイコンを1つのファイルにまとめたもの)の.icoファイルを使用するのがよいでしょう。近い将来、オペレーティングシステムのインターフェイスに直接ネイティブなアイコンでプログラムが表示されるようになるでしょう。

また、リソースについてもご紹介しています。

 

externやinputパラメータを作成する際に、//の後に変数を記述に置き換えるという非常に便利なトリックを作りましたね。

カスタム関数の説明を置き換えることは可能ですか?現在、私は渡された値のすべてのパラメータを見るために私の関数の文字列型の変数の空の初期化を行う

 
double  iBands(
   string       symbol,           // имя символа
   int          timeframe,        // таймфрейм
   int          period,           // период
   int          deviation,        // отклонение
   int          bands_shift,      // сдвиг относительно цены
   int          applied_price,    // тип цены
   int          mode,             // индекс линии
   int          shift             // сдвиг
   );
У deviation тип double должен быть.
 

プロトタイプの中で明示的に変数名を指定することで、ほとんどの問題は解決します。つまり、typ1, typ2 ではなく、transaction_type, trade_operation などです。

列挙された値がある場合は、enumで記述した方が、編集時に自動置換が可能である。

 
Renat:
UACの互換性のために、すべてを同じビューに持ってきているのです。534ビルドでのディレクトリの移行が完了しました。

I.e.534のビルドは1つではないのですか?534 buildで、terminalはX: \Program Files (x86) にも X:㊙Program Files にもインストールされていない、OSはWindows 7、権限は管理者システム、念のためterminalのディレクトリとサブディレクトリにフルアクセスを設定したが、"ゴミ "は X:\Usersxxx\AppData\Roaming\MetaQuotesに作られたままだ、ということで勝手に質問が発生した。同時に、X: \ProgramDataMetaQuotesの中の "ゴミ "も作成されます。529 build with all mentioned above, in the rubbish in X:\UsersxxxAppData︓Roaming︓MetaQuotesが作成されない。

忘れてました、/portableのパラメータはオンです。

 
この謎のパラメーター「/portable」とは何でしょうか?どこに入れるべきでしょうか?それとも違うのでしょうか?
 
Zhunko:
この謎のパラメーター「/portable」とは何でしょうか?どこに入れるべきでしょうか?それとも違うのか?
このパラメータは、端末を サンドボックスで強制的に起動させ、端末またはunitorの起動時に有効になります。理論的には、プログラムがシステム内にゴミを作るのを防いでくれるはずです。バッチファイル - start terminal.exe /portable を作成しました。
 
Barbarian:

I.e.534のビルドは1つではないのですか?534 buildで、terminalはX: \Program Files (x86)にもX:㊙Program Filesにもインストールされていない、OSはWindows 7、権利はシステム管理者、一応terminalのディレクトリとサブディレクトリにフルアクセスを設定したが、X:㊙Usersxxx\AppData\Roaming\MetaQuotesに「ゴミ」が作成されたままなので自問することに。同時に、X: \ProgramDataMetaQuotesの中の "ゴミ "も作成されます。529 build with all mentioned above, in the rubbish in X:\UsersxxxAppData︓Roaming︓MetaQuotesが作成されない。

忘れました、/portableパラメータが有効になっています。

1つ作る。

64ビットWindows上の32ビットアプリケーションは、Program Files (x86)にのみインストールされます - これはMicrosoftの互換性要件です。

Users/AppDataエリアのデータディレクトリは、もはやゴミではなく、Microsoftの推奨事項(すべての開発者が長年気にしていなかった)でもなく、人生の厳しい真実なのです。最近のOSでは、マイクロソフトは、UACに対処する他の方法がないため、誰もが正しく動作するようにスレッジハンマーで叩いています。マスマーケットには、この方法しか残されていないのです。UACがどこでも有効で、決して無効化されることはないと考えてください。

ターミナルのデータの大部分をローカルディレクトリに保存させたり、ポータブル/トランスポータブル モード (フラッシュなど) で動作させるには、/portable フラグを使用する必要があります。ただし、個人を特定しない一般的なデータをUsers/AppDataに保存する場合は、まだこの限りではありません。

 
Barbarian:
このパラメータは、ターミナルを強制的にサンドボックスで実行させ、ターミナルまたはユニキャストの起動時に有効になります。これは、プログラムがシステム上にゴミを作るのを防ぐためのものです。バッチファイル - start terminal.exe /portable を作成しました。
おかしいな...。昔と同じように、デフォルトにすべきなのでは?