RSIEA決済注文のロジック MT4EA作成編第8回
前回ポジション作成部分について解説させていただきました。今回は決済部分についてです。決済注文のロジックも中身はシンプルです。
RSIEA決済注文のロジック変更内容確認
まずは、連載前半でやった決済のロジックの復習をしておきましょう。
この中で書いた決済ロジックはこうでした。
- 買いポジション:RSI50を超えたら決済
- 売りポジション:RSI50を割れたら決済
これをプログラムにするとこんな感じになります。
3、決済部分
*変更前
//買いポジションを決済する
if(pos > 0 && Close[2] >= FastLL && Close[1] < FastLL)
//売りポジションを決済する
if(pos < 0 && Close[2] <= FastHH && Close[1] > FastHH)
*変更後
//買いポジションを決済する
//if(pos > 0 && Close[2] >= FastLL && Close[1] < FastLL)
if(pos > 0 && Rsi1 >50 )//
//売りポジションを決済する
//if(pos < 0 && Close[2] <= FastHH && Close[1] > FastHH)
if(pos < 0 && Rsi1 < 50)//
決済注文部分の解説
この中で買いポジションのプログラム文はこうなっています。
if(pos > 0 && Rsi1 >50 )//
前回同様if文で決済するかどうかの判断をします。次の「pos > 0」の部分は現在買いポジションがあるかどうかの判断をしており0より大きい場合は、現在買いポジションがあるという判断になります。仮にポジションがゼロの場合は「pos = 0」となるので、このプログラム文は条件を満たさないのでスルーということになります。
「pos > 0」というのは買いポジションがあるという事になります。この後にRSI値で買いポジション決済をするかどうかの判断をします。「Rsi1 >50」というのは、RSI値が50を超えた状態であり、当初考えたロジック「RSI50を超えたら決済」と同じ意味となります。
この2つの条件を満たしたときに決済注文が実行されます。
決済注文を実行する文章がその次に続いています。
{
ClosePositions();
return(0);
}
これは、元EAの文章をそのまま使用します。簡単に解説を加えると、ClosePositions()という決済専用の注文関数があり、その文章をここで呼び出して決済を実行しています。
プログラム全体を見渡すとClosePositions()から始まる部分があるのに気づくと思います。そこが決済注文執行の具体的内容となります。。
売り注文も同様の流れになります。
RSI決済数値の変更も簡単
決済基準のRSI50を変更するのは簡単です。例えば、買い注文決済を50ではなく40に変更するのは数字を修正するだけです。ちなみに50を40にすると多くの場合以下の変化が起きます。
- 勝率が上がる。
- 1回あたりの利益が減る。
確実にこうなるわけではないのですが、RSI50タイプがよりも「利益は少なくコツコツ稼ぐタイプ」になる傾向があります。とはいえ、これも通貨ペアとバックテストをする期間で結果は違ってきます。
プログラムの変更に成功したら、この辺の数値をいじっていろんな通貨でバックテストをしてみてください。いろんな数値を変更してみることで新しいEA作成のアイデアが生まれることも多いです。
MT4EA作成編目次
EAを手軽につくるやり方をまとめました。
- 第1回MT4EA作成編 RSIEAの簡単な作り方
- 第2回手順その2 EAの売買ロジックを考える
- 第3回手順その3:EA加工前の準備 EAコピーの仕方
- 第4回基本EAの変更箇所確認
- 第5回30分でできるRSI MT4EA作成編
- 第6回MT4組み込みテクニカル指標関数の使い方
- 第7回MT4でRSIEAを作る 売買シグナル部分
- 第8回決済注文プログラムはたった1行
- 第9回マジックナンバーとRSIEA検証行
- 第10回パラメーターと変数化の効果
- 第11回RSI設定使い方 3つのパターン
- 第12回RSIエグジット戦略とは
- 第13回RSIスキャルピングにも使えるこの応用形
- 第14回RSI20 RSI80の検証
- 第15回RSIの使い方 3つのポイント
- 第16回過剰最適化(カーブフィッティング)の話
- 第17回最適化はカミソリ 大怪我しないためのポイント
- 第18回RSIEA無料配布と留意点
- 第19回決済を値幅指定
- 第20回ブレイクアウトMT4無料EA検証
- 第21回EA作成早期習得のための2つのポイント
- 第22回プログラムを短くする関数化
- 第23回「Breakout1SL1.mq4」をRSI値幅決済EAへ書換え
- 第24回コメントアウト MT4でも大切な理由
- 第25回EA解説後半 EA作成上達のコツ
- 第26回RSI値幅決済EA 短期売買向
- 第27回改造EAの面白いところ
- 第28回Breakout1TS1.mq4 1粒で三度おいしい無料EA
- 第29回大量売買防止方法
- 第30回MT4運用失敗の必然性に気づく
- 第31回最適化して最高成績を選ぶ愚
- 第32回MT4 PF(プロフィットファクター)
- 第33回MT4バックテスト 私の使い方
- 第34回MT4ファンのMT4口座比較方法
- 第35回裁量トレードの方が優秀に見える理由
- 第36回MT4最初の壁「夢の過剰最適化」
- 第37回MT4で儲からないことで目覚めた