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
Rabu, 30 April 2014
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:
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:
- Target persen = artinya kalo target equety sudah tercapai maka EA akan berhenti trading
- Penambahan signal berdasarkan indikator yang ada
- 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
untuk versi oprek bisa langung meluncur ke sini
*copas dari http://jumforex.blogspot.com
Share JumStoch v2.6
Share JumStoch v2.6
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
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 IndonesiaNah 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)
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
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
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
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
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
Langganan:
Postingan (Atom)