MQL4プログラミング 第12回 AMTで簡単エントリー
バイナリーオプションのエントリーは煩雑?
バイナリーオプションでトレードしているかたは経験されていると思いますが、こんなお悩みはありませんか?
・MT4の画面で複数の通貨ペアを監視していて、いざエントリーチャンスが来たけれどハイローのエントリー画面への切り替えが面倒だ。焦ってしまいエントリーミスしてしまった!
・MT4の画面で複数の通貨ペアでサインツールを立ち上げていて、2つの通貨ペアでサインが出てた。惜しくて仕方ないけど1つだけしかエントリーできなかった。
これらのお悩みを解決する方法を考えました。それはAutoMultiTrader(AMT)というツールを利用する事です。
AMTは普通はバイナリーオプション自動売買ツールとして利用するのですが、私は上記お悩み解決のために手動エントリーツールとしても使っています。
バイナリーオプション取引会社(HighLow)のお試しはこちら(ハイロー紹介ページ)から
以上の説明を踏まえて、以降ではAMT連動のインジケーターの作成方法を解説します。
今回は自動売買ではなく手動で(キーボード操作による)エントリーをするのでプログラム自体はシンプルです。
AMT連動インジケーターの作成(手動エントリーの場合)
それではソースコードを示します。
// prg-0012.mq4
#property copyright "Copyright 2024, smile-invest-blog.com"
#property link "https://www.smile-invest-blog.com/prg-0012/"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//| initialization function
//+------------------------------------------------------------------+
int init() {
//---- indicators
//----
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| deinitialization function
//+------------------------------------------------------------------+
int deinit() {
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| OnChartEvent function
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
//---
//キー押下
if(id == CHARTEVENT_KEYDOWN) {
if (lparam == 38) { // ↑キー
entry(1, 0);
}
if (lparam == 40) { // ↓キー
entry(0, 0);
}
}
}
//+------------------------------------------------------------------+
//| start function
//+------------------------------------------------------------------+
int start() {
return(0);
}
//+------------------------------------------------------------------+
//| entry function |
//| 引数1 1:Highエントリー、0:Lowエントリー、
//| 引数2 false:手動エントリー、true:自動エントリー、
//+------------------------------------------------------------------+
void entry(int high_low, bool isAuto) {
string strEntryCmd = " AMT";
/*
アラートコマンドリスト(AMT側で設定すること)
AMT1MA
AMT1MM
AMT5MA
AMT5MM
AMT15MA
AMT15MM
AMT60MA
AMT60MM
(AMTの個別アラート設定でそれぞれにHigh, Low の文字列を設定する)
*/
if (Period() == 1) {
strEntryCmd += "1M";
}
if (Period() == 5) {
strEntryCmd += "5M";
}
if (Period() == 15) {
strEntryCmd += "15M";
}
if (Period() == 60) {
strEntryCmd += "1H";
}
if (isAuto) {
strEntryCmd += "A";
}
else {
strEntryCmd += "M";
}
if (high_low == 1) {
strEntryCmd += " ***HIGH***";
}
else {
strEntryCmd += " ***LOW***";
}
Alert(Symbol(), strEntryCmd);
}
35行目、38行目:今回は上矢印キー(↑)押下でHighエントリー、下矢印キー(↓)押下でLowエントリーとします。
OnChartEvent関数については「MQL4プログラミング 第10回 バックグラウンドの色を変える(2)」の投稿を参照ください。
55行目:entry関数 この関数では引数1、引数2、それと現在のチャート足時間によってアラートで表示する文字列を作成します。
例えば entry(0, false)でチャートは1分足の場合は表示する文字列は「 AMT1MM ***LOW***」の文字列を作成してアラート関数に渡します。アラート関数は97行目で「Symbol()」を第一引数で受け取っているので最終的に(チャートが米ドル円の場合)「USDJPY AMT1MM ***LOW***」と表示します。
AMT側の設定
AMT側ではMT4からのアラート文字列を受け取って実際にエントリー処理をおこなう設定が必要です。
AMTは2つのバージョンがありますが、今回はV2(新バージョン)で説明します。(旧バージョン V1 はこちらから)
AMTのダウンロード
AMTのダウンロードは「AMT V2 無料ダウンロード」からおこないます。
AMTのインストール
AMTのダウンロードが終わったら画面右側の「ヘルプ・ガイド」をクリックするとインストールや設定についての説明があるので、それに沿って進めてください。
AMT連動インジケーターに合わせたアラート設定について
ここでは今回作成したインジケーターに合わせたアラート設定について解説します。
下図のように
①「ハイロー」をクリック
②「アラート設定」をクリック
すると、下図の画面が表示されます。
ここで、赤枠の「追加」をクリックします。
すると次の画面が表示されます。
上記の「アラート設定」画面で
①設定名:「AMT1MA」とします。
②取引オプション:「Turbo 1分」を選択します。
③Highサイン:「AMT1MA ***HIGH***」とします。(「」の中の文字列をコピペするのが確実です)
④Lowサイン:「AMT1MA ***LOW***」とします。(「」の中の文字列をコピペするのが確実です)
⑤「戻る」をクリックします。
すると下記画面が表示されるので「保存」をクリックします。
上記アラートの設定が終わったら残りの設定もここで済ませましょう。以下表にまとめます。
AMTアラート設定一覧
設定名 | 取引オプション | Highサイン | Lowサイン | 説明 |
AMT1MA | Turbo 1分 | AMT1MA ***HIGH*** | AMT1MA ***LOW*** | 手動1分用 |
AMT1MM | Turbo 1分 | AMT1MM ***HIGH*** | AMT1MM ***LOW*** | 自動1分用 |
AMT5MA | HighLow 5分 | AMT1MA ***HIGH*** | AMT5MA ***LOW*** | 手動5分用 |
AMT5MM | HighLow 5分 | AMT1MM ***HIGH*** | AMT5MM ***LOW*** | 自動5分用 |
AMT15MA | HighLow 15分 | AMT15MA ***HIGH*** | AMT15MA ***LOW*** | 手動15分用 |
AMT15MM | HighLow 15分 | AMT15MM ***HIGH*** | AMT15MM ***LOW*** | 自動15分用 |
AMT60MA | HighLow 1時間 | AMT60MA ***HIGH*** | AMT60MA ***LOW*** | 手動1時間用 |
AMT60MM | HighLow 1時間 | AMT60MM ***HIGH*** | AMT60MM ***LOW*** | 自動1時間用 |
インジケーターとAMTの連動確認
最後に今回作成したインジケーターとAMTの連動確認をおこないます。
ここで重要な注意点!
連動確認は必ずデモ口座でおこなってください。
下図のような1分足チャートでAUDJPYを選択状態でHighエントリー(↑キー押下)をおこなった場合、
MT4アラートでは
①「AUDJPY」で通貨ペア確認
②「AMT1MM」で1分足確認
③「***HIGH***」でHighエントリー確認
ATM側アラートでは
④ATM側でエントリーが正しく受け付けたかを確認
上記①~④が確認できればインジケーターとAMTの連動確認はOKです。
AMT側の最初の設定が面倒かもですが、ここの設定は1回実施すれば良いだけなので、頑張ってみましょう!
デモトレードでも結果記録が残せる
ハイローでは本口座のトレードは記録が残りますがデモトレードは残せません。
AMTでは、無料で使えるデモトレードでも詳細なトレード記録が残せて、しかもCSVファイル出力もできるのでいろんなサインツールの検証や裁量手法の検証に使えて便利です。
いろんな条件の検索機能もあります。各通貨ペア別の勝率を出すもの簡単です。
今回はハイローの画面を経由する事なくMT4チャートから直接トレードできるインジケーターとAMT(AutoMultiTrader)のセットで便利な使い方を紹介しました。
今回の関連情報
・AMT(AutoMultiTrader)の無料ダウンロードは「AMT V2 ダウンロードサイト」、「AMT V1 ダウンロードサイト」から。
・ハイローのデモ口座は「ハイロー紹介ページ」から。