無料でロボットをダウンロードする方法を見る

興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれをレーティングしてもらいます

記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。

ライブラリ

CRectとCCanvasの置換(標準ライブラリ-いくつかのエラーを修正しました) - MetaTrader 5のためのライブラリ

MetaQuotes / Changes by Doerk | Japanese English Русский 中文 Español Deutsch Português

発行者:
Doerk Hilger
ビュー:
359
レーティング:
投票: 22
パブリッシュされた:
2015.12.25 10:50
アップデートされた:
2016.11.22 07:34
\MQL5\Include\Controls\
rect.mqh (12.53 KB)ビュー
\MQL5\Include\Canvas\
canvas.mqh (82.83 KB)ビュー

実際の制作者:

MetaQuotes Software。修正と改善はDoerk氏。

標準ライブラリのピクセル単位の作業の時、いくつかの場所でピクセルが不足していることに気づくと思います。この奇妙な挙動は、主にクラスCRectのいくつかのエラーによって起きています。ここでの主な問題は、オリジナルのクラスが、長方形の高さと幅の計算の際にバグを出すことに起因しています。

オリジナルのCRectでは、幅は以下のように計算されます:

width = x2 - x1

これは単に間違っています。0.0から10.10の長方形のオブジェクトを作成すると、10ピクセルではなく、11ピクセルの幅のオブジェクトができます。したがって、正しい答えは

width = x2 - x1 +1

標準ライブラリのいくつかのその他のクラスでは幅は正しく計算されますが、いつもではありません(つまり、CCanvasでメモリのリソースへのアクセスや作成をする時であって、長方形を満たす時ではない)。いずれにしても、この動作が間違っている場合には、修正をしなくてはいけません。

これからは、== != >= <= > <などの通常の演算子を使い、2つの長方形を比較することができるようになりました。

コード化の代わりに

if (rect1.left==rect2.left && rect1.top==rect2.rect.top && rect1.right==rect2.rect.right && rect1.bottom==rect2.bottom)

これを入力するだけです

if (rect1==rect2)

また、長方形を大きくしたり幅を広げたりする為に、++、--、+などの単項演算子もサポートしています。

推奨事項:

  • ControlsフォルダのRect.mqhをこのファイルと入れ換えてください。そのファイルをほかのフォルダに入れないでください。動作しません。
  • CanvasフォルダのCanvas.mqhを添付されているファイルと入れ替えてください。そのファイルをほかのフォルダに入れないでください。動作しません。
  • このファイルのバックアップをとり、新しいバージョンのMetaTraderのソースフォルダにファイルを復元してください。
  • もしMetaQuotesがオリジナルをこれらのファイルに置き換えると決める場合は、どちらにしてもあなたに通知されると思います。

MetaQuotes Software Corp.により英語から翻訳された
元のコード: https://www.mql5.com/en/code/13936

CWndContainerの置換 CWndContainerの置換

これファイルは、オリジナルファイルのWndContainer.mqhを置き換えます。これは、コンテナの領域内でマウスのボタンを押したり、長押しをする際のチャートの変更を防止します。

Exp_FrAMACandle Exp_FrAMACandle

エキスパートアドバイザ Exp_MA_Rounding_Candleは、インディケータFrAMACandleのローソクの色の変化をベースに構築されています。

関心 (sentiment) 関心 (sentiment)

このインディケータは市場の関心です。インディケータは市場の関心(sentiment)―ブルとベアを表します。

BSI Trend Indicator BSI Trend Indicator

このインディケータは、インディケータBSIを使用してトレンドの状態を反映します。