見出し画像

👹鬼速!EAの画面表示を極める。

割引あり

1.はじめに

(1)拝啓 ロシアより愛をこめて―

ふと見つけたロシア人のライブラリ。
Aleksandr Slavskii(アレクサンドル・スラフスキー) 曰く

コメントの簡単な置き換え。
テスターでは標準機能の50倍速く動作します。

Comment - MetaTrader 5のためのライブラリ
https://www.mql5.com/ja/code/53499

「簡単な置き換え」「標準機能より50倍高速」
この言葉を聞くと、検証生活者としては検証せざるを得ません。

私は自作EAでComment(画面表示)は使用しています。
主な用途は「EAが動いていることを目視確認」するため。
ほぼ全てのEAで使用しています。
フォントが等幅でなく、見難く、MT4時代から不満な関数ではあります。

Comment(画面表示)※赤枠部分

(2)いきなり結論

まずは、この検証の結論を・・・
すげえっす‼️全ての自作EAに組込むことにしました‼️

<検証結果>百聞は一見に如かず。刮目せよ‼️
銘柄:AUDCAD
期間:2026.01.01~2026.01.31
上記バックテストをビジュアルモードで実行
※サンプルコードはOnInit、OnDeinitなどは省略

①通常のComment関数使用
実行時間:5分(300秒)

void OnTick()
{
   MqlTick tick;
   SymbolInfoTick(_Symbol, tick);
   if (tick.ask != 0 && tick.bid != 0) {
      string str = StringFormat(
         "ask  = %.5f\nbid  = %.5f\ntime = %s", tick.ask, tick.bid, 
         TimeToString(tick.time, TIME_DATE | TIME_SECONDS));
      Comment(str);
   }
}

📹実行動画(マジ5分かかるので途中で閉じてね💖)


②Commentライブラリ使用 ※#include <CommJP.mqh>のみ追加
実行時間:49秒(約6倍高速)すごい💦

#include <CommJP.mqh> //⭐この1行だけ追加
//+------------------------------------------------------------------+
void OnTick()
{
   MqlTick tick;
   SymbolInfoTick(_Symbol, tick);
   if (tick.ask != 0 && tick.bid != 0) {
      string str = StringFormat(
         "ask  = %.5f\nbid  = %.5f\ntime = %s", tick.ask, tick.bid, 
         TimeToString(tick.time, TIME_DATE | TIME_SECONDS));
      Comment(str);
   }
}

📹実行動画(※速すぎてうまく動画が撮れないので期間を2カ月に変更

驚きなのがその「高速さ」「簡単さ」
プログラムでオブジェクト操作とか面倒なことを意識しなくてもOK。
最初の1行「#include <CommJP.mqh>」だけ呪文を唱えれば、後は何も意識せず、いつも通りのコードで『鬼の高速化👹』が実現される!
※EAの高速化=CPUの負荷軽減=VPSの負荷軽減

自作EAのバックテストをビジュアルモードで実行してみたら・・・
・通常のComment関数:1時間6分14秒(3,974秒)
・鬼速方式:2分54秒(174秒)※22.8倍高速!
是非この感動をあなたにも体感して欲しい!
高速化だけでなく画面表示もキレイになってナニコレ。
ハラショー(良い)!アトリーチナ(とても良い)!
プリクラーシナ(素晴らしい)!!


2.もろもろ説明(時を戻そう)

いきなりの結論から・・・時を戻そう。

ぺこぱの商人

(1)MT5の仕様変更の影響でそのままでは動作しない

まず、Aleksandr Slavskii(アレクサンドル・スラフスキー)が無料で公開してくれているライブラリですが、MT5の仕様変更の影響でそのままでは動作しません

MetaEditor エラーメッセージ

EA開発者やMQLコードに関して知識がある方は、私の販売する「我がまま版」は購入不要で、ご自身で対応されればよいと思います。

(2)細かい点が気になる(小姑💦)

💦①当たり前だがプログラムのコメントがロシア語
💦②デフォルトフォントが日本語対応していない(Consolas)
💦③フォント指定が入力方式(入力でなく選択したい)
💦④2方式欲しい(パラメーターあり版/なし版)
 ※パラメーターなし版※
 ・自作EAに組込んで使用する
 ・Comment関数の表示仕様に寄せる(文字色白固定など)

(3)我がまま版(自分も使う)

①プログラムコメントの日本語化

①プログラムコメントの日本語化

②画面表示の日本語対応化
③フォントの選択可(ただし下図のフォントのみに限定)

標準的な日本語フォントのみリスト化

MQL5のComment関数のデフォルトフォントは見難いですが、かなり見易くなりました!(しかもこっちの方が速いので言うことナス🍆)

日本語対応フォントで表示(BIZ UDゴシック)

④2方式に対応
【方式1】EAのパラメーターに画面表示パラメーターを追加しない
※「CommJPn.mqh」をインクルード

#include <CommJPn.mqh> // 画面表示パラメーターを追加しない
EAの「インプット」タブ ※画面表示パラメーターなし

【方式2】EAのパラメーターに画面表示パラメーターを追加する
※「CommJP.mqh」をインクルード

#include <CommJP.mqh> // 画面表示パラメーターを追加する
EAの「インプット」タブ ※画面表示パラメーターあり

⑤📹実際に動かしてみました!
脅威の34秒!(標準Comment関数の8.8倍高速)

(4)我がまま版のダウンロード

プログラムソースコードにて提供します。
MT5専用です。※MT4では動作しません
ダウンロードできるファイルは以下の4つ。

  • 「CommJP.mqh」  ・・・ヘッダーファイル(パラメーターあり版)

  • 「CommJPn.mqh」・・・ヘッダーファイル(パラメーターなし版)

  • 「Comm_Example.mq5」・・・EAサンプル(パラメーターあり版)

  • 「Comm_Example.mq5」・・・EAサンプル(パラメーターなし版)

ここから先は

388字 / 1ファイル

Amazon Payで支払うと最大2%還元のチャンス! 9/30まで

いただいたチップはクリエイターとしての活動費に使わせていただきます!