FX初心者EA作成の道 番外編
こんにちは
FXあきです。
EA作成の依頼やインジケーターの質問を受けたりします。
なにか相談があれば気軽にご質問下さい⇒こちら
基本的なEAの作成に必要な情報をここで伝えていきます。
EAの構築の基本知識なので
システム運用にも役に立つと思います。
プログラム勉強をしたいが、時間が作れなくて忙しいといった方にはEAサロンがお勧めです( ̄ー ̄)ニヤリ
ご自身のトレードアイデアをシステム化できる素敵なサロンです⇒EAサロンはこちら
まずは!!
大原則
チャート一枚につき、セットできるシステムは1個まで!!
EAでポートフォリオを組む時に同じチャートに複数のEAをセットしようとして稼働できませんでしたと質問と頂いた事があります。
インジケーターは複数同じチャートにセットできますが、チャート一枚に、セットできるシステムは1個です。
基本なので覚えておいて下さい。
簡単作成方法は、こちらの過去記事を参考にされて下さい⇒
EA作成 初心者への道2.リファレンスとトレードアクション編
まずはEAテンプレートを表示します。
基本としてプログラムは上から下に流れていきます。
これ基本です。
int OnInit() 関数
これはチャートにEAがセットされて一度だけ実行されるゾーンです。
例えば、EAをセットした時にEA名が表示される命令等です。
OnDeinit()
これは上の逆で、EAが取り除かれた時に実行されるゾーン
あまりEAをチャートから外すことはないですがw
OnTick()
チャートが動いた時に実行されるゾーンです。
プログムの決まりで実行されると上から下に流れていくのが決まりです。
EAをセットしてティックが動くたびに実行されるプログラムがOnTickです。
OnTestert()
バックテストの時に実行するゾーンです。
チャートにコメントと時間を表示してみよう
一番最初に覚えやすいプログラムが、チャートへのコメント挿入です。
早速やってみましょう
int OnInitに
//+——————————————————————+ int OnInit() { //— // チャートにEAがセットされて一度だけ実行されるゾーン //Comment(“Test”); //— return(INIT_SUCCEEDED); } //+——————————————————————+ |
と入力して、EAをセットすると
チャートの左上に表示されます。
int OnInitに入力した命令が、一回だけ実行されます。
次はチャートに時間を表示してみます。
OnTickに
//+——————————————————————+ void OnTick() { //— チャートが動いた時に実行されるゾーン comment(TimeCurrent()); } |
と入力して、EAをセットすると
サーバー時間がチャートの左上に表示されます。
TimeCurrent(タイムカレンシー)で表示される時間は、ブローカーのサーバー時間です。サーバーの設置されている場所で時間が変わります。日本時間を表示したい場合は別の方法が必要です。
まずは覚えて欲しい3つの 変数 int、double 、bool
変数とはよくプログラミングでは
データーを格納する箱と言われます。
この格納を宣言するして色々なデーターを使用します。
変数は使用する前に宣言する必要があります。
変数の宣言
固有の名前は変数を識別する為に使用されます。変数を宣言するには、型と固有の名前を指定する必要があります。
char, short, int, long, uchar, ushort, uint, ulong ・・・ 整数
color ・・・ RGB色を表す整数
datetime ・・・日付と時刻表す符号無し整数。 1970年1月1日0秒からの経過秒数。
bool ・・・ trueとfalseのブーリアン値・真偽型 真:true 偽:fales
double ・・・ 倍精度浮動小数点数
float ・・・単精度浮動小数点数
string ・・・ 文字列
まず覚えて欲しい3つの形は、int、double 、bool
int=1 は・・・・整数
double =0.1は ・・・・小数点
bool = true:fales ・・・はい OR いいえ の選択
まずは、この3つを覚えて下さい。
トレードの基本移動平均線の使った
テストとして、チャート(価格)が 移動平均線の上にあるのか?下あるのか?判断するプログラムを紹介します。
赤いラインがMA(移動平均線)です。
移動平均線使ったトレードはEAの基本的なので覚えましょう。
まずは、OnTick()に移動平均の位置(レート)を取得できるプログラムを書きます。毎回使うコードになりますので覚えておいてください
OnTickに
//+——————————————————————+ //| Expert tick function | //+——————————————————————+ void OnTick() { //— チャートが動いた時に実行されるゾーン Comment(sei); |
と入力して入力します。
レート(価格)は整数ではないので、doubleで表示します。
豆知識として
一度,(カンマ)削除して、再度,(カンマ)入力しなおすと内容を表示してくれます。↓↓
iMAの基本解説
iMAを簡単に説明します。
iMA(通貨ペア, 時間足周期, 期間, 表示移動, MAの種類, 適用価格, シフト数)
通貨ペア
通貨ペアを文字列で指定します。NULLは稼働チャートの通貨ペアです。
時間足周期
時間足周期を整数または定数で指定します。0またはPERIOD_CURRENTとすると稼働チャートの時間足周期。
1分足は”1”か”PERIOD_M1”、5分足は”5”か”PRIOD_M5”と指定します。
期間と表示移動
期間と表示移動は整数で指定します。通常はゼロですが手法によって変わってきます。一目均衡表の遅行スパンなんかがそうですね
MAの種類
MAの種類は、4種類選べます。
単純移動平均 MODE_SMA
指数移動平均 MODE_EMA
平滑移動平均 MODE_SMMA
加重移動平均 MODE_LWMA
適用価格
適用価格は、次の7種類から選びます。
終値 PRICE_CLOSE
始値 PRICE_OPEN
高値 PRICE_HIGH
安値 PRICE_LOW
Median price (高値+安値)/2 PRICE_MEDIAN
Typical price (高値+安値+終値)/3 PRICE_TYPICAL
Weighted close price (高値+安値+終値+終値)/4 PRICE_WEIGHTED
シフト数
シフト数は、ローソク足何本分前かを指定します。
Bid と Ask
まずはチャートにBid と Askを表示します。
チャート内にAskラインを表示する方法は、「チャート」メニューから、「プロパティ」をクリックします。
「全般」タブをクリックし「Askのラインを表示」にチェックマークを入れ、「OK」ボタンをクリックします。
価格白ラインの上に表示されてる赤い線がAskイランです。
Bidはあくまでトレードの基準値です。
売りたいと思ったらBid値、
買いたいと思ったらAsk値
下 Bid
上 Ask
と覚えて下さい。
これを使って
簡単な注文プログラムを作ります。
BidとMAを比較してBidが大きければ注文をいれる命令です。
OnTickに
// if( Bid < Ma1 && Posi>=1){ポジションを決済する} |
と入力して入力します。
実際は、条件をプラスしてきます。ポジションがゼロ、トレードの時間帯等々りです。
コンパイル時のエラーがでても 慌てない
コンパイルしてエラーがでても
慌てななくて大丈夫です↓↓
エラーメッセージをダブルクックすれば
エラーのポイント(付近)までカーソルが移動します。↓↓
エラーには色々種類があります。
タイプミスや全角スペースのエラー。
スペースは全て半角、プログラムは全て半角で書きましょう
セミコロン”;”が行の終わりがという命令ですが
”;”の入力忘れなどもあるので注意しましょう。
今回は以上です^^
また継続してEAの作成方法をブログでお伝えしていきます。
最後に
今回使用したプログラムの一覧です。↓↓
~テキストプラグラム~
//+——————————————————————+ //| Test.mq4 | //| Copyright 2020 | //| https://www.mql5.com | //+——————————————————————+ //ここから実行される #property copyright “Copyright 2020” int sei =1; double hudou =0.1; bool hanntei = true; // false; string Comment_set=”nakayan”; //// パラメーター extern double Lots=0.1; extern int MAGIC=65471; //+——————————————————————+ // ポジション数調を変数Posiに入れる // コメントで移動平均数値、BId、Askをチャート上に表示 // if( Bid < Ma1 && Posi>=1){ポジションを決済する} //— |
FXあき
では では
■メルマガ登録特典、FX自動売買で勝つ秘訣プレゼント中⇒メルマガ登録はこちら 「これが無料なの?」と大反響の豪華特典!あなたがFXで稼ぐ為に絶対必要な武器となります。
メルマガ詳細はこちら
メールが届かない場合はこちらをお読みください
Post Footer automatically generated by Add Post Footer Plugin for wordpress.
タグ
EA作成 FX初心者2020年10月30日 | コメントは受け付けていません。|
カテゴリー:FX初心者EA製作への道