任意の番号を入力して下さい。【スリッページ】スリッページの許容限界値を入力して下さい。(pips)を入力して下さい。【トレーリング】トレーリングストップを発動させるか否かの選択です。true=ON,false=OFFです。【トレーリングストップ幅】トレーリングで追いかける幅(pips)を入力して下さい。【コメント】エントリーしたポジションに表示するコメントを入力して下さい。期間を入力して下さい。以下4つから選んで下さい。以下7つから選んで下さい。期間を入力して下さい。以下4つから選んで下さい。以下7つから選んで下さい。今回のソースコードはこちら「MA_Cross_Zn」←クリックするとPDFファイルが開きます。//コメント」となります。それぞれの固有名に代入する値の種類によって、型が違っています。//価格2行目と6行目はMA1とMA2という空の箱を用意し、右のコメントをパラメーター設定画面に表示する事で見やすくする為に追加している物ですので、内部プログラム自体には関係ない物になります。↓パラメーター設定画面Period(期間)は先ほどのパラメーター設定での構成と同じ様になっていますが、「Method(方法)」と「Price(価格)」については少し見慣れない物が型の部分にありますね。これはあらかじめMT4にいくつかの標準的なテクニカル指標は入力パラメーターとしてリスト化されており、使用する事で大変便利になります。ENUM_MA_METHOD列挙にリストされている識別子が選択出来るようになります。ENUM_APPLIED_PRICE列挙に7つの事前定義された識別子が選択出来るようになります。MACrossClose(-1)==-1)CloseOrder(-1);}//OnTickOnTick関数では価格を受信する度に動く関数になりますのでこの中にロジックを記入して行きます。【トレーリングストップ】if関数でTrailingSwitchingがture(真)かfalse(偽)を確認し、ture(真)であればTrailingStop()関数に移動します。【ポジション数を確認】BuyPosition変数にPosition関数で取得した買いポジション数を代入します。SellPosition変数には売りポジション数を代入します。【エントリー判定】Entry変数にMACrossOrder関数でエントリー条件を確認し、買いのタイミングであれば1を、売りであれば-1を代入し、満たしていない場合は0を代入します。買い条件を満たしている)のどちらの条件も満たしていればOpenOrder関数で買いのエントリーを行う。買いポジションの手仕舞い条件を満たしている)のどちらの条件も満たしていればCloseOrder関数で買いの手仕舞いを行う。以上がこのEAのロジック動きの流れになります。以上2つについては潤奈流EA講座4で説明していますのでご覧下さい。以上3つについては潤奈流EA講座5で説明していますのでご覧下さい。TrailingStop関数こちらは潤奈流EA講座6で説明していますのでご覧下さい。MAL1>MAS1)entry=-1;return(entry);}まずentry変数に0を代入してリセットします。次に移動平均線の価格を入れる箱をdouble型でMAS1,2とMAL1,2で宣言します。その箱の中に移動平均線を求めるiMA関数で計算された値を代入するようになります。iMA関数の引数は、iMA(通貨ペア、時間軸、期間、シフト、平均化メソッド、適用期間、シフト);です。通貨ペア:_Symbolは現在の通貨ペアを指定します。(_Symbol)時間軸:0は現在の時間軸を指定します。(0)期間:移動平均を求める期間で、パラメーターで設定した値を使用します。(Period1,2)シフト:求めた移動平均線を前後に指定本数分ずらして表示します。(0)平均化メソッド:計算方式を指定します。(Method1,2)適用価格:始値~終値のどの価格で計算するか指定します。(Price1,2)シフト:何本目の足の移動平均線値を取得するか指定します。(1,2)今回は移動平均線がクロスするタイミングが知りたいので長期と短期の移動平均線の1本前と2本前の値の合計4つ必要になります。長期<短期」の式が成り立ちます。MAL1この条件に合致した場合、entry変数に1を代入します。売りの場合の条件に合致した場合はentry変数に-1を代入します。ダメなの?と私も思いました。3」になる事があるかもしれません。2」は条件に合致しません。すると、チャート上ではクロスしている様に見えるのに、エントリーしてない?という現象が起きる可能性がありますので、「<=」の以上を使っています。最後のreturn(entry);とはMACrossOrder関数の計算結果としてentry変数に入っている値を返す事になります。その後の動きは3項のロジック構成に戻って確認してみて下さい。entry変数の1が返ればOpenOrder関数(買い)に進み、-1が返ればOpenOrder関数(売り)に進みます。MAL1=iMA(_Symbol,0,Period2,0,Method2,Price2,1);if(Position==1){if(MAL1>MAS1)close=1;}elseif(Position==-1){if(MAL1<MAS1)close=-1;}return(close);}まずclose変数に0を代入してリセットします。次に移動平均線の価格を入れる箱をdouble型でMAS1とMAL1で宣言します。iMA関数の引数は前項のMACrossOrder関数と同様ですので省略します。次にif関数を使用し、引数で渡されたPositionが1の場合はもう一度if関数でMAL1>MAS1(長期>短期)になっているか確認し、条件に合っていればclose変数に1を代入します。Positionが-1の場合はMAL1まとめ今回はとてもシンプルな移動平均線のゴールデンクロス、デッドクロスでエントリーするEAのプログラムでした。EAにおける如何なる損失もご自身の自己責任となります。投資資産における運用の結果生じた損害の全部若しくは一部について一切の責任及び負担を負わないものとします。※当EAにつきましても、バグや不具合がないことを保証するものではありません。※このブログで掲載されている情報は、投資等の勧誘又は推奨を目的としたものではありません。※掲載されている内容は予告なしに変更することがあります。YouTubeでトラリピEAを作成する作業配信、第3回で作成した最後半のトラリピの説明をして行きたいと思います。YouTubeでトラリピEAを作成する作業配信、第3回で作成したトラリピの説明をして行きたいと思いま。YouTubeでトラリピEAを作成する作業配信を行いました。任意の番号を入力して下さい。スリッページの許容限界値を入力して下さい。YouTubeでトラリピEAを作成する作業配信、第3回で作成したトラリピの説明をして行きたいと思いま。18:46私もEAプログラムを作ろうと頑張ってみたのですが、どうしても眼の関係で断念しました。主様に図々しいお願いなのですが、私の代わりにEAを作って頂けないでしょうか?ロジッグはいたってシンプルです。シンプルなんですが、それなりに凄いロジックだと信じております。その凄いロジックを主様と私だけのEAにして頂けるならご連絡下さいm(__)mお待ちしております。22:04コメントありがとうございます。20:36拝見させて頂きました。MAのCrossでトレード、とても分かりやすい題材だと思いまして勉強のためバックテストをしてみました。バックテスト結果はエラーが発生している箇所がるあるようです。連続的に起こっています。条件に合致しつた場合。同じ回数分Close処理が動いてしまいます。見させていただいたこのWEBのバックテスト結果とは大きく違っています。今一度、PDFのソースコードを見直してください。私は現在、MT4のEAの勉強中です。MQL言語はまだまだといったところです。目下研究中であります。03:33@SJC様コメントありがとうございます。PDFのソースコードでのバックテストの再確認を行いました。ご指摘の通りトレーリングストップでの損切値変更時にOrderModifyエラー130が発生するコードになっていますので修正を行いたいと思います。別記事ですがトレーリングストップ関数「https://zyunafx.com/mql4_original-2/」にてこの現象が発生しないコードを掲載していますので、そちらをご参照下さい。次にOnTickでの動作につきまして、ローソク足の値が変化するたびにゴールデン・デッドクロスの条件に合致したという処理はなされますが、ポジションを持っていない時にしかエントリーは行わないようになっていますので、複数ポジションを持つ事はありません。クローズも同様にポジションを持っていないと処理は行われません。1ポジションだけの取引を想定していますので、複数ポジションを持つような条件などを加えようとすると工夫が必要になります。バックテストの結果についてですが、こちらはサンプルコードとは違うパラメーターで実施しております。サンプルコードではトレーリングストップも実装はしていますが、バックテスト時にはOFF(false)にしておりますので、Web掲載画像と同じ期間、時間足、パラメーター、スプレッドで行うと近い値が出ると思います。使用するヒストリカルデータの会社が違と結果も異なりますのであくまで参考となり、調整すればこれぐらいの成績になるという紹介となります。ご職業がプログラマーという事なので、細かい所によく気付かれたのかと思います。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。date*日本語が含まれない投稿は無視されますのでご注意ください。゚д゚)2013年:FXと出会い、独学で初めて入退場を繰り返す。2017年:裁量は諦めて自動売買の勉強を始める。2019年:Twitterで仲間が増える。2020年:インジケーター販売開始。Reserved.ホーム検索トップサイドバータイトルとURLをコピーしました。