2016年1月4日月曜日

EA RSI Averaging コメント付けました。

本日より市場再開
午前中はUSD/JPYがどんと下がり稼がしてもらいました^^V
株屋さんは大変だったでしょうね。
あれ?そういえば昨年LONG放置があったような...
大量にありました(汗)
あわててストップロスしましたが、年初からえぐいマイナスです。うぅぅ

今朝のトレンド相場RSI AVERAGING大活躍でした。
RSIが33を下回ったらエントリー、しかしずっと下回っているので買いっぱなし
そして、少し上がると利益確定を繰り返していました。
それに引き替えMACDは一度決済したら、まったくエントリしません。
トレンドにはRSI,レンジにはMACDですね。

RSIをずっと見ていて思ったのですが、今買いなのか売りなのかがわかりにくい。
ポジション数を数えるのも面倒です。
そこでコメントにロット単位、ポジション数、買建Long,売建Short,ポジション無Noneと表示するようにしました。



#property copyright "Copyright 2015/12/31,TACA"
#property link      "http://mt4kyoto.blogspot.jp/"
datetime TimeOld;
int Ticket;
extern int Profit=15;
extern int RSIPeriod=17;
extern int RSIBL=33;
extern int RSIUL=75;
int Continue;
double PrSub;
double PosAve;
int Mode=0;
string ModeText[3]={"Short Mode","None","Long Mode"};
extern double Lots=0.01;
int start(){if(Time[0]!=TimeOld){TimeOld=Time[0];
if(OrdersTotal()==0){Mode=0;}
if(Mode>=0)
{if(iRSI(NULL,1,RSIPeriod,0,1)<=RSIBL)
{int b=OrderSend(NULL,0,Lots,Ask,3,0,Bid+Profit*Point,"Long",1231,0,Red);Mode=1;Continue=1;}}
if(Mode<=0)
{if(iRSI(NULL,1,RSIPeriod,0,1)>=RSIUL)
{int c=OrderSend(NULL,1,Lots,Bid,3,0,Bid-Profit*Point,"Short",1231,0,Blue);Mode=-1;Continue=1;}}
if(iRSI(NULL,1,RSIPeriod,0,1)<=RSIBL)
{if(iRSI(NULL,1,RSIPeriod,0,1)>=RSIUL){Continue=0;}}
Averaging();
Comment("Lots:"+Lots+"\nPos:"+OrdersTotal()+"\n"+ModeText[Mode+1]);    
}return(0);}
int Averaging()
{ double LastPrice=0;double PosAll=0;double PosNum=0;
  for(int i=0;i<OrdersTotal();i++)
  {int 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)
    { Ticket=OrderTicket();
      if(OrderType()==0)
      {PrSub=PosAve+Profit*Point;}
      else
      {PrSub=PosAve-Profit*Point;} 
    int e=OrderModify(Ticket,OrderOpenPrice(),0,PrSub,0,CLR_NONE);
    }
  }
return(0);
}

0 件のコメント:

コメントを投稿