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

Ngoprek EA 1

Ha bagi para  trader yang sudah biasa bermain dengan coding EA tentu hal yang lumrah bila sekali waktu ngoprek ,..............Tentu ngoprek EA maksudnya!
Nah Kali ini saya akan mengajak temen2 untuk mencoba mengoprek sebuah EA yang cukup baik yang berasal dari library mql4 , dan asal EA nya dari negeri beruang ==>Rusia
VR---SETKA---3 ini nama aslinya dari sononya

Begini Eanya!




//===========================================================================================================================//
// Author VOLDEMAR227 site WWW.TRADING-GO.RU      SKYPE: TRADING-GO          e-mail: TRADING-GO@List.ru
//===========================================================================================================================//
#property copyright "Copyright © 2012, WWW.TRADING-GO.RU ."
#property link      "http://WWW.TRADING-GO.RU"
//WWW.TRADING-GO.RU  full version free
//===========================================================================================================================//
extern string  Comment_1 = "settings";
extern int     Plus= 50;
extern int     TakeProfit = 300;
extern int     Distanciya = 300;
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 = false;
extern int     PeriodRSI = 14 ;
extern int     up= 50;
extern int     dw= 50;

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

extern string  Comment_5 = "Monitor";
extern bool    Monitor =  true;
extern int     CORNER = 0;
extern int     Slip=2;
extern int     Magic=1;
int start()
  {
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","WWW.TRADING-GO.RU  full version free",15,"Arial Black",Red);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
   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(Distanciya*Point,Digits);
   double spred =NormalizeDouble(MarketInfo(Symbol(),MODE_SPREAD)*Point,Digits);
   double  CORR=NormalizeDouble(Plus            *Point,Digits);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//  
int sigup=0;
int sigdw=0;
//WWW.TRADING-GO.RU  full version free
if (SignalMA == true)
{
//WWW.TRADING-GO.RU  full version free
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
if (SignalRSI == true)
{
//WWW.TRADING-GO.RU  full version  free
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
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((b==0&&sigup==1&&s==0)||(Ask<opB-dis+spred&&b>=1&&s==0)) { OrderSend(Symbol(),OP_BUY ,LotB,Ask,Slip,0,0,"Buy ",Magic,0,Green); }
if((s==0&&sigdw==1&&b==0)||(Bid>opS+dis+spred&&s>=1&&b==0)) { OrderSend(Symbol(),OP_SELL,LotS,Bid,Slip,0,0,"Sell",Magic,0,Green); }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
double TP= NormalizeDouble (spred+TakeProfit*Point,Digits);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
   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(),factb+CORR,0,Blue);
           }
         if(s>=2 && OrderType()==OP_SELL && OrderMagicNumber()==Magic)
           {
            OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),facts-CORR,0,Blue);
           }
        }
     }
  }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
if ( Monitor == true )
{
//WWW.TRADING-GO.RU  full version free
}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//


=======================
Bagi temen2 yang mau nyoba silahkan di copas  dan mungkin bisa diamati programnya.
Ea ini termsuk sudah cukup baik karena sudah menggunakan perhitungan Bep untuk Take profitnya. (emang ada sedikit error untuk modifikasi ordernya tapi tidak menggganggu).

Kalo diamati emang sepertinya EA ini edisi free dan untuk signalnya belum lengkap tetapi sudah cukup baik untuk di coba di buat demo atau riel heeeee dan mungkin edisi lengkapnya dibuat premium (kali aja loh)

Nah Pada kesempatan kali ini saya akan ngoprek dengan sedikit saya tambahakan:

  1. Target persen = artinya kalo target equety sudah tercapai maka EA akan berhenti trading
  2. Penambahan signal berdasarkan indikator yang ada 
  3. dan sedikit diberi pemanis buatan heeeeeeee
Nah sementara di sini dulu yah
hasil ngopreknya sabar dulu atau ada temen2 yang akan menyumbangkan hasil oprekannya , silahkan di kasih link atau email juga boleh

untuk versi oprek bisa langung meluncur ke sini 
 *copas dari http://jumforex.blogspot.com

Share JumStoch v2.6

Share JumStoch v2.6

Setelah sekian lama gak posting karena banyaknya kesibukan baru kali ini sempat post

Pada posting kali ini sayare a akan coba share satu EA sy, sebagai kelanjutan dari EA yang pernah saya share pada forum Indomt5 di sini  dan kelanjutan dari posting di sini.
====================

EA JumStoCh+v2 Final Edition

EA JumStoCh+V2 ini merupakan pengembangan logika dari EA JumStoCh+v1 dan EA KatRoK+v3
secara konsep EA ini menggunakan indikator MA dan Stockhastik
EA ini telah saya share di tread forum Mt5 silahkan kunjungi disini
EA ini ada 2 macam
1. versi 2.1-2.3 menggunakan tp dalam hitungan pip dari orderopenprice
2. versi 2.4 dan 2.5 menggunakan tp Bep

Ini hasil Beck test  versi 2.5 selama 1  bulan

Seiringing dengan pengalaman penggunaanny Jum+StoCh+ akhirnya lebih disempurnakan dengan Jum+StoCh+ Final Edition ==> dengan penambahan fitur baru untuk kepentingan trade menhadapi market

Fitur Jum+StoCh+v2.3F al:
 extern string    Seting_Parameter = "=>Parameter Pro+v2.3<<";
extern string    Khusus_Closing = "=>Gunakan sesuai Kebutuhan<<";
extern bool      Close_Panic        =false;  >>close mendadak sema order
extern bool      Close_Buy_Trend    =false; >> close khusus buy trend (Jum+StoCh+1)
extern bool      Close_Sell_Trend   =false; >> close khusus sell trend (Jum+StoCh+2)
extern bool      Close_Buy_Counter  =false; >> close khusus buy counter (Jum+StoCh+3)
extern bool      Close_Sell_Counter =false; >> close khusus sel lcounter   (Jum+StoCh+4)
extern string    Seting_Risk_Target = "=>Gunakan sesuai Kebutuhan<<";
extern bool      Risk_In_Money      =false;
extern double    Risk_in_money      =1000;
extern double    Target_Persen      =1000;
extern string    Seting_Mode_Trend = "=>Seting Trade trend<<"; >> tambahan fitur baru khusus trend
extern int       StartHour          = 0;
extern int       StopHour           = 24;
extern bool      Buy_Trend          =true;
extern bool      Sell_Trend         =true;
extern string    Seting_Mode_Conter= "=>Seting Trade Counter Trend<<"; >> tambahan fitur baru khusus counter trend
extern int       Start_Hour         = 0;
extern int       Stop_Hour          = 24;
extern bool      Buy_Counter        =true;
extern bool      Sell_Counter       =true;
extern string    Gap_="==>Gap_Factor= jarak pip gap order ";
extern bool      Close_All_Gap      =true;
extern double    Gap_Factor         =38;
extern string    Seting_MM          = "=>Seting sesuai selera<<";
extern string    Lot_info           = "Lot Mode = 1 -> Compound; Mode = 2 -> Fix Lot)";
extern int       Lot_mode           = 2;
extern string    Lot_info2          = "Rumus Compound = Balance/Manage_Lot";
extern double    Manage_Lot         =10000;
extern double    Fix_lot            =0.01;
extern int       Magic              =69;
extern double    Range              =21;
extern int       Level_Max          =12;
extern int       Star_ModifTp       =4;
extern double    DiMarti            =1.7;
extern double    SL                 =253;
extern double    TP                 =30;
extern bool      Tp_In_money        =false;
extern double    Tp_in_money        =7.0;
extern bool      Dtrailing          =false;
extern int       Trailing           = 5;
extern string    Indi_Seting        = "==>Stockhastik trend & MA Seting<<="; >>seting indikator masiing2 mode disendirikan
extern int       kperiod            = 10;
extern int       dperiod            = 3;
extern int       slowing            = 3;
extern int       lo_level           = 25;
extern int       up_level           = 75;
extern int       maPereode          = 25;
extern string    Indi_Stoch_2       = "==>Stockhastik counter trend<<=";
extern int       k_period           = 32;
extern int       d_period           = 12;
extern int       s_lowing           = 12;
extern int       lolevel            = 30;
extern int       uplevel            = 70;
Fitur Jum+StoCh+v2.5F  tidak jauh berbeda al:
extern string    Seting_Parameter   = "=>Parameter Pro+v2.5<<";
extern string    StopTrade_Info     = "=>Model Stop Profit / Take Loss EA<<"; // :D
extern string    Khusus_Closing = "=>Gunakan sesuai Kebutuhan<<";
extern bool      Close_Panic        =false;
extern bool      Close_Buy_Trend    =false;
extern bool      Close_Sell_Trend   =false;
extern bool      Close_Buy_Counter  =false;
extern bool      Close_Sell_Counter =false;
extern string    Seting_Risk_Target = "=>Gunakan sesuai Kebutuhan<<";
extern bool      Risk_In_Money      = false;
extern double    Risk_in_money      = 1000;
extern double    Target_Persen      = 1000;
extern string    Seting_Mode_Trend = "=>Seting Trade trend<<";
extern int       StartHour          = 0;
extern int       StopHour           = 24;
extern bool      Buy_Trend          =true;
extern bool      Sell_Trend         =true;
extern string    Seting_Mode_Conter= "=>Seting Trade Counter Trend<<";
extern int       Start_Hour         = 0;
extern int       Stop_Hour          = 24;
extern bool      Buy_Counter        =true;
extern bool      Sell_Counter       =true;
extern string    Seting_MM          = "=>Seting sesuai selera<<";
extern string    Lot_info           = "Lot Mode = 1 -> Compound; Mode = 2 -> Fix Lot)";
extern int       Lot_mode           = 2;
extern string    Lot_info2          = "Rumus Compound = Balance/Manage_Lot";
extern double    Manage_Lot         = 10000;
extern double    Fix_lot            = 0.01;
extern int       Magic              = 69;
extern double    Range              = 21;
extern int       Level_Max          = 12;
extern double    DiMarti            = 1.7;
extern double    SL                 = 253;
extern double    TP                 = 30;
extern int       Star_ModifTp_Bep   = 3;
extern double    Tp_from_Bep        = 11;
extern bool      Tp_In_money        = false;
extern double    Tp_in_money        = 7.0;
extern bool      Dtrailing          = true;
extern int       StartTrail         = 10;
extern int       Trailing           = 7;
extern string    Indi_Seting        = "==>Stockhastik trend & MA Seting<<=";
extern int       kperiod            = 32;
extern int       dperiod            = 12;
extern int       slowing            = 12;
extern int       lo_level           = 25;
extern int       up_level           = 75;
extern int       maPereode          = 25;
extern string    Indi_Stoch_2       = "==>Stockhastik counter trend<<=";
extern int       k_period           = 32;
extern int       d_period           = 12;
extern int       s_lowing           = 12;
extern int       lolevel            = 30;
extern int       uplevel            = 70;
Semoga bermanfaat untuk trader Indonesia
Nah Final Edition Silahkan download ===> disini

Jangan lupa kasih comment kalo ada hal2 sebagai masukan====================
Sebenarnya versi ini telah dikembangkan sampai versi 9 (masih untuk pribadi).

Pada  versi ini sebenar sedikit berbeda dengan versi sebelumnya karena pada versi ini sebenarnya disamping untuk mengejar profit tapi juga mengejar rabat.
Masih tetep trigernya cuma sedikit ditambah pengembangan sehingga lebih agresif dengan model
average dan lotsnya tetep , tetapi mengacu pada kelipatan balance

Penasaran ini Parameternya


Ada parameter Slow_aja  ini bisa dipilih true atau false
untuk mengetahui kegunaannya silahkan di coba dibuat demo atu di Becktest.

Penampakannya sbb:


Bagi yang mau nyoba silahkan sedot disini

Belajar Membuat EA Sederhana 38 (terapan indikator IFX_Keltner_Channel III)

Kita sambung deh part sebelumnya http://jumforex.blogspot.com/2013/07/belajar-membuat-ea-sederhana-37-terapan.html

Dibagian sebelumnya sudah di jelaskan tentang model indikator ini. dan juga ada teman yang sudah bikin eanya di part sebelum nya .
Kali saya juga agan share tentang ea yg berdasarkan indikator ini dengan model averaging .

EA ini cococok untuk mengejar rabat !

Tapi jangan lupa Ea ini ada proteksi demonya  | jadi harus dihilangkan dulu

//+------------------------------------------------------------------+
//|                                            Jum+Keltner Chan .mq4 |
//|                                           Copyright 2013, Annura |
//|                                                gifaesa@yahoo.com |
//|                                     http://JumForex.blogspot.com |
//+------------------------------------------------------------------+
#property copyright "JumForex.blogspot.com"
#property link      "Gifaesa@yahoo.com"

extern string Nama_EA               = "Jum+Keltner+Chan";
extern int    TP                    = 11;
extern int    TP_money              = 11;
extern int    SL                    = 20;
extern bool   SL_otomatis           = false;
extern double Lot                   = 0.01;
extern int    Magic                 = 69;
extern int    Mode_Ma               = 0;
extern int    Ma_Pareode            = 10;
extern int    Price_tip             = 5;
extern int    Max_order             = 2;
double pt,SLb,TPb,SLs,TPs;

int init()
  {
   if(Digits==3 || Digits==5) pt=10*Point;   else   pt=Point;
   return(0);
  }
int deinit()
  {
   return(0);
  }
int start()  {lab();
if(!IsDemo()){Alert("hanya untuk demo boss"); return(0);}
  if(TP_money<=man())closeall();
 
      double kfa  = iCustom(Symbol(),0,"IFX_Keltner_Channel",Ma_Pareode,Mode_Ma,Price_tip,0,0);
      double kfm  = iCustom(Symbol(),0,"IFX_Keltner_Channel",Ma_Pareode,Mode_Ma,Price_tip,1,0);
      double kfb  = iCustom(Symbol(),0,"IFX_Keltner_Channel",Ma_Pareode,Mode_Ma,Price_tip,2,0);
      static datetime w;
      if(TP==0)TPb=0;else TPb=Ask+TP*pt;
      if(TP==0)TPs=0;else TPs=Bid-TP*pt;
      if(SL==0)SLb=0;else SLb=Ask-SL*pt;
      if(SL==0)SLs=0;else SLs=Bid+SL*pt;
      if(SL_otomatis){  SLb=kfb; SLs=kfa;}//else if(!SL_otomatis){SLb=Ask-SL*pt; SLs=Bid +SL*pt;}
      if(w!=Time[0] && IsDemo()){
      if(Ask<kfb && JumlahOrder(0)<Max_order)   {
         OrderSend(Symbol(),OP_BUY,Lot,Ask,3,SLb,TPb,Nama_EA,Magic,0,Blue); 
      }
      if(Bid>kfa && JumlahOrder(1)<Max_order) {
        OrderSend(Symbol(),OP_SELL,Lot,Bid,3,SLs,TPs,Nama_EA,Magic,0,Red);
          }
      w=Time[0]; }

   return(0);
  }
//+------------------------------------------------------------------+
int JumlahOrder(int Tipe){   int Total = 0;
 for(int i=0; i<OrdersTotal(); i++)   {
 OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
 if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic || OrderType()!=Tipe) continue;
 if(IsDemo())Total++; } 
 return(Total);}
double man(){double Total = 0;
 for(int i=0; i<OrdersTotal(); i++)   {
 OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
 if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic ) continue;
 if(IsDemo())Total+=OrderProfit(); } 
 return(Total);}
void closeall(){
 for (int i = OrdersTotal() - 1; i >= 0; i--) { 
 OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
 if (OrderSymbol() != Symbol() || OrderMagicNumber()!=Magic  ) 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); }}
void lab(){
 Comment("\n ",
   "\n ------------------------------------------------",
   "\n :: Spread                 : ", MarketInfo(Symbol(), MODE_SPREAD),
   "\n :: Leverage               : 1 : ", AccountLeverage(),
   "\n :: Equity                 : ", AccountEquity(),
   "\n :: Jam Server             :", Hour(), ":", Minute(),
   "\n ------------------------------------------------",
   "\n :: Total Op Buy  : ",JumlahOrder(0),
   "\n :: Total Op Sell : ",JumlahOrder(1),
   "\n ------------------------------------------------",
   "\n :: >>By: Jum69<<",
   "\n ------------------------------------------------");
}


=============
*copas dari http://jumforex.blogspot.com

Belajar Membuat EA Sederhana 37 (terapan indikator IFX_Keltner_Channel II)

Kita lanjutin deh setelah di part 36    , Kita sudah sedikit membahas tentang indikator IFX_Keltner_Channel.
dari gambaran di part sebelumnya indi ini mempunyai 3 mode yaitu 0,1,2
terus bagimana untuk membaca indikator tersebut supaya bisa dipanggil di dalam Ea .

Pada pembahasan yang dulu kita sudah pernah membahas membuat ea dengan indikator diluar mt4 (custom indikator)
kita coba:
di pembahasan sebelumnya sudah diketahui bahwa indikator ini mempunyai 3 mode dan 3 input parameter , Nah dari situ bisa kita buat custom indikatornya begini

Nah dengan dibuat custom indi IFX_Keltner ini maka akan mudah diimplementasikan kedalam EA

Rule Ea yang akan kita bikin adalah  (untuk mode market trending)
1. Buy ketika harga menembus garis upper
2. sell ketika harga menembus garis lower
3. op dibuat stiap candel ada signal

apalagi ya

itu aja deh
silahkan yang mau bikin bisa dibuat kan EAnya

Nah ini salah satu Ea yang di bikin oleh master "Anie Budi Raharjo " yang udah ngirimkan melalui FB
SLnya dibuat otomatis digaris indinya:


//+------------------------------------------------------------------+
//|                                          IFX_Keltner_Channel.mq4 |
//|                                           Copyright 2013, Annura |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, Annura"
#property link      ""

extern string Nama_EA               = "IFX Keltner Channel";
extern int    TP                    = 11;
extern int    SL                    = 20;
extern double Lot                   = 0.01;
extern int    Magic                 = 69;
extern int    Mode_Ma               = 0;
extern int    Ma_Pareode            = 10;
extern int    Price_tip             = 5;
extern int    Max_order             = 2;


int signalBuy,signalSell;
double pt,SLb,TPb,SLs,TPs;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   if(Digits==3 || Digits==5) pt=10*Point;   else   pt=Point;
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
  
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
      double kfa  = iCustom(Symbol(),0,"IFX_Keltner_Channel",Ma_Pareode,Mode_Ma,Price_tip,0,0);
      double kfm  = iCustom(Symbol(),0,"IFX_Keltner_Channel",Ma_Pareode,Mode_Ma,Price_tip,1,0);
      double kfb  = iCustom(Symbol(),0,"IFX_Keltner_Channel",Ma_Pareode,Mode_Ma,Price_tip,2,0);

      if(Open[1]<kfa && Close[1]>kfa && Open[0]>kfa)
      {
         signalBuy=1;
      }
      if(Open[1]>kfb && Close[1]<kfb && Open[0]<kfb)
      {
         signalSell=1;
      }
     
      SLb=kfb;
      SLs=kfa;
      if(TP==0)TPb=0;else TPb=Ask+TP*pt;
      if(TP==0)TPs=0;else TPs=Bid-TP*pt;
     
      if(signalBuy==1 && JumlahOrder(0)<Max_order)
      {
         OrderSend(Symbol(),OP_BUY,Lot,Ask,3,SLb,TPb,Nama_EA,Magic,0,Blue); 
      }
      if(signalSell==1 && JumlahOrder(1)<Max_order)
      {
         OrderSend(Symbol(),OP_SELL,Lot,Bid,3,SLs,TPs,Nama_EA,Magic,0,Red);       
      }

//----
   return(0);
  }
//+------------------------------------------------------------------+
int JumlahOrder(int Tipe)
{
   int Total = 0;
   for(int i=0; i<OrdersTotal(); i++)
   {
       OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
       if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic || OrderType()!=Tipe)
       {
         continue;
       }
     Total++;
   }
   return(Total);
}

==============
*copas dari http://jumforex.blogspot.com

Belajar Membuat EA Sederhana 36 (terapan indikator IFX_Keltner_Channel)

Salam sukses semuanya

Kita lanjutkan lagi  part 36 setelah pada sebelumnya 35     kita suda memabahas sedikit tentang proteksi EA.
Pada kesempatan kali ini kita akan membuat EA scalping dengan menggunakan indikator  IFX_Kletner_Channel  . Indikator ini bawaan mt4 untuk broker instaforex

Ini akan menambah wawasan bagi temen2 yang masih bingung menerapkan coding bila indikatornya tidak ada di standart mt4. 
Nah ini tampilan indikator  IFX_Keltner_Channel , sebenarnya sih mirip dengan indikator anvelope cuma ini terdiri dari 3 garis atas, tengah dan bawah


 Nah untuk memasang indikator ini di chart maka silahkan cek di mt4...



 Nah setelah itu akan muncul parametenya ada 3 macem inputan




Nah kaloudah tampil di Mt4 kita akan lihat buffernya , tekan CTRL D maka akan tampil



Maka akan tampil 3 nilai didalam modenya , untuk mengetahui posisinya maka bisa digunakan pointer untuk menunjuk pada garis indinya dan akan sesuai dengan nilainya
Dari pengamatan maka di peroleh garis atas (upper)  di mode 0, garis tengah mode 1, dan garis bawah (lowwer) mode 2.

 Loh aterus gunanya untuk apa ya ? 
Ini digunakan untuk membuat coding memanggil indikator tersebut!

Tentu masih ingat pada part sebelumnya pernah di bahas tentang coding memanggil indikator yang bukan standart yang ada pada mt4....

gitu dulu deh kita lanjut pas santai...
sabar dulu ya

atau ada yang mau coding juga boleh nati di tampilkan disini
*copas dari http://jumforex.blogspot.com

Belajar Membuat EA Sederhana 35 (Proteksi EA 3)

Salam profit semuanya
Di Part sebelum (part 33 dan 34 ) kita sudah bahas proteksi Ea dengan account demo dan account khusus

Nah kali ini saya akan share sebuah Ea saya yang cocok untuk menantang news dan juga pas untuk kondisi market yang trending ...

Problemnya EA ini di proteksi dengan menggunakan account demo   dan mungkin sedikit dibuat agak rumit ...meski sebenarnya sih gak rumit2 amat...(-___-)
Ini akan menambah wawasan bagi temen2 yang ingin memproteksi EAnya............

Oke langsung aja deh ini penampakan EAnya

//+-----------------------------------------------------------------------------------------+
//|                                                 EA Jum+Profit+v3 |
//|                                                gifaesa@yahoo.com |
//|                                     http://JumForex.blogspot.com |
//+------------------------------------------------------------------+
//v3 (16-4-2013)
#property copyright "JumForex.blogspot.com"
#property link      "Gifaesa@yahoo.com"

extern string  Nama_EA                 = "Jum+Profit+v3";
extern bool    Close_Panic             = false;
extern string  Hari_Trade              = "=>Sesuai selera::";
extern bool    Senin                   = false;
extern bool    Selasa                  = true;
extern bool    Rabu                    = true;
extern bool    Kamis                   = true;
extern bool    Jumat                   = true;
extern string  Jam_server              = "Set sesuai selera";
extern int     Mulai_Jam               = 9;
extern int     Akhir_Jam               = 19;
extern string  Sesuaikan_risk          = "Set sesuai selera";
extern bool    Compound_lot            = true;
extern double  Manage_Balance          = 130;
extern bool    Buy                     = true;
extern bool    Sell                    = true;
extern int     TP                      = 35;
extern int     SL                      = 27;
extern double  Lots                    = 0.01;
extern int     Max_level               = 10;
extern int     Magic                   = 69;
double slbx,tpbx,slsx,tpsx,slb,tpb,sls,tps,pt,lslb,ltpb,x,slbk,tpbk,slsk,tpsk;int s,p,pp;string k="JumProFit",kk="JumpRoFit";
int init(){p=Magic;pp=Magic+99;if(Digits==3 || Digits==5) pt=10*Point;else pt=Point;return(0);}
int deinit(){ return(0); }
int start(){label();if(!IsDemo()){Alert("Maaf bos hanya untuk demo");return(0);}
{if(Close_Panic){c(k,0);c(k,1);c(k,4);c(k,5);c(kk,0);c(kk,1);c(kk,4);c(kk,5); return(0);  }}
if(IsDemo()){if(Compound_lot ) x=Lots* MathFloor(AccountBalance() / Manage_Balance); else x=Lots;}else x=MarketInfo(Symbol(), MODE_MAXLOT);
if(j(k,0,0)==0 && j(k,0,5)==1){c(k,5);}if(j(k,0,1)==0 && j(k,0,4)==1){c(k,4);}if(j(kk,0,0)==0 && j(kk,0,5)==1){c(kk,5);}if(j(kk,0,1)==0 && j(kk,0,4)==1){c(kk,4);}
double as = j(k,3,1); double bi = j(k,3,0);double ask = j(kk,3,1); double bik = j(kk,3,0);
if(SL==0){slb=0;sls=0;slbx=0;slsx=0;}else if(SL>0){slbk=ask-SL*pt;slsk=bik+SL*pt; slb=as-SL*pt;sls=bi+SL*pt;slbx=Ask-SL*pt;slsx=Bid+SL*pt;}
if(TP==0){tpb=0;tps=0;tpbx=0;tpsx=0;}else if(TP>0){tpbk=ask+TP*pt;tpsk=bik-TP*pt;tpb=as+TP*pt;tps=bi-TP*pt;tpbx=Ask+TP*pt;tpsx=Bid-TP*pt;}
if( Jam()==1 && !Close_Panic && tday()==1 && IsDemo()){
   if(Buy && ju()==0) OrderSend(Symbol(),0,NR(x),Ask,3,slbx, tpbx,k,p,0,Blue);
   if(Sell&& jum()==0) OrderSend(Symbol(),1,NR(x),Bid,3,slsx, tpsx,kk,pp,0,Red);
   }
if(j(k,2,0)+j(k,2,1)-p < Max_level && IsDemo()){
  if(j(k,0,1)==1 && j(k,0,4)==0) {OrderSend(Symbol(),4,(j(k,1,1)),as,3,slb, tpb,k,j(k,2,1)+1,0,Blue);}
  if(j(k,0,0)==1 && j(k,0,5)==0) {OrderSend(Symbol(),5,(j(k,1,0)),bi,3,sls, tps,k,j(k,2,0)+1,0,Red);}
   }
if(j(kk,2,0)+j(kk,2,1)-pp < Max_level && IsDemo()){
  if(j(kk,0,1)==1 && j(kk,0,4)==0) {OrderSend(Symbol(),4,(j(kk,1,1)),ask,3,slbk, tpbk,kk,j(kk,2,1)+1,0,Blue);}
  if(j(kk,0,0)==1 && j(kk,0,5)==0) {OrderSend(Symbol(),5,(j(kk,1,0)),bik,3,slsk, tpsk,kk,j(kk,2,0)+1,0,Red);}
   }
return(0);
}
//+------------------------------------------------------------------+
double j(string m,int n, int tipe){double t=0;for(int i=0; i<OrdersTotal(); i++){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES);if(OrderSymbol()!=Symbol() || OrderComment()!=m || OrderType()!=tipe) continue;if(IsDemo()){if(n==0)t++;if(n==1)t=OrderLots()*2;if(n==2)t=OrderMagicNumber();  if(n==3)t=OrderStopLoss(); }}return(t);}
double ju(){return(j(k,0,0)+j(k,0,1)+j(k,0,2)+j(k,0,3)+j(k,0,4)+j(k,0,5));}
double jum(){return(j(kk,0,0)+j(kk,0,1)+j(kk,0,2)+j(kk,0,3)+j(kk,0,4)+j(kk,0,5));}
double NR(double thelot){double maxlots = MarketInfo(Symbol(), MODE_MAXLOT), minilot = MarketInfo(Symbol(), MODE_MINLOT),lstep = MarketInfo(Symbol(), MODE_LOTSTEP); double lots = lstep * NormalizeDouble(thelot / lstep, 0); lots = MathMax(MathMin(maxlots, lots), minilot); return (lots);}
int Jam(){ bool trade = false;if(Mulai_Jam > Akhir_Jam){ if (Hour() >= Mulai_Jam || Hour() < Akhir_Jam) trade = true;} else     if (Hour() >= Mulai_Jam && Hour() < Akhir_Jam) trade = true; return (trade);}
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);}
void c(string m,int t){for (int i = OrdersTotal() - 1; i >= 0; i--) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES);if (OrderSymbol() != Symbol() || OrderComment()!=m||  OrderType()!=t) continue;if(IsDemo()){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 f(string m,int t){ double dp = 0;int i; for (i = 0; i < OrdersTotal(); i++) {OrderSelect(i, SELECT_BY_POS, MODE_TRADES);if (OrderSymbol() != Symbol()  || OrderComment()!=m|| t!=OrderType()) continue;if(IsDemo()){ dp += OrderProfit(); }} return(dp);}
void label(){int x,y;if((j(k,0,0)==1 && j(k,2,0)==p)||(ju()==0)) x=0; else x=j(k,2,0)+j(k,2,1)-p;if((j(kk,0,1)==1 && j(kk,2,1)==p)||(jum()==0)) y=0; else y=j(kk,2,0)+j(kk,2,1)-pp;
 Comment("\n ",
   "\n ",
   "\n ------------------------------------------------",
   "\n :: =>+Jum+Profit+v3<=",
   "\n :: =>JumForex.blogspot.com<=",
   "\n ------------------------------------------------",
   "\n :: Spread                 : ", MarketInfo(Symbol(), MODE_SPREAD),
   "\n :: Leverage               : 1 : ", AccountLeverage(),
   "\n :: Equity                 : ", AccountEquity(),
   "\n :: Jam Server             :", Hour(), ":", Minute(),
   "\n ------------------------------------------------",
   "\n :: Floting buy : ",f(k,0)+f(kk,0),"\n :: Floting sell : ",f(k,1)+f(kk,1),
   "\n :: Level pro : ",x, "\n :: Level Fit : ",y,
   "\n ------------------------------------------------",
   "\n :: >>By: Jum69<<",
   "\n ------------------------------------------------");
}

================
Nah oke deh silahkan dicopas dan di coba >>>>>bagi yang mau di riel account ya tantangan sih harus bisa menghilangkan proteksi account demonya

Untuk memastikan proteksinya telah hilang silahkan di BT di account demo dan accoun riel kalo hasilnya sama  berarti sudah berhasil

Bagi yang udah berhasil kasih komen yah!

Selamat berkreasi
*copas dari http://jumforex.blogspot.com

Belajar Membuat EA Sederhana 34 (Proteksi EA 2)

Kita lanjutin deh hee
Setelah pada part sebelumnya kita sudah bahas proteksi hanya untuk account demo
Kali ini kita bahas proteksi untuk account number khusus, sehingga Ea yang di proteksi dengan ini akan hanya dapat digunakan pada nomor account yang sudah ditetapkan.

Nah sebenarnya proteksi ini hanya pangaman account saja tidak berarti proteksi ini tidak bisa dirubah...
Sofware terus berkembang ,  file ex4 juga bisa di ubah lagi ke file mql4 melalui sofware decompile sehingga proteksi hanyalah bersifat sementara. Ketika kita share pada orang lain tentu akan mengalami bahwasanya EA kita suatu ketika juga akan di bongkar oleh trader lain.

Ok bagian yang perlu ditambahakan sama mirip dengan pada protek demo pada part 33

  int No_accnya=0000;// ganti nomor account nya disini
  if(AccountNumber()!=No_accnya){Alert("maaf bOSS no account anda gak cocok ..Kacian deh Loh");     return(0); }

Nah  ini yang perlu disuntik di bawah int start()

heee kita coba suntik ke EA di part 25
//+------------------------------------------------------------------+
//|                                                Jum+switch+.mq4 |
//|                                                gifaesa@yahoo.com |
//|                                     http://JumForex.blogspot.com |
//+------------------------------------------------------------------+

#property copyright "JumForex.blogspot.com"
#property link      "Gifaesa@yahoo.com"

extern string  Target_Equety_          = "Harus lebih besar dari Equety+";
extern double  Target_Equety           = 1000;
extern int     Mulai_Jam               = 0;
extern int     Akhir_Jam               = 20;
extern int     TP                      = 30;
extern int     SL                      = 20;
extern double  Lots                    = 0.01;
extern int     Max_order               = 12;
extern double  DiMarti                 = 2;
extern int     Magic                   = 69;
string  Nama_EA                 = "Jum+SwitchFractals+";


double slb,tpb,sls,tps,pt,bal;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
 bal= AccountBalance();
 if(Digits==3 || Digits==5) pt=10*Point;   else   pt=Point;  
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
 ObjectDelete("j");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  int No_accnya=0000;// ganti nomor account nya disini
  if(AccountNumber()!=No_accnya){Alert("maaf bOSS no account anda gak cocok ..Kacian deh Loh");     return(0); }
  if(SL==0||TP==0){Alert(" Isi dulu TP Dan SLnya"); return(0);}
  label();
  if(Target_Equety<AccountEquity()) {
    closeall(0);
    closeall(1);
    Alert("Cek Target_Equetynya salah ");
   return(0);
   }
    for(int d=0; d< Bars  ; d++){
    double up=iFractals(Symbol(),0,MODE_UPPER,d);
    if(up!=0 ) break;}
    for(int e=0; e< Bars  ; e++){
    double lo=iFractals(Symbol(),0,MODE_LOWER,e);
    if( lo!=0) break;}
    int signal;

if(Bid > up) signal=1;
if(Ask < lo)signal=2;
if(Jam_trade()==1 && DayOfWeek()>1){
if((trad(1)>0) || (trad(1)==0)){ 
  if(jumlahorder(0)==0 && jumlahorder(1)==0){
    if(signal==1) {OrderSend(Symbol(),OP_BUY,NR(Lots),Ask,3,Ask-SL*pt, Ask+TP*pt,Nama_EA,Magic,0,Blue);}
    if(signal==2) {OrderSend(Symbol(),OP_SELL,NR(Lots),Bid,3,Bid+SL*pt, Bid-TP*pt,Nama_EA,Magic,0,Red);}
    }
   }
 }
if(jumlahorder(0)==0 && jumlahorder(1)==0 && trad(3)<Max_order+Magic ){
if(trad(1)<0 && trad(2)==1) {OrderSend(Symbol(),OP_BUY,xlot(),Ask,3,Ask-SL*pt, Ask+TP*pt,Nama_EA,trad(3)+1,0,Blue);  }
if(trad(1)<0 && trad(2)==0) {OrderSend(Symbol(),OP_SELL,xlot(),Bid,3,Bid+SL*pt, Bid-TP*pt,Nama_EA,trad(3)+1,0,Red);   }
}



   return(0);
  }
//+------------------------------------------------------------------+

int Jam_trade()
{
   bool trade = false;
   if(Mulai_Jam > Akhir_Jam){
     if (Hour() >= Mulai_Jam || Hour() < Akhir_Jam) trade = true;
   } else
     if (Hour() >= Mulai_Jam && Hour() < Akhir_Jam) trade = true;

   return (trade);
}

int jumlahorder( int tipe)
{
int total=0;
for(int i=0; i<OrdersTotal(); i++)
  {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()!=Symbol() || OrderComment() != Nama_EA || OrderType()!=tipe) continue;
     total++;
  }

return(total);
}
double NR(double thelot)
{
    double maxlots = MarketInfo(Symbol(), MODE_MAXLOT),
    minilot = MarketInfo(Symbol(), MODE_MINLOT),
    lstep = MarketInfo(Symbol(), MODE_LOTSTEP);
    double lots = lstep * NormalizeDouble(thelot / lstep, 0);
    lots = MathMax(MathMin(maxlots, lots), minilot);
    return (lots);
}


void closeall(int m)
{
 for (int i = OrdersTotal() - 1; i >= 0; i--) {
  OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
  if (OrderSymbol() != Symbol() || OrderComment() != Nama_EA ||  OrderType()!=m) continue;
  if (OrderType() > 1) OrderDelete(OrderTicket());
   else {
    if (OrderType() == 0) OrderClose(OrderTicket(), OrderLots(), Bid, 3, CLR_NONE);
    else               OrderClose(OrderTicket(), OrderLots(), Ask, 3, CLR_NONE);
  }
 }
}
double money()
{
 double dp = 0;
 int i;
 for (i = 0; i < OrdersTotal(); i++) {
  OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
  if (OrderSymbol() != Symbol()  || OrderComment() != Nama_EA) continue;
  dp += OrderProfit();
 }
 return(dp);
}

double trad(int m)
{
  double pr,op;
  for (int i = 0; i < OrdersHistoryTotal(); i++) {
   if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
   if (OrderSymbol() != Symbol()/* || OrderComment() != Nama_EA*/) continue;
   if(m==1)pr=OrderProfit();
   if(m==2)pr=OrderType();
   if(m==3)pr=OrderMagicNumber();
   }
return(pr);
}
double xlot()
{
 double ylot,dlot;
  for (int i = 0; i < OrdersHistoryTotal(); i++) {
   if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
   if (OrderSymbol() != Symbol()/* || OrderComment() != Nama_EA */) continue;
     dlot=OrderLots();
     }
    ylot=NR(dlot*DiMarti);
return(ylot);
}
void label()
{
   ObjectCreate("j",OBJ_LABEL,0,0,0);
   ObjectSet("j",OBJPROP_CORNER,4);
   ObjectSet("j",OBJPROP_XDISTANCE,10);
   ObjectSet("j",OBJPROP_YDISTANCE,10);
   ObjectSetText("j","Jum+switchFractals from : JumForex.blogspot.com ",21,"Mistral",Aqua);
 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 :: Target_Equety          : ", Target_Equety ,"  $",
   "\n ------------------------------------------------",
   "\n :: Posisi floting         :",money(),"  $",
   "\n :: Level                  :",trad(3)-Magic,
   "\n ------------------------------------------------",
   "\n :: >>By: Jum69<<",
   "\n ------------------------------------------------");
//+------------------------------------------------------------------+
}
================
He semoga menambah wawasan deh


Salam profit All
*copas dari http://jumforex.blogspot.com