2016年2月19日金曜日

超低金利時代のEA Swapper Joe!! スワップが熱い!

連帯銀行アベノの危機、撃滅!クロダ総裁の罠 銀行系最後の秘宝 暗黒黒田教の洞窟 銀行帝国の野望 黒田魔獣の挑戦 美しき日銀 悪霊都市アベノ(上)(下) アベノミクスの幻獣 クロダの聖少女 水の日銀 黒田の狂宴 虹色の地獄 アベノミの嵐 などとマイナス金利の影響を予測するいろいろなことが言われていますが、日銀の金利が下がったということはスワップ狙いのスワッパーにとっては将来は非常に明るいかと思います。

FXのスワップはご存知の通り一部業者を除いてはNYクローズ時の建玉につきます。
クローズ直前の建玉も20時間前に買った建玉も公平にいただけます。
AUD/JPY10,000単位で40円前後かと思います。

では、クローズ直前にエントリークローズ直後にイグジットすれば儲かると誰も一度は考えたことがあるでしょう。
しかし、チャートは約5分前から上昇し、クローズ後に下降する傾向にあります。
そこで、日足5本 23:55にエントリー 少額の上昇でクローズし、もしも最悪クローズできなかった時は翌日にエントリーしたものと平均化するEAを作りました。
名付けてスワッパージョー(ロックマンではありません!!)
プロフィットは60でいつもの期間(11か月)利益は11,338円+スワップ40円x320日x6/10=約18,000円
雑多ですが10万円が年間12万円に20%の利率です。
平均化の過程で重複でもらえるスワップもあります。

黒田バズーカ3rd vs EA SwapperJoe どうでしょうか?






#property copyright "Copyright 2016/2/19,TACA"
#property link      "http://mt4kyoto.blogspot.jp/"
#define MAGIC 2355
extern int Profit=60;    
extern double Lots=0.01;   
extern int Spread=5;      
double PosAve;      
datetime TimeOld; 
int d;
void start(){
{if (Time[0] != TimeOld){TimeOld = Time[0];
if(Hour()==23&&Minute()==55){Entry();}
}}}
void Entry(){
d=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,0,0,"Swapper Joe!!",MAGIC,0,Red);
Averaging();
}
void Averaging(){
 PosAve=0;double LastPrice=0;double PosAll=0;double PosNum=0;
  for(int i=0;i<OrdersTotal();i++)
  { d=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    LastPrice=OrderOpenPrice();
    PosAll+=LastPrice*OrderLots();
    PosNum+=OrderLots();
  }
  if(PosNum==0){PosAve=0;}
  else{ PosAve=PosAll/PosNum;}   
  for(i=0;i<OrdersTotal();i++)
  { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==True)
    { d=OrderModify(OrderTicket(),OrderOpenPrice(),0,PosAve+Profit*Point,0,CLR_NONE);}
  }
}


8 件のコメント:

  1. TACAさま

    はじめまして。
    ブログ楽しく拝見させて頂いております。

    SwapperJoeについてなのですが、有効に使用させて頂いてます。
    これについていくつか、カスタムしたいのですが知識不足でお手上げのため
    ご教授して頂きたいのです。以下の3点を追加・修正したいと思っています。

    1.週末クローズ時刻前にポジションが取れない。
     (現在の23時:55分ではクローズ後の時間のため、金曜日のみ別の時間指定できるように出来な
      いでしょうか?)
    2.最大ポジション数を設定したい。
    3.保有ポジション最安値からの指定pips以内では、新規ポジションを取らないようにしたい。
     (2.3.については超長期運用を想定しているため、リスク管理項目として考えています。)

    どうかご教授頂けませんでしょうか?
    よろしくお願い致します。

    返信削除
  2. ありがとうございます!!
    少し作ってみました。
    1.時間はMinute()関数で現在のサーバー時間を取得して55と比較していたのですが
    DayOfWeek()関数で!=5 金曜以外 と ==5 金曜日にわけて設定で処理できるようにしました。
    2.最大ポジション数も設定できるようにしました。OrdersTotal()で所持本数を取得して設定数未満の時のみエントリーするようにしました。
    3.はAvereage関数の中で最低価格を取得し設定値より低い時のみ発注するようにしてみました。
    参考になれば幸いです^^

    返信削除
  3. TACAさま

    お世話になります。
    ありがとうございます!!

    今朝コメント書いたばかりなのに、凄過ぎです(汗)
    バックテストかけてみましたが想定道理に動いています。

    もう少しバックテストして設定出して運用しようと思います。
    私のように気長に運用しようという人がいれば非常に有用なEAになったと思います。
    ありがとうございました。

    返信削除
  4. バックテストうまくいったようで私もうれしく思います♪
    もうかりますように^^)

    返信削除
  5. このEAは売りでも可能でしょうか?
    EURTRYなどの売りでも使用したいです。

    あと決済時間も指定できるとうれしいです。
    スワップ受取後、利益○○以上で決済したいです。

    返信削除
  6. このEAは売りでも可能でしょうか?
    EURTRYなどの売りでも使用したいです。

    また、決済時間も指定できるとうれしいです。
    スワップ受取後、利益○○以上で決済したいです。

    返信削除
  7. 先ほどコメントしたひろです。

    他のEAとの同時稼働は可能でしょうか?

    返信削除
  8. コメントありがとうございます
    買いのみです。
    ロジックは毎日23:55にエントリーをして一定の利益が出れば決済、翌日23:55まで一定の利益に達しなかった時には追加で発注します。平均価格から一定額利益が出れば決済を繰り返します。
    設定のProfitが一定の利益幅ですのでProfitを変更すると利益○○以上~が変更できます。

    他のEAとは完全に競合します。
    { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==True)

    { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==True&&OrderMagicNumber()==MAGIC)
    にすると競合回避できます。
    ↑動作未確認 ごめんなさい

    返信削除