OANDA × fx-on.com

マーチンゲールシステムを利用したEA・・・MT4(メタトレーダー4)のEA(自動売買)プログラミング講座

最も有名なベッティングシステムはマーチンゲールです。
ロットの増減で勝敗を有利に進める事を世の中に広めたシステムです。

マーチンゲールは負けた時に前回の2倍をベットする単純な手法です。
勝った時には常に1単位が利益になります。

マーチンゲール法のベット数と利益

※以下サンプルですので実運用では使用しないでください。

int Count = 1;
int RV; //Return Value
int Ticket;
void OnTick()
{
// Close System
if(OrdersTotal())
{
RV = OrderSelect(Ticket,SELECT_BY_TICKET);
// TakeProfit
if(OrderOpenPrice() + 0.1 < Ask)
{
RV = OrderClose(Ticket,OrderLots(),Bid,5);
Count = 1;
}
// StopLoss
if(OrderOpenPrice() – 0.1 > Ask)
{
RV = OrderClose(Ticket,OrderLots(),Bid,5);
Count *= 2;
}
}
// Entry System
else
{
Ticket = OrderSend(Symbol(),OP_BUY,0.01 * Count,Ask,5,0,0,NULL,884);
}
}


//Entry System 以下はエントリーです。
ポジションを持たない時に発注するシンプルなシステムです。

●グランマーチンゲールへの改良
グランマーチンゲールは負けた時に2倍+1をエントリーする手法です。
1回の勝敗毎に1単位の利益が出ます。

Count *= 2; でロット数をコントロールしています。
Count *= 2; Count++; とすることでグランマーチンゲールになります。

●トリプルマーチンゲールへの改良
Count *= 2; を Count *=3; にしてください。

●パーレー法への改良
Count =1; と Count *= 2; を入れ替えて下さい。

パーレー法は回数を決めて終了させる必要があります。
入れ替え後のCount *= 2; の後に下のようなコードをいれて適切な回数で終了させてください。

If (Count > 16) {Count = 1;}

マーチンゲールは利小損大で破綻のイメージがありますが、連敗回数の少ないエントリーシステムを入れることで回避できます。
最適なエントリーとロットコントロールを見つけて下さい。


筆者について
hayashi

林 貴晴(はやし たかはる)
株式会社ゴゴジャン(fx-on.com運営) メディア営業部 部長

・1981年 小学4年にBASICを習得
・1983年 機械語習得
米国系クインタイルズ・トランスナショナルジャパンにて
スイス系ノバルティスファーマでの業務に従事
英国系グラクソ・スミスクラインで7年の活動
・2015年7月よりEAの開発を開始
・2016年12月ゴゴジャンで業務開始
・2017年2月部長としての活動を始める
高速化の妨げになるコーディング規約に懐疑派。
カジノ式の巧みなロットコントロールや高速EAの開発には定評がある。
バックテストの結果のみでEAの性能をある程度分析できると評価され
fx-ONに記事を執筆。VB6によるシストレ開発に始まり千数百のEAを作成。
その経験からテクニカルが力を発揮するのは短期取引のオシレーターと信念を持つ。

この記事をシェアする


本ホームページに掲載されている事項は、投資判断の参考となる情報の提供を目的としたものであり、投資の勧誘を目的としたものではありません。投資方針、投資タイミング等は、ご自身の責任において判断してください。本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。

ホーム » OANDA Education X fx-on.com » マーチンゲールシステムを利用したEA・・・MT4(メタトレーダー4)のEA(自動売買)プログラミング講座