OANDA × fx-on.com

学習型EAについて・・・MT4(メタトレーダー4)のEA(自動売買)プログラミング講座

人工知能や機械学習にも様々な手法や種類があります。
MT4では最適化に遺伝的アルゴリズムが採用されています。

過去のデーターから学習し、次の価格を予想しエントリーするEAを開発します。
動作中も学習を続けますので使えば使うほど根拠となるデーターが増えていきます。

①2本前の高値と始値の差
②2本前の始値と安値の差

この2つの値を配列にします。
そして1本前の終値-始値の値をこの配列に格納します。

配列Pには①と②の値にPointで割って整数化します。
99以上の物は99にします。
以下の条件を満たしたときにエントリーします。
ポジションを持っていない
データーが10回以上

int P[100][100];
int cP[100][100];
datetime Ot;
void OnTick(){
if(Time[0]!=Ot){
Ot=Time[0];
int chkH=(int)((High[2]-Open[2])/Point);
if(chkH>99){chkH=99;}
int chkL=(int)((Open[2]-Low[2])/Point);
if(chkL>99){chkL=99;}

P[chkH][chkL]+=(int)((Close[1]-Open[1])/Point);
cP[chkH][chkL]++;

if(!OrdersTotal()&&cP[chkH][chkL]>9){
if(P[chkH][chkL]/cP[chkH][chkL]>1)
{int T = OrderSend(Symbol(),OP_BUY,0.1,Ask,5,Bid-P[chkH][chkL]*Point*0.9,Bid+P[chkH][chkL]*Point*0.9);}
if(P[chkH][chkL]/cP[chkH][chkL]<-1)
{ T = OrderSend(Symbol(),OP_SELL,0.1,Bid,5,Ask-P[chkH][chkL]*Point*0.9,Ask+P[chkH][chkL]*Point*0.9);}
}
}
}

配列を使い学習をしていきます。
前回の足のみを参考にしましたが、さらに過去のデーターや大きな足を組み合わせて参考にすることでより多くのデーターを根拠とすることが出来ます。



※このEAは参考です。実際の運用には使用しないでください。

筆者について
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(自動売買)プログラミング講座