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:
Selasa, 23 Juli 2013
Senin, 08 Juli 2013
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
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
Selasa, 02 Juli 2013
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(openBopS) {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,1))sig=1; if(MA(PeriodMA1,2)>MA(PeriodMA2,2)&& MA(PeriodMA1,1)dw)sg=2; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// if (Proc ==true) { if(cl>min) { double x=NormalizeDouble(cl*100/min-100,2); } if(clOpen[1]){ sigup=1; sigdw=0; } if (Procent >=x&&Close[1]=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=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()0) st=" SabaR menunggu ,Target masih dikejar...sabar!"; else if(AccountEquity()=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
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
Jangan lupa ea di atas ada proteksi demonya silahkan untuk dicoba
semoga bermanfaat
Salam sukses
Langganan:
Postingan (Atom)