記事"エキスパートアドバイザとインディケータに素早く制御パネルを追加する方法"についてのディスカッション - ページ 4

 
Vladimir Karputov:

関数に入ったら即座に禁止フラグを処理する。

しかし...ちょっと待って

追記しました:

禁則フラグに応じたプレス処理が必要なだけです。

なるほど、そういうことだったのか。
 
MetaQuotes Software Corp.:

新しい記事インジケーターやExpert Advisorにコントロールパネルを短時間で追加する を公開しました:

オート

hor:カルプトフ・ウラジーミル

こんにちは!

とてもいい仕事だ!:)

MQ4のMACD_exempleをgrapch関数を使うように変換しました。

しかし、TFを2回以上変更すると、ウィンドウが完全に設定解除されてしまいます。

どうか助けてください。

画像を見てください!

ファイル:
 
Vitor Hervatin:
私の記事はMetaTrader 5について です。私もパネル(ビルド1502)を分解しましたが。
 
Vladimir Karputov:
私の記事はMetaTrader 5について です。しかし、私も、パネル(ビルド1502)を分割します。
私はこれを知っているが、多分あなたは私を助けることができる!
 
Vitor Hervatin:
分かってはいるんだけど!
私はずっと前の古い端末をサポートしていない。
 
Vladimir Karputov:
私はずっと前の古い端末はサポートしていません。
わかりました!ありがとうございました。
 
Vladimir Karputov:
  1. 直近のアップデートでは、標準ライブラリーが 復元され、それに伴いDefines.mqhファイルも復元されます。
  2. 標準ライブラリを編集するのは良いことではありません。
理論的には、プロジェクトの中だけでDefines.mqhを編集することができます。

#include <Controls\Label.mqh>
#include <Controls\Panel.mqh>
#include <Controls\Edit.mqh>
// #include <ControlsDefines.mqh>
#include <Controls\Button.mqh>
しかし、以下の方法は、より美しいです。



取引、自動取引システム、取引戦略のテストに関するフォーラム

Expert Advisorの設定を更新すると、パネルが離れてしまうのはなぜですか?

Andrey Khatimlianskii, 2016.03.10 13:17

だいたいこんな感じです:

// Dialog.mqhに接続する前に!
#include <Controls\Defines.mqh>

//--- 古い色は忘れよう
#undef   CONTROLS_DIALOG_COLOR_BORDER_LIGHT
#undef   CONTROLS_DIALOG_COLOR_BORDER_DARK
#undef   CONTROLS_DIALOG_COLOR_BG
#undef   CONTROLS_DIALOG_COLOR_CAPTION_TEXT
#undef   CONTROLS_DIALOG_COLOR_CLIENT_BG
#undef   CONTROLS_DIALOG_COLOR_CLIENT_BORDER

//--- 新しい色を設定する
#define  CONTROLS_DIALOG_COLOR_BORDER_LIGHT  clrWhite            // ダイアログのボーダーの色(外側)
#define  CONTROLS_DIALOG_COLOR_BORDER_DARK   C'0xB6,0xB6,0xB6'   // ダイアログの枠の色(内側)
#define  CONTROLS_DIALOG_COLOR_BG            clrLightGreen       // ダイアログの背景 (キャプションの下とクライアントエリアの周囲)
#define  CONTROLS_DIALOG_COLOR_CAPTION_TEXT  C'0x28,0x29,0x3B'   // ダイアログのキャプション・テキストの色
#define  CONTROLS_DIALOG_COLOR_CLIENT_BG     clrAliceBlue        // クライアントエリアの背景色
#define  CONTROLS_DIALOG_COLOR_CLIENT_BORDER C'0xC8,0xC8,0xC8'   // クライアント・エリアの色

// 接続
#include <Controls\Dialog.mqh>
 

"OnCalculate()関数内で宣言されたprev_timestatictoday 変数"

タイプミス。today変数ではなく、static変数だ。

 
クリックせずにマウスを動かすと、パネル上のボタンが自然に押されるんだ。