ゴトー日とは
OANDA様の記事に以下のようにあります。
ゴトウ日(ゴト日、ゴトー日)とは、毎月5日、10日、15日、20日、25日、30日のように5と10の付く日をいいます。
企業の銀行の資金決済が多くなるため、実需のドル需要が多くなる傾向があります。
FX市場でもゴトウ日には東京時間の仲値(9:55)の時間にかけて取引が活発に行われ、ドル円を中心に短期的なトレンドができやすいという傾向があります。
用語解説 ゴトウ日(ゴト日、ゴトー日) – FX初心者向け用語解説(ごとび)
銀行が決済に備えてドルを買うため、仲値に向けてドル高に、
また、仲値後は逆にドルが売られる傾向があるようです。
ゴトー日EAを作ってみる
USDJPYで動かすゴトー日EAを作ってみます。
仲値に向けて買い、仲値後にドテン売りします。
ゴトー日の判定はOANDA様の記事を参考に記述
// 今日の日付を5で割った余りを取得 double Mod=MathMod(Day(),5); // 5で割り切れる場合 if(!Mod)isFiveDay=True; // 土曜日がゴトー日の金曜日 else if(Mod==4&&DayOfWeek()==FRIDAY)isFiveDay=True; // 日曜日がゴトー日の金曜日 else if(Mod==3&&DayOfWeek()==FRIDAY)isFiveDay=True; // 上記以外はゴトー日ではない else isFiveDay=false;
ゴトー日の仲値9:55までの上昇を狙った買い注文を出します。
とりあえず、9時にエントリーするプログラムを書きます。
// ゴトー日の日本時間9:00にエントリー if(isFiveDay && TimeHour(japanTime)==9 && TimeMinute(japanTime)==0 ){ OrderSend(Symbol(),OP_BUY,lots,Ask,0,0,0, NULL,magicNum01,0,Blue); }
仲値にクローズします。
// 日本時間9:55にクローズ
if(TimeHour(japanTime)==9
&& TimeMinute(japanTime)==55
){
OrderClose(OrderTicket(),OrderLots(),Bid,0,Blue);
}
実行結果は以下のようになりました。
スプレッド=5 で PF=1.45 でした。
序盤は横這いですが2017年辺りから右肩上がりになっています。
フィルターや、ロスカットを設定しないでこの成績は結構良いのではないでしょうか。
次に仲値後の売り注文を実装します。
仲値9:55にすぐ売り注文を出します。
// ゴトー日の日本時間9:55に売りエントリー
if(isFiveDay
&& TimeHour(japanTime)==9
&& TimeMinute(japanTime)==55
){
OrderSend(Symbol(),OP_SELL,lots,Bid,0,0,0,NULL,magicNum02,0,Blue);
}
ゴトー日の戻り売りは時間が短いそうなので、10:10にクローズします。
// 日本時間10:10にクローズ
if(TimeHour(japanTime)==10
&& TimeMinute(japanTime)==10
){
bool isClose = OrderClose(OrderTicket(),OrderLots(),Ask,0,Blue);
}
実行結果は以下のようになりました。
スプレッド=5 で PF=2.12 でした。
売りでも最初以外はきれいな右肩上がりです。
ゴトー日の仲値トレードは優位性があるといえそうですね。
ゴトー日EAを改良してみる
優位性がありそうなので、少し改良してみましょう。
エントリー、クローズ時間を変更する
決め打ちしていたエントリー、クローズ時間を外部変数にして変更できるようにして、最適化を行います。
買いエントリーを以下のように変更します。
// 外部変数の宣言 extern int buy_orderHour = 9; extern int buy_orderMin = 0; extern int buy_closeHour = 9; extern int buy_closeMin = 55; // ゴトー日に買いエントリー if(isFiveDay && TimeHour(japanTime)==buy_orderHour && TimeMinute(japanTime)==buy_orderMin ){ // 日本時間9:55にクローズ if(TimeHour(japanTime)==buy_closeHour && TimeMinute(japanTime)==buy_closeMin ){
5分刻みで最適化した結果、エントリーが8:20、クローズが9:55が一番良い成績でした。
スプレッド=5 で PF=1.73 でした。
最適化前よりきれいな右肩上がりの資産曲線になりました。
同様に仲値後の売りについても最適化します。
売り注文については「損益」と「プロフィットファクター(PF)」で最適化の結果が変わりました。
PF最大となる10:00クローズ時のグラフはこちら
損益が最大となる10:30クローズ時のグラフはこちら
PFが良いほうがきれいな右肩上がりですが、その分利益が少ないのでどちらを採用するかは好みの問題だと思います。
週末のゴトー日のみエントリーする
週末のゴトー日は、より仲値周りのトレンドがはっきり表れるといわれているため、その場合のみエントリーするように修正してみましょう。
// 今日の日付を5で割った余りを取得 double Mod=MathMod(Day(),5); // ゴトー日の金曜日 if(!Mod&&DayOfWeek()==FRIDAY)isFiveDay=True; // 土曜日がゴトー日の金曜日 else if(Mod==4&&DayOfWeek()==FRIDAY)isFiveDay=True; // 日曜日がゴトー日の金曜日 else if(Mod==3&&DayOfWeek()==FRIDAY)isFiveDay=True; // 上記以外はエントリーしない else isFiveDay=false;
これを先ほど最適化した設定(買:8:20~9:55、売:9:55~10:30)でテストしました。
PFと期待利得は上がりましたが、純益が6割弱減っています。
これなら普通にゴトー日にトレードしたほうがよさそうです。
月末のゴトー日のみエントリーする
さらに月末だけにエントリーを絞ってみました。
// 30日 if(Day()==30)isFiveDay=True; // 29日の金曜日 else if(Day()==29&&DayOfWeek()==FRIDAY)isFiveDay=True; // 28日の金曜日 else if(Day()==28&&DayOfWeek()==FRIDAY)isFiveDay=True; // 上記以外はエントリーしない else isFiveDay=false;
月末のゴトー日は30日なので、30日と30日が土日だった場合のみエントリーします。
(なお、2月は今回無視します……)
結果はこのようになりました。
どれを取っても普通のゴトー日に負けています。
むしろ月末は仲値アノマリーが効きにくいということなのでしょうか。
おわりに
ゴトー日の仲値EAを作成して検証してみました。
仲値に向けた買い、仲値からの売りの両方で優位性が確認できました。
さらにストップロスポイントや、テイクプロフィットポイントを設定するなどすれば、より実用的になるのではないでしょうか。
追記:さらにEAを改良してみました。(【FX研究】ゴトー日EAを休日対応する)
コメント