ブログタイトルを「FX自動売買システム開発部」から「autoFX」に変更しました!

MQLエディターは秀丸に落ち着きました

MQLファイルのエディター探しの旅、完結

メタエディターを試してみたり、VSCodeを試してみたりと右往左往していましたが、結局、一周回って秀丸に落ち着きました。

そもそも秀丸以外のMQLエディターを探していた最大の理由は「コンパイル結果を標準出力できなくなり、秀丸内でエラー箇所に直接飛べなくなったから」でした。

それが解決したのです!!

右往左往したおかげです。

VSCodeを試している中で、Powershellコマンド経由でコンパイルを実行し、そのログファイルを読込み標準出力するというスクリプト(COMPILE-MQL.PS1)を見つけたわけですが、「これを秀丸に応用すればいいんじゃない?」と思いついて試してみたら上手くいったのです。

これで秀丸を使わない理由がなくなったわけです。

シェアウェアなのがネックになる人もいるかもしれませんが、それだけの価値は十分にある製品だと思いますよ。起動時の通知さえ我慢すれば無料でも使えますし。

秀丸は15年近く使っていて完全に手に馴染んでいるので、ほんとに良かったです。

ただいま、秀丸^-^

秀丸の設定方法

備忘録がてら、秀丸の設定方法を紹介します。

秀丸のプログラム実行

上図のコマンドライン部分の全文は以下の通りです。

"powershell.exe" "C:\Users\ユーザ名\AppData\Roaming\MetaQuotes\Terminal\長い文字列\MQL4\Compile-MQL.ps1" "%f"

Compile-MQL.ps1の中身は以下の通りです。

#コンパイル対象のMQLファイルを外部パラメータとして取得し、$FileToCompileに格納
Param($FileToCompile)

#コンソールをクリア
Clear-Host

#パス設定(PCごとに異なるので、適宜編集すること)
$MT4_Path = "C:\Program Files (x86)\Tradeview MetaTrader 4 Terminal"
$MQL_Path = "C:\Users\ユーザ名\AppData\Roaming\MetaQuotes\Terminal\長い文字列"

#MQLファイル名やパスに空白が含まれていたらエラー(先人が試した結果、これは回避できなかった模様)
if($FileToCompile.Contains(" ")){
  Write-Host "エラー:コンパイルに失敗しました。ファイル名かパスに空白が含まれています。 $FileToCompile"
  return
}

#コンパイル実行
& "$MT4_Path\metaeditor.exe" /compile:"$FileToCompile" /log:"$FileToCompile.log" /inc:"$MQL_Path\MQL4" | Out-Null

#ログファイルを読み込み、空白行を除去し、1行目も役に立たないのでスキップ
$Log = Get-Content -Path "$FileToCompile.log" | Where-Object {$_ -ne ""} | Select-Object -Skip 1

#ログファイルの内容をコンソールに出力
$Log | ForEach-Object{Write-Host $_}

MQL4プログラミングの最新記事8件

>完全放ったらかしEA 「AutoEndlessCatchRange」

完全放ったらかしEA 「AutoEndlessCatchRange」

「本業が忙しい!」「でも資産運用したい!」そんなあなたに最適なEAです。兼業トレーダーの方はチャートを毎日みて分析してトレードする時間はなかなか確保できないものです。トレードは本EAに任せて、本業やプライベートの時間をもっと増やしませんか?元々は自分自身のために開発したEAですので、手抜き無しのガチものです。

CTR IMG