FX自動売買システムの自作

FX自動売買システムを自作するには

MT4で動作する自動売買システムは、MQL(Meta Quotes Language)というC言語に似たプログラミング言語で記述されています。

この言語を記述するツール「MetaEditor」がMT4に搭載されていて、これ使えばMQLを記述して自動売買システムを構築することができます。

ここでは、移動平均線のゴールデンクロスとデッドクロスを利用した自動売買システム「MA_Sample」を作ってみます。まず初めに移動平均線のクロスで売買するプログラムを作り、最終的にドテン売買する仕組みにしていきます。

完成ソース

以下が完成ソースです。これをそのままMetaEditorに入力すればよいのですが、1度にすべて入力するのは大変なので、順を追って少しずつ完成させていきます。

//+------------------------------------------------------------------+
//| MA_Sample.mq4 |
//| Manabu Saito |
//| http://www.systemtrade1.com |
//+------------------------------------------------------------------+
#property copyright "Manabu Saito"
#property link "http://www.systemtrade1.com"

//---- input parameters
extern int ShortMA_Period=5; //短期移動平均線の期間
extern int LongMA_Period=25; //長期移動平均線の期間
extern int Profit=500; //リミット(利食い)
extern int Stoploss=1000; //ストップ(損切り)
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
double Short1,Short2,Long1,Long2; //移動平均線の値を入れる変数の宣言

Short1=iMA(NULL,0,ShortMA_Period,0,MODE_SMA,PRICE_CLOSE,1); //1つ前の短期移動平均線
Short2=iMA(NULL,0,ShortMA_Period,0,MODE_SMA,PRICE_CLOSE,2); //2つ前の短期移動平均線
Long1=iMA(NULL,0,LongMA_Period,0,MODE_SMA,PRICE_CLOSE,1); //1つ前の長期移動平均線
Long2=iMA(NULL,0,LongMA_Period,0,MODE_SMA,PRICE_CLOSE,2); //2つ前の長期移動平均線

//ポジションがない場合
if(OrdersTotal()==0)
{
//もしゴールデンクロスしたら
if(Short1>Long1&&Short2<Long2)
{
//買いポジションを取る
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-(Stoploss*Point),Ask+(Profit*Point),"BUY",0,0,Blue);
}

//もしデッドクロスしたら
else if(Short1<Long1&&Short2>Long2)
{
//売りポジションを取る
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+(Stoploss*Point),Bid-(Profit*Point),"SELL",0,0,Red);
}
}

//ポジションがあった場合
if(OrdersTotal()==1)
{
//ポジションを取得する
OrderSelect(0,SELECT_BY_POS);
//もしポジションが買いならば
if(OrderType()==OP_BUY)
{
//もしデッドクロスしたら
if(Short1<Long1&&Short2>Long2)
{
//買いポジションを決済
OrderClose(OrderTicket(),OrderLots(),Bid,3,Orange);
//新たに売りポジションを持つ
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+(Stoploss*Point),Bid-(Profit*Point),"SELL",0,0,Red);
}
}
//もしポジションが売りならば
if(OrderType()==OP_SELL)
//もしゴールデンクロスしたら
{
if(Short1>Long1&&Short2<Long2)
{
//売りポジションを決済
OrderClose(OrderTicket(),OrderLots(),Ask,3,Orange);
//新たに買いポジションを持つ
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-(Stoploss*Point),Ask+(Profit*Point),"BUY",0,0,Blue);
}
}
}
//----

//----
return(0);
}
//+------------------------------------------------------------------+

FX自動売買システム 成績結果

1位【300名限定】
    資産129倍! クロスファイアFX
2位【勝率88.7%!】
    1日1万円稼ぐ 恋スキャFX
3位【デイトレ最強】
    損失は10pipsまで SSFZ-PRO

システムトレード 運用結果

1位 ボラーチェ
   期間損益+2,079 pips
2位 MA Ninja
   期間損益+1,192 pips
3位 スキャルエンジン
   期間損益+1,096 pips
4位 MAマスターUS
   期間損益+858 pips
5位 スイングギドラA
   期間損益+783 pips

おすすめFX自動売買サポート
FX自動売買

MT4とシステムトレード
FX自動売買 自作編

ひまわり証券エコトレFX
エコトレFX 応用編

マネースクウェアジャパン
FXトレードフィナンシャル
FXCMジャパン

セブンインベスターズ証券

FX自動売買 その他


Yahoo!ブックマークに登録


本日:
昨日:
現在の訪問者数:現在