どうにもうまく運用できなかったFX自動売買ですが、先週は修正したことでそこそこいい成績を残せました。
改善した内容
改善した内容としては、
- 過去取引(50~100件、件数は現在調整中)の収益状況から、マーチンゲール発動か初期ロット以下のロットとするか計算するよう処理を追加
- 過去取引実績の収益状況から、現状のアクティブロットを一括決済可能なEAの開発
この2点です。
まず、1件目のマーチン発動条件です。
実際マーチン発動については、初期口座残高より、10%以上の残高減が発生しないと発動しませんし、発動したとしても10~20%程度の残高減であればロット増加と言っても20%増程度です。
が、30%を超えてきたあたりから、2倍~3倍近くの追加ロット量となってくるので、多通貨でEAを稼働させているときに、逆に走った場合のマイナストレードが大きくなりすぎる傾向があるため発動させました。
これにより、直近50~100件程度の短い期間のトレードで、収益がプラスであれば今後マイナストレードになる可能性が高くなると判断してマーチン発動を無しとし、更には、初期口座残高(初期残高以上の残高になった場合は最高残高が初期残高と設定されます)の1%以上の利益が直近で上がっているようなら初期設定ロットの半分のロットで取引するように判断プログラムを追加しました。
これにより、直近の取引ですでに利益が上がり、更には1%以上の利益が上がっていた場合は、ここから先は揺れ戻しでマイナストレードが続く可能性を考慮しロット数を小さくします。
逆に直近のトレードでマイナスの場合は現状の残高状況から従来通りマーチンゲール発動でロット数を増やします。
運用開始直後はプラストレードの際はロットが小さく、マイナスの時はロットが大きいという逆になっていた感じがしましたが、日を重ね直近トレード自体がこの調整プログラムが発動してからのものとなってからは目論見通りの動きをし始めた感じがします。
こちらについてはもう少し様子を見ていきたいと思います。
2件目の全体一括決済についてはほとんど発動はしません。
結構条件は厳しく、まず一つは、現状の保有分をもって、決済を行った後、直近50~100件のトレードの収益トータルがプラス1%以上になることが確定した場合で、現状の保有分トータル収益がプラス0.1%以上であった場合に一括決済します。
全体という形で見たときにマイナスポジションもあればプラスポジションもあります。
当EAのトレードはどちらかというといったんマイナスに振れてから徐々に戻していってプラスへと向かうようなポジションが多いため、そのタイミングでプラス・マイナストータルするとプラスというケースはそこまで多くないのです。
もう一件は現在ポジション中のトレードすべてで初期残高の1%以上のプラスになった時点で全決済します。
初期残高の1%の利益というのはなかなか得難い収益だと思っていますので、現状のポジションではそれ以上を望まずいったん決済しましょうという動きです。
これはほぼ発生しません。
なぜなら、大きなロットを持ったポジションがあってその単発ポジションで2%以上のプラスが計上されていたとしても、他のポジションで1%以上のマイナスがあった場合はトータルでは1%のプラスより小さいです。
ほとんどの場合、大きな利益があるポジションがいる場合は同時のほかの通貨ペアのどれかが大きなマイナスであるケースが多いからです。
よほど方向が同じタイミングでしかもいいタイミングにならないとすべてのポジションで1%のプラスというケースが現れません。
現れた場合はレアケースということで決済しちゃいましょうということです。いったんリセットして次のタイミングに備えるのもいいでしょう。
全体で見たとき、1週間に1度程度発動しますし、過去トレード合わせてトータル1%以上の収益を確定させるタイミングで現状のポジションがプラスであるという条件なので、いったん決済してクリアにしたうえで次のトレードを再開させる(1%以上のプラス収益なのでこの次のトレードは初期ロットの半分です。だから、リスクが小さくなっている再開です。)ので、非常にリスクを低減できるのではないかと思って期待しています。
今後の修正などについて
まずは、このトータル取引件数が何件程度が妥当なのか図りたいところです。
先週は1週間で約150回のトレードがありました。
これが平均的なのであれば、100回は大体3日程度のトレード回数と読み取れます
50回は2日弱というところでしょうか。
そうなると50回程度は打倒なのかなと思っています。あまり長期間のトレードで計算すると、期間が長すぎて、ロット量の調整がずれてしまうことが想定され、だからと言ってスパンを短くすると、次々に収益結果が変わるので、ロット量の安定性に欠けそうです。無難なのは、1~2日程度のトレード結果を見て、十分な利益(現状では初期残高の1%程度を十分な利益とみなしています。)であればロットを小さくして利益を確定させたうえで流すようなイメージを考えています。
1~2日程度のトレード量である50回程度でもう少し様子見したいと思っています。
次は、ロット計算です。
現在は、自分で考えたロット計算プログラムを組み入れています。
先に書いた通り10~20%程度のマイナスはロット量も大したことが無いのですが30%を超えたあたりからロット量が大きくなりすぎる傾向があります。
もちろん、単通貨ペアなら、どの通貨ペアでも破たんしない程度ですが多通貨で行うとそうでもありません。
資金計算の根本を見直す必要もあるかもしれません。
これも考慮に入れたうえで今考えているのは先のトータル取引件数です。
前通貨ペアの取引実績からの計算も必要ではあると思いますがもしかしたらトレード単位では該当通貨ペアの過去の取引実績から計算するのが良いのかもしれないと考えています。
また、現在の計算で出てくるロット量は、初期ロット、トータルプラスが一定量を超えた場合の初期ロットの半分、そして、トータルマイナスの場合に発動するロット計算プログラムで算出されたロット量の3種類です。
現状はプラスの場合に限り従来の計算以外の算出方法でロット量を計算していますが、もしかしたら今後はプラスの場合もマイナスの場合ももう複数段階踏んだロット量の調整が必要かもしれません。
プラスの方は無段階で計算できそうですし、マイナスの方はもう1段か2段段階があってもいい気がします。
現状のEAでもう1か月程度様子を見たのち、複数段階のロット計算プログラムを組み入れるか考えてみたいと思っています。