無料でロボットをダウンロードする方法を見る
Telegram上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
ビュー:
31
評価:
(6)
パブリッシュ済み:
\MQL5\Include\MQL5Book\
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

開いているチャート間でグラフィカル・オブジェクトをコピー・アンド・ペーストする必要が生じたことはないだろうか。あると思います。意外なことに、MetaTraderはオブジェクトの「コピー&ペースト」機能を提供していません。唯一、多かれ少なかれ似たような効果を得ることができるのがテンプレート(tplファイル)です。しかし、テンプレートにはインジケーターや設定、多くの補助的なものを含む完全なチャート状態が保存されており、必要な複製手順には無関係で不必要な場合があります。

そこで私が開発したのがこのインジケータChartObjectsCopyPaste.mq5 です。選択したオブジェクトをクリップボードにコピーし、そこから他のチャートに貼り付けることができます。文字列はありません。

このインジケータは、algotrading bookに 掲載されている別のインジケータ、ObjectGroupEdit.mq5を ベースにしています。

裏側で動作しているすべての基礎クラス(ObjectMonitorMapArray、その他)の詳細については、リンクをたどってください。

このインジケーターにはバッファがありません。オブジェクトをコピーしたいソースチャートと、オブジェクトを貼り付けたい ターゲットチャートです。

チャート上で動作している間、インジケータは既存のグラフィカル・オブジェクトを追跡し、どれが選択されているかをメモします。

コピー&ペースト」コマンドは通常通り2つ1組で動作します:

  1. Ctrl+Q ホットキーを押すと、選択された全てのオブジェクトがテキストとして Windows のクリップボードにコピーされます。
  2. ターゲットチャート上で Ctrl+J を押すと、クリップボードからすべてのオブジェクトが貼り付けられます。

なぜCtrl+Q/Ctrl+Jなのか?この2つのキーの組み合わせは、数少ないキーの中から自発的に選ばれたものです。これはMetaTraderが多くのホットキーをMQLプログラムに伝達しないためです。特に、標準的なCtrl+C/Ctrl+V/Ctrl+Ins/Shift+Insはこのコンテキストでは動作しません。

ソースコードが公開されているので、ホットキーを他の組み合わせに変更することもできます。

インジケータはWindowsのクリップボードにアクセスするためにシステムDLLを使用するので、プロパティダイアログの[依存関係] タブでDLLのインポートを許可する必要があります。

コードベースがDLLのインポートを許可していないため、クリップボードに関連するコードは条件付きプリプロセッサ指令#ifdef DLL_LINKに包まれています。

#define DLL_LINK

という行をアンコメントしてください。そうしないと、クリップボード関数のスタブがホットキーの押下に応じてアラートを表示し、実際のアクションは実行されないことがわかります!

入力は以下の通りです:
  • MakeAllSelectable- すべてのオブジェクトを選択可能にするフラグ(プログラムで作成されたオブジェクトでは通常falseです);
  • LogDetails- 転送されたオブジェクトのすべてのプロパティをログに出力するフラグ;
このインジケータは、貼り付けられたオブジェクトが、シンボル、価格帯、サブウィンドウの数など、実際のターゲット・チャートと一致しているかどうかをチェックしません。- ご自身で行ってください。

以下は、2つのオブジェクトを含むクリップボードテキストの例です:

OBJ_VLINE       H1 Vertical Line 5578   0       0
enum ENUM_OBJECT_PROPERTY_INTEGER
0       OBJPROP_COLOR   55295
1       OBJPROP_STYLE   2
2       OBJPROP_WIDTH   1
3       OBJPROP_BACK    0
4       OBJPROP_SELECTED        1
7       OBJPROP_TYPE    0
8       OBJPROP_TIME    1726739940
10      OBJPROP_SELECTABLE      1
11      OBJPROP_CREATETIME      1726847009
12      OBJPROP_TIMEFRAMES      2097151
200     OBJPROP_LEVELS  0
207     OBJPROP_ZORDER  0
208     OBJPROP_HIDDEN  0
1032    OBJPROP_RAY     1
enum ENUM_OBJECT_PROPERTY_DOUBLE
9       OBJPROP_PRICE   1.11449
enum ENUM_OBJECT_PROPERTY_STRING
5       OBJPROP_NAME    H1 Vertical Line 5578
6       OBJPROP_TEXT    
206     OBJPROP_TOOLTIP 
OBJ_CHANNEL     H1 Equidistant Channel 40885    5       1
enum ENUM_OBJECT_PROPERTY_INTEGER
0       OBJPROP_COLOR   255
1       OBJPROP_STYLE   0
2       OBJPROP_WIDTH   1
3       OBJPROP_BACK    0
4       OBJPROP_SELECTED        1
7       OBJPROP_TYPE    5
8       OBJPROP_TIME    1726758000
8       OBJPROP_TIME.1  1726797600
8       OBJPROP_TIME.2  1726758000
10      OBJPROP_SELECTABLE      1
11      OBJPROP_CREATETIME      1726847883
12      OBJPROP_TIMEFRAMES      2097151
200     OBJPROP_LEVELS  0
207     OBJPROP_ZORDER  0
208     OBJPROP_HIDDEN  0
1003    OBJPROP_RAY_LEFT        0
1004    OBJPROP_RAY_RIGHT       0
1031    OBJPROP_FILL    0
enum ENUM_OBJECT_PROPERTY_DOUBLE
9       OBJPROP_PRICE   -28.113879003558715
9       OBJPROP_PRICE.1 -21.708185053380777
9       OBJPROP_PRICE.2 -48.04270462633452
enum ENUM_OBJECT_PROPERTY_STRING
5       OBJPROP_NAME    H1 Equidistant Channel 40885
6       OBJPROP_TEXT    
206     OBJPROP_TOOLTIP 

そして、これらのオブジェクトがチャートに貼り付けられています:

2つのグラフィカル・オブジェクトをクリップボード経由でチャートにペースト








MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/52263

ジグザグ校正ツール ジグザグ校正ツール

ジグザグ・インディケータで確認された強気・弱気の期間を、vlines を使って簡単に視覚化することができます。ジグザグの表示をコントロールすることができ、チャートの始点から開始するか、特定のバー数から開始するかを選択できます。また、ピークや谷の価格、過去の期間の方向、振幅(pips)を示すラベルの表示も可能です。もちろん、メイン・ウィンドウ上でもサブ・ウィンドウ上でも機能します。 警告!これは、インジケーターを理解し、キャリブレーションし、戦略を開発するための貴重な補助ツールですが、直接使用するためのものではありません。 DeepL.comで翻訳(無料版)

Code To Check And Delete Chart Objects For MT5 Code To Check And Delete Chart Objects For MT5

- このスクリプトは、現在のチャートをスキャンして、利用可能なチャート・オブジェクトを探し出し、そのオブジェクトをカウントして削除する。

Adaptive Moving Average (AMA) Adaptive Moving Average (AMA)

適応移動平均線は、ノイズの影響を受けにくい移動平均線を作るときに使われ、トレンドを検知する際にラグが最小に抑えられるという特徴を持ちます。

Accelerator Oscillator (AC) Accelerator Oscillator (AC)

アクセルレーション/デセレレーションインジケーター(AC)は現在の市場を動かす力の加速と減速を測ります。