MT5/MQL5
ボラティリティが無いとトレードしづらいので、トレード前にボリンジャーバンド(以下「BB」)の様子を見ています。しかし、手作業で主要通貨ペアのチャートを見るのは手間です。 そこで、BBの幅をエキスパートに出力するスクリプトを書いてみました。 なお…
この誤差は何? EAの中で平均足を計算するコードを作成し、動作チェックを行いました。具体的には、EAで計算した平均足の値と、MT5のHeiken_Ashiインディケーターがデータウィンドウに表示した値を比較しました。 (備考)MT5においては、Heikin_Ashiではな…
MT5でspreadの値を取得する方法はいくつかありますが、以下の記事によると、取得する方法によって値が異なる場合があるようです。 https://fmdsm.blog.fc2.com/blog-entry-94.html 上記記事の内容から「MqlRates.spread」「iSpread()」「spread[]」を使って…
MQL5のヘルプを眺めていたらArrayReverseという関数が目に留まりました。使ったことがなかったので、以下のコードで動作確認をしてみました。 void OnStart() { int hoge[4] = {3, 5, 7, 9}; for(int i = 0; i < 4; i++) printf("hoge[%d] = %d", i, hoge[i]…
ストップレベル(StopLevel)とは? MT5でバックテスト中、注文に失敗しました。「TRADE_RETCODE_INVALID_STOPS」というリターンコードが返ってきており、原因はストップレベル違反でした。 ストップレベル違反とは「TP(利確価格)やSL(損切価格)を指定す…
MT4からMT5へ移行して以降、MTFの移動平均線(以下「MA」)を使っていませんでしたが、5分足チャートや15分足チャートを見ている時に「1時間足のMAも表示されている方が便利だな」と思ったので、上位足のMAを表示するインディケーターを、MQL5の練習を兼ねて…
参考にした記事 この記事では、下記リンクの記事に記載されているPowerShellスクリプトを使わせていただいています。 How to Code & Compile MQL5 in Visual Studio - A Complete Guide - Other - 13 July 2018 - Traders' Blogs この記事を書いた理由 基本…
昨年MT4用に書いたコードをMT5で試してみたところ、LINEへの通知はできているものの、エキスパートに「6 leaked strings left」と表示されていることに気がつきました。 ネット情報によると、これはメモリリークを示唆する文言のようです。この表示が毎回出…
TradingView風味にできないかしら? トレードにはMT5を使っていますが、チャート分析ではTradingViewを使うことが多いので、MT5のチャートにオブジェクト(四角形、トレンドライン、水平線など)を配置する時、 TradingViewと同じような操作感にできないもの…
MT4では、チャートにインディケーターを挿入しても、OnInit関数の戻り値がINIT_FAILEDの場合は、インディケーターがチャートにセットされずに除去されていた気がします。しかし、MT5ではそういう風にならないようです。 MT5で、わざとおかしな初期値を指定し…
「MQL5/Files」ディレクトリにある不要なファイルを削除するために、当該ディレクトリにあるファイルやディレクトリを一覧したいなと思いました。 そこで以下の関数を用意したのですが、再び使うことがありそうなので、ブログ上に残しておくことにしました。…
インジ作成の背景 トレードをしていると、個別通貨(JPY、EUR、AUD等)の状況を確認したい場面がしばしばあります。このため、次のようにしている人をちらほら見かけます。 ・小さなウィンドウを沢山配置して各通貨ペアのチャートを表示 ・モニターを複数枚…
インジ作成の背景 MT5でトレードする時に買いライン(Ask価格を表すライン)を表示させることがあるのですが、そのたびに (1)チャート上で右クリック (2)プロパティを開く (3)「表示」タブの中にある『買いラインを表示』を選択 という風にして、買…
インジケーターを作成する場合などに使うCopyBufferという関数には、引数の1つとして buffer_num(バッファ番号)というものがあります。 CopyBufferの書式の1つを引用すると int CopyBuffer( int indicator_handle, // indicator handle int buffer_num, //…
指定した日時がサマータイム期間かどうか調べる関数を、昨年、このブログにMQL4で書きました。それを部分的に修正してMT5に移植したものが、この記事に登場するコードです。 関数の使用例 MQL4版との違いは、第3引数が無くなったことくらいで、それ以外の使…
AXIORYのサイトを見たら2021年5月14日付けでMT5対応の口座がリリースされていたので、MQL5を触ってみることにしました。 ■終値の違い 手始めにMAを表示させたみたのですが、MT4とMT5で値が違っていました。 この時表示したのは、GBPUSDの日足のMA(SMA、期間…