2015年12月23日水曜日

EA COA M1 M5 Averaging ver 2.0 無料ソースコード記載!!

 前回のブログのように取引数を減らし単価を上げました。
二回目以降のエントリーは過去の最低価格以下にならないと、
発注しないように変更です。
メリットはT/P(利益確定ポイント)が上昇しない事。
発注数を減らせること⇒約1/10に
複数発注が減ったのでLOTSを0.05まで引き上げての結果です。

にほんブログ村 為替ブログ システムトレード 自作EA派へ
にほんブログ村

前回は一発注あたりの利益が70円でしたが、今回は450円に
一日の発注は10回前後ですので毎日4,500円というところですね。


//  Cost Moving  2015/12/23
#property copyright "TACA"
#property link "mt4kyoto.blogspot.jp"
#define MAGIC 151216
extern int Profit=90;
extern int COAPriod=5;
extern int COAMode=0;
extern double Lots=0.05;
int OrderFlag=0;
int OrderFlagSub=0;
int d;
int Ticket=0;
double PosCheck;
double PosNow;
double MinRate=360;
int start()
{Averaging();
CHKFlag();
if(MinRate>Ask){
if(OrderFlagSub<=1){
if(OrderFlag==2){d=OrderSend(NULL,0,Lots,Ask,10,0,Ask+Profit*Point,"COA Long",MAGIC,0,Red);
if(MinRate>Ask){MinRate=Ask;}}}}
OrderFlagSub=OrderFlag;
if(OrdersTotal()==0){MinRate=360;}
return(0);}
int Averaging()
{ double 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)
    { Ticket=OrderTicket();
      d=OrderModify(Ticket,OrderOpenPrice(),0,PosAve+Profit*Point,0,Green);}}
  return(0);}
int CHKFlag()
{OrderFlag=0;
  if (iMA(NULL,PERIOD_CURRENT,COAPriod,0,COAMode,PRICE_OPEN,1)<iMA(NULL,PERIOD_CURRENT,COAPriod,0,COAMode,PRICE_CLOSE,1))
    {OrderFlag++;}
  if (iMA(NULL,5,COAPriod,0,COAMode,PRICE_OPEN,1)<iMA(NULL,5,COAPriod,0,COAMode,PRICE_CLOSE,1))
    {OrderFlag++;}  
return(0);}

0 件のコメント:

コメントを投稿