Rabu, 30 April 2014

Ngoprek EA 2

Salam sukses semuanya

Sepertinya harus dilengkapi pada posting saya Ngoprex 1
Senenarnya saya menunggu -nunggu temen2 yang hasil oprekan temen2 , tapi ternyata gak ada yang muncul, baru beberapa orang yang sempat menghubungi di Ym tetntang EA Setka

Nah dalam kesempatan ini saya akan share hasil oprekan versi saya , unguk menambah wawan

Nah ini hasilnya ...silahkan dicopas


//===========================================================================================================================//
// Author VOLDEMAR227 site WWW.TRADING-GO.RU      SKYPE: TRADING-GO          e-mail: TRADING-GO@List.ru
//===========================================================================================================================//
#property copyright "Copyright © 2013, ngoprex by Jumforex.blogspot.com"
#property link      "http://WWW.TRADING-GO.RU"
//===========================================================================================================================//
extern string  nGoPrex_by = "Jumforex.blogspot.com";
extern double  Risiko_inMoney = 1000;
extern double  Target_Persen  = 100;
extern bool    Close_Panic= false;
extern string    Hari_Trade         = "=>Sesuai selera::";
extern bool      Senin              = true;
extern bool      Selasa             = true;
extern bool      Rabu               = true;
extern bool      Kamis              = true;
extern bool      Jumat              = true;

extern string  Comment_1 = "settings";
extern int     Plus= 50;
extern int     TakeProfit = 11;
extern int     Range = 17;
extern double  Lots    = 0.00;
extern double  Percent    = 1;

extern bool    Martin     = true;

extern string  Comment_2 = "signalMA";
extern bool    SignalMA = false;
extern int     PeriodMA1 = 8 ;
extern int     PeriodMA2 = 14 ;

extern string  Comment_3 = "signalRSI";
extern bool    SignalRSI = true;
extern int     PeriodRSI = 14 ;
extern int     up= 40;
extern int     dw= 60;

extern string  Comment_4 = "signalProc";
extern bool    Proc    =true;
extern double  Procent    =1.3;

extern int     Slip=2;
extern int     Magic=1;
double bal,xc;string st;
int init()
  {
 bal= AccountBalance();
   return(0);
  }

int start()   {
 if(!IsDemo() ){ Alert("Maaf bos versi demo , hubungi : ym: gifaesa ...");  return(0);}
if(AccountEquity() <= bal - Risiko_inMoney){
  cL(0);
  cL(1);
  Alert(" Waduh Prehatin Bro");
  return(0);
  }
if(Close_Panic){
  cL(0);
  cL(1);
  Alert(" Tenang Bro dunia belum Berakhir");
  return(0);
}
bool tr=false;
xc=(bal*Target_Persen/100);
if(AccountEquity()>=bal+xc){
  cL(0);
  cL(1);
  Alert(" Hore Target udah sampe tujuan selamat");
  tr=true;
  }
double Lots_New=0;
 string Symb   =Symbol();              
   double One_Lot=MarketInfo(Symb,MODE_MARGINREQUIRED);
   double Min_Lot=MarketInfo(Symb,MODE_MINLOT);
   double Step   =MarketInfo(Symb,MODE_LOTSTEP);
   double Free   =AccountFreeMargin();       
//--------------------------------------------------------------- 3 --
   if (Lots>0)                              
     {                                       
      double Money=Lots*One_Lot;         
      if(Money<=AccountFreeMargin())        
         Lots_New=Lots;                  
      else                               
         Lots_New=MathFloor(Free/One_Lot/Step)*Step;
     }
//--------------------------------------------------------------- 4 --
   else                                   
     {                                      
      if (Percent > 100)                 
         Percent=100;                   
      if (Percent==0)               
         Lots_New=Min_Lot;                 
      else                     
         Lots_New=MathFloor(Free*Percent/100/One_Lot/Step)*Step;//????
     }
//--------------------------------------------------------------- 5 --
   if (Lots_New < Min_Lot)                 
      Lots_New=Min_Lot;                 
   if (Lots_New*One_Lot > AccountFreeMargin())
     {                                        
      return(false);                       
     }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
   ObjectCreate("R",OBJ_LABEL,0,0,0);
   ObjectSet("R",OBJPROP_CORNER,2);
   ObjectSet("R",OBJPROP_XDISTANCE,10);
   ObjectSet("R",OBJPROP_YDISTANCE,10);
   ObjectSetText("R","from: WWW.TRADING-GO.RU  ,nGoPrex by Jumforex.blogspot.com",21,"Mistral",Aqua);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
   double opB=2000; double opS=0; double orderProfitbuy=0; double Sum_Profitbuy=0; double orderProfitsel;  double Sum_Profitsel; int orderType;
   double LotB=Lots_New;
   double LotS=Lots_New;
   int total=OrdersTotal();
   int b=0,s=0,n=0;
   for(int i=total-1; i>=0; i--)     {
      if(OrderSelect(i, SELECT_BY_POS))
        {
         if(OrderSymbol()==Symbol()      )
           {
            n++;
            if(OrderType()==OP_BUY && OrderMagicNumber()==Magic)
              {
               b++;
               LotB=OrderLots();
               double ProfitB=OrderTakeProfit(); double openB=OrderOpenPrice();
               if(openB<opB)
                 {opB=openB;}
              }
            //---------------------------------     
            if(OrderType()==OP_SELL && OrderMagicNumber()==Magic)
              {
               s++;
               LotS=OrderLots();
              double ProfitS=OrderTakeProfit(); double openS=OrderOpenPrice();
               if(openS>opS)
                 {opS=openS;}
              }
           }
        }
     }
   double max = NormalizeDouble(iHigh(Symbol(),1440,0),Digits);
   double min = NormalizeDouble(iLow (Symbol(),1440,0),Digits);
   double opp=NormalizeDouble(iOpen(Symbol(),1440,0),Digits);
   double cl=NormalizeDouble(iClose(Symbol(),1440,0),Digits);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
   double dis   =NormalizeDouble(Range*Point,Digits);
   double spred =NormalizeDouble(MarketInfo(Symbol(),MODE_SPREAD)*Point,Digits);
   double  CORR=NormalizeDouble(Plus            *Point,Digits);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//  
int sigup=0;
int sigdw=0;
double RS=iRSI(NULL,0,PeriodRSI,PRICE_CLOSE,1);
int sig,sg;
if (SignalMA == true)
{
if(MA(PeriodMA1,2)<MA(PeriodMA2,2)&& MA(PeriodMA1,1)>MA(PeriodMA2,1))sig=1;
if(MA(PeriodMA1,2)>MA(PeriodMA2,2)&& MA(PeriodMA1,1)<MA(PeriodMA2,1))sig=2;

}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
if (SignalRSI == true)
{
if(RS<up)sg=1;
if(RS>dw)sg=2;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
if (Proc    ==true)
{
   if(cl>min) { double x=NormalizeDouble(cl*100/min-100,2); }
   if(cl<max) { double y=NormalizeDouble(cl*100/max-100,2); }
  
if (Procent*(-1)<=y&&Close[1]>Open[1]){ sigup=1; sigdw=0; }
if (Procent     >=x&&Close[1]<Open[1]){ sigup=0; sigdw=1; } 
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
   int f=0;
   if(Martin==true)
     {
        if (total==0){f=1    ;}
        if (total>=1){f=total;}
         LotB=Lots_New*f;
         LotS=Lots_New*f;
     }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
if(Martin==false)
  {
LotB=LotS;
LotS=LotB;
  }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// 
if(!tr && !Close_Panic &&  tday()==1 && IsDemo()){
if((!SignalMA && !SignalRSI && b==0&&sigup==1&&s==0)||(SignalMA && !SignalRSI && b==0&&sigup==1&&s==0 && sig==1)||(!SignalMA && SignalRSI && b==0&&sigup==1&&s==0 && sg==1)||(SignalMA && SignalRSI && b==0&&sigup==1&&s==0&& sig==1&& sg==1)||(Ask<opB-dis+spred&&b>=1&&s==0)) { OrderSend(Symbol(),OP_BUY ,LotB,Ask,Slip,0,0,"Jum69Buy+"+b,Magic,0,Green); }
if((!SignalMA && !SignalRSI && s==0&&sigdw==1&&b==0)||(SignalMA && !SignalRSI && s==0&&sigdw==1&&b==0 && sig==2)||(!SignalMA && SignalRSI && s==0&&sigdw==1&&b==0 && sg==2)||(SignalMA && SignalRSI && s==0&&sigdw==1&&b==0&& sig==2&& sg==2)||(Bid>opS+dis+spred&&s>=1&&b==0)) { OrderSend(Symbol(),OP_SELL,LotS,Bid,Slip,0,0,"Jum69Sell+"+s,Magic,0,Green); }
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
double TP= NormalizeDouble (spred+TakeProfit*Point,Digits);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
 if(AccountEquity()<bal+xc && s+b>0) st=" SabaR menunggu ,Target masih dikejar...sabar!";  else
 if(AccountEquity()<bal+xc && s+b==0) st=" SabaR menunggu kabar Signal dari langit!"; else
 if(tr) st=" Hore Target udah sampe tujuan selamat";

   for (int iq=total-1; iq>=0; iq--)
   {
    if(OrderSelect(iq, SELECT_BY_POS))
     {
      if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
       {  
        if (OrderType()==OP_BUY  &&  OrderTakeProfit()==0 && b==1)
         {
          OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()+TP,Digits),0,Blue); 
         }    
        if (OrderType()==OP_SELL && OrderTakeProfit()==0 && s==1)
         {
          OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(OrderOpenPrice()-TP,Digits),0,Blue); 
         }
}}}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
double nn=0,bb=0;
for(int ui=total-1; ui>=0; ui--)
  {
   if(OrderSelect(ui,SELECT_BY_POS))
     {
      if(OrderSymbol()==Symbol())
        {
         if(OrderType()==OP_BUY && OrderMagicNumber()==Magic)
           {
            double op=OrderOpenPrice();
            double llot=OrderLots();
            double itog=op*llot;
            bb=bb+itog;
            nn=nn+llot;
            double factb=bb/nn;
           }
        }
     }
  }
double nnn=0,bbb=0;
for(int usi=total-1; usi>=0; usi--)
  {
   if(OrderSelect(usi,SELECT_BY_POS))
     {
      if(OrderSymbol()==Symbol())
        {
         if(OrderType()==OP_SELL && OrderMagicNumber()==Magic)
           {
            double ops=OrderOpenPrice();
            double llots=OrderLots();
            double itogs=ops*llots;
            bbb=bbb+itogs;
            nnn=nnn+llots;
            double facts=bbb/nnn;
           }
        }
     }
  }

for(int uui=total-1; uui>=0; uui--)
  {
   if(OrderSelect(uui,SELECT_BY_POS))
     {
      if(OrderSymbol()==Symbol())
        {
         if(b>=2 && OrderType()==OP_BUY && OrderMagicNumber()==Magic)
           {
            OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(factb+CORR,Digits),0,Blue);
           }
         if(s>=2 && OrderType()==OP_SELL && OrderMagicNumber()==Magic)
           {
            OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),NormalizeDouble(facts-CORR,Digits),0,Blue);
           }
        }
     }
    
  }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
  Comment("\n ",
   "\n ",
   "\n ------------------------------------------------",
   "\n :: Spread                 : ", MarketInfo(Symbol(), MODE_SPREAD),
   "\n :: Leverage               : 1 : ", AccountLeverage(),
   "\n :: Jam Server             :", Hour(), ":", Minute(),
   "\n ------------------------------------------------",
   "\n :: Equity Sekarang        : ", AccountEquity(),
   "\n :: Floting                : ", mon(),
   "\n :: Target      : ", Target_Persen, " Persen, @Equety :", bal+xc,"$",
   "\n :: Posisi    :", st,
   "\n ------------------------------------------------",
   "\n :: nGopRex By: Jum69",
   "\n ------------------------------------------------");
   
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
 void cL(int m)
{
 for (int i = OrdersTotal() - 1; i >= 0; i--) {
  OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
  if (OrderSymbol() != Symbol() || OrderMagicNumber()!=Magic || OrderType()!=m) continue;
  if (OrderType() > 1) OrderDelete(OrderTicket());
  if (OrderType() == 0) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE);
  if (OrderType() == 1)OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE);
 }
}
 double mon()
{
 double t;
 for (int i = OrdersTotal() - 1; i >= 0; i--) {
  OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
  if (OrderSymbol() != Symbol() || OrderMagicNumber()!=Magic ) continue;
  t+=OrderProfit();
 }
 return(t);
}

double MA(int Per,int s){ return(iMA(NULL,0,Per,8,MODE_SMMA,PRICE_MEDIAN,s));  }
int tday()
{
int trd=0;
if(Senin  && DayOfWeek()==1) trd=1;
if(Selasa && DayOfWeek()==2) trd=1;
if(Rabu   && DayOfWeek()==3) trd=1;
if(Kamis  && DayOfWeek()==4) trd=1;
if(Jumat  && DayOfWeek()==5) trd=1;
return(trd);
}

======================
Jangan lupa ea di atas ada proteksi demonya silahkan untuk dicoba

semoga bermanfaat

Salam sukses
 *copas dari http://jumforex.blogspot.com

1 komentar:

  1. Selamat siang,
    Perkenalkan nama saya Okta dari Forexmart

    Forexmart adalah Broker dari Eropa yang teregulasi CySEC (Cyprus Securities and Exchange Commission, license number 266/15) dan kami tertarik untuk menawarkan kerjasama kepada anda.
    Bisa saya meminta nomor kontak untuk menghubungi anda lebih lanjut?
    Anda dapat mengontak saya di 08111622285 / okta@forexmart.com

    Terima Kasih
    Okta
    Business Development

    BalasHapus