saya guna 3 ema 5 200 dan 300 . mahukan ea dengan lot martingale terbuka dan stop loss adalah ma cross sebelumnya. bermakna ia membuka kedudukan 5 dan 300 maka stop loss ialah 5 dan 200
.
saya guna 3 ema 5 200 dan 300 . mahukan ea dengan lot martingale terbuka dan stop loss adalah ma cross sebelumnya. bermakna ia membuka kedudukan 5 dan 300 maka stop loss ialah 5 dan 200
.
contohnya Kod Dimasukkan/ -------------------------------------------- ------------------------ /| CrossEMA.mq4 |/| Amine Ahsous |/| #91;url#93;https://www.mql5.com/ms/users/simpletradeea#91;/url#93; |/ ------------------------------------------------ ------------------- #hak cipta harta Amine Ahsous #pautan hartanah https://www.mql5.com/ms/users/simpletradeea #property version 1.00 #property strict extern int MagicNumber=0; Extern double LotSize=0.01; extern int StopLoss=0; extern int TakeProfit=0; extern bool AutoClose=true; extern bool UseTrailingStop=false; extern int TrailingStop=0; extern bool EmailAlert=true; rentetan luar Mod1======MOD PERTAMA=====; extern int FirstMA=5; luaran ENUM_MA_METHOD FirstMAmode=MODE_EMA; extern int SecondMA=100; luaran ENUM_MA_METHOD SecondMAmode=MODE_EMA; titik berganda; digit int,Q; double SL,TP,jual,beli,tutup,pindah; int ThisBarTrade=0; bool NewBar;/ ------------------------------------------------ ------------------- /| Fungsi permulaan pakar |/ ------------------------------------------------ ------------------- int OnInit() {/--- if(Digit==5||Digit==3)Q=10; lain Q=1; if(Digitslt;4) { point=0.01; digit=2; } else { point=0.0001; digit=4; }/--- return(INIT_SUCCEEDED); }/ ------------------------------------------------ -------------------- /| Fungsi penyahinisian pakar |/ ------------------------------------------------ ------------------- void OnDeinit(const int reason) {/--- }/ ------------- ------------------------------------------------- --- /| Fungsi tanda pakar |/ ------------------------------------------------ ------------------- void OnTick() {/--- if (Bar != ThisBarTrade ) { NewBar=true; ThisBarTrade = Bar; NewBar=benar; } gandakan FirstEMA2=iMA(Simbol(),0,FirstMA,0,FirstMAmode,PRI CE_CLOSE,2); gandakan FirstEMA1=iMA(Simbol(),0,FirstMA,0,FirstMAmode,PRI CE_CLOSE,1); double SecondEMA2=iMA(Simbol(),0,SecondMA,0,SecondMAmode, PRICE_CLOSE,2); double SecondEMA1=iMA(Simbol(),0,SecondMA,0,SecondMAmode, PRICE_CLOSE,1); if(NewBar){ if(FirstEMA1gt;SecondEMA1FirstEMA2lt;=SecondEMA2){ if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*point;} if(TakeProfit==0){TP=0 ;}lain{TP=Ask TakeProfit*point;} buy=OrderSend(Symbol(),OP_BUY,LotSize,Ask,3*Q,SL,T P,Beli Pasaran,MagicNumber,0,clrBlue); if(EmailAlert)SendMail(Simbol(),Pesanan Dibuka Beli); if(AutoClose)CloseOrders(OP_SELL); } if(FirstEMA1lt;SecondEMA1FirstEMA2gt;=SecondEMA2){ if(StopLoss==0){SL=0;}else{SL=Bid StopLoss*point;} if(TakeProfit==0){TP=0;}else{ TP=Bida-Ambil Untung*mata;} sell=OrderSend(Simbol(),OP_SELL,LotSize,Bid,3*Q,SL ,TP,Jual Market,MagicNumber,0,clrRed); if(EmailAlert)SendMail(Simbol(),Order Opened Sell); jika(AutoTutup)TutupPesanan(OP_BELI); } NewBar=false; } }/ ------------------------------------------------ ---------------------- int orderscnt(){ int cnt=0; for(int i =0;ilt;OrdersTotal();i ){ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if(OrderSymbol()==Symbol() MagicNumber==OrderMagicNumber()){ cnt ; } } return(cnt); }// //int CloseOrders(int type) { int cnt=OrdersTotal(); for(int i=cnt-1; igt;=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) if(OrderSymbol()==Symbol() OrderMagicNumber() == MagicNumberOrderType( )==jenis) { close=OrderClose(OrderTicket(),OrderLots(),OrderCl osePrice(),3*Q,clrWhite); } } return(0); }/********* void ModifyStopLoss(double ldStop) { bool fm; double ldOpen=OrderOpenPrice(); double ldTake=OrderTakeProfit(); fm=OrderModify(OrderTicket(), ldOpen, ldStop, ldTake, 0, Pink); } void sub_trailingsl() { for (int i=0; ilt;OrdersTotal(); i ) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==Simbol()OrderMagicNumber()==MagicN umber ) { if (OrderType()==OP_SELL) { if (OrderOpenPrice()-Askgt;=TrailingStop*point(OrderStopLoss()==0||Orde rStopLoss()gt;=OrderOpenPrice()) OrderStopLoss()!=Normalize Ask TrailingStop*mata,digit)) { ModifyStopLoss(NormalizeDouble(Tanya TrailingStop*mata,digit)); } jika (OrderStopLoss()!=0OrderStopLoss()!=NormalizeDoubl e(Tanya TrailingStop*mata, digit) OrderStopLoss()lt;OrderOpenPrice()OrderStopLoss()-Askgt;TrailingStop*point) { u ModifyStopAstopLoss*Double mata, digit)); } } if (OrderType()==OP_BELI) { if (Bid-OrderOpenPrice()gt;=TrailingStop*point(OrderStopLo ss()==0||OrderStopLoss()lt;=OrderOpenPrice()) OrderStopLossDo()!=Normalize (Bid-TrailingStop*mata, digit)) { ModifyStopLoss(NormalizeDouble(Bid-TrailingStop*mata, digit)); } jika (OrderStopLoss()!=0OrderStopLoss()!=NormalizeDoubl e(Bid-TrailingStop*mata,digit) OrderStopLoss()gt;OrderOpenPrice()Bid-OrderStopLoss()gt;(TrailingStop*point)) {TrailingStop*point)) { -TrailingStop*mata, digit)); } } } } } }/========== #91;senarai#93;#91;*#93;#91;/senarai#93;Originally Posted by ;
// ------------------------------------------------ ------------------- /| CrossEMA.mq4 |/| Amine Ahsous |/|
https://www.mql5.com/en/users/simpletradeea|/ ------------------------------------------------ ------------------- #hak cipta harta Amine Ahsous #pautan hartanah https://www.mql5.com/ms/users/simpletradeea #property version 1.00 #property strict extern int MagicNumber=0; Extern double LotSize=0.01; extern int StopLoss=0; extern int TakeProfit=0; extern bool AutoClose=true; extern bool UseTrailingStop=false; extern int TrailingStop=0; extern bool EmailAlert=true; rentetan luar Mod1======MOD PERTAMA=====; extern int FirstMA=5; luaran ENUM_MA_METHOD FirstMAmode=MODE_EMA; extern int SecondMA=100; luaran ENUM_MA_METHOD SecondMAmode=MODE_EMA; titik berganda; digit int,Q; double SL,TP,jual,beli,tutup,pindah; int ThisBarTrade=0; bool NewBar;/ ------------------------------------------------ ------------------- /| Fungsi permulaan pakar |/ ------------------------------------------------ ------------------- int OnInit() {/--- if(Digit==5||Digit==3)Q=10; lain Q=1; if(Digitslt;4) { point=0.01; digit=2; } else { point=0.0001; digit=4; }/--- return(INIT_SUCCEEDED); }/ ------------------------------------------------ -------------------- /| Fungsi penyahinisian pakar |/ ------------------------------------------------ ------------------- void OnDeinit(const int reason) {/--- }/ ------------- ------------------------------------------------- --- /| Fungsi tanda pakar |/ ------------------------------------------------ ------------------- void OnTick() {/--- if (Bar != ThisBarTrade ) { NewBar=true; ThisBarTrade = Bar; NewBar=benar; } gandakan FirstEMA2=iMA(Simbol(),0,FirstMA,0,FirstMAmode,PRI CE_CLOSE,2); gandakan FirstEMA1=iMA(Simbol(),0,FirstMA,0,FirstMAmode,PRI CE_CLOSE,1); double SecondEMA2=iMA(Simbol(),0,SecondMA,0,SecondMAmode, PRICE_CLOSE,2); double SecondEMA1=iMA(Simbol(),0,SecondMA,0,SecondMAmode, PRICE_CLOSE,1); if(NewBar){ if(FirstEMA1gt;SecondEMA1FirstEMA2lt;=SecondEMA2){ if(StopLoss==0){SL=0;}else{SL=Ask-StopLoss*point;} if(TakeProfit==0){TP=0 ;}lain{TP=Ask TakeProfit*point;} buy=OrderSend(Symbol(),OP_BUY,LotSize,Ask,3*Q,SL,T P,Beli Pasaran,MagicNumber,0,clrBlue); if(EmailAlert)SendMail(Simbol(),Pesanan Dibuka Beli); if(AutoClose)CloseOrders(OP_SELL); } if(FirstEMA1lt;SecondEMA1FirstEMA2gt;=SecondEMA2){ if(StopLoss==0){SL=0;}else{SL=Bid StopLoss*point;} if(TakeProfit==0){TP=0;}else{ TP=Bida-Ambil Untung*mata;} sell=OrderSend(Simbol(),OP_SELL,LotSize,Bid,3*Q,SL ,TP,Jual Market,MagicNumber,0,clrRed); if(EmailAlert)SendMail(Simbol(),Order Opened Sell); jika(AutoTutup)TutupPesanan(OP_BELI); } NewBar=false; } }/ ------------------------------------------------ ---------------------- int orderscnt(){ int cnt=0; for(int i =0;ilt;OrdersTotal();i ){ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) if(OrderSymbol()==Symbol() MagicNumber==OrderMagicNumber()){cnt ; } } return(cnt); }/ //int CloseOrders(int type) { int cnt=OrdersTotal(); for(int i=cnt-1; igt;=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) if(OrderSymbol()==Symbol() OrderMagicNumber() == MagicNumberOrderType( )==jenis) { close=OrderClose(OrderTicket(),OrderLots(),OrderCl osePrice(),3*Q,clrWhite); } } return(0); }/********* void ModifyStopLoss(double ldStop) { bool fm; double ldOpen=OrderOpenPrice(); double ldTake=OrderTakeProfit(); fm=OrderModify(OrderTicket(), ldOpen, ldStop, ldTake, 0, Pink); } void sub_trailingsl() { for (int i=0; ilt;OrdersTotal(); i ) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==Simbol()OrderMagicNumber()==MagicN umber ) { if (OrderType()==OP_SELL) { if (OrderOpenPrice()-Askgt;=TrailingStop*point(OrderStopLoss()==0||Orde rStopLoss()gt;=OrderOpenPrice()) OrderStopLoss()!=Normalize Ask TrailingStop*mata,digit)) { ModifyStopLoss(NormalizeDouble(Tanya TrailingStop*mata,digit)); } jika (OrderStopLoss()!=0OrderStopLoss()!=NormalizeDoubl e(Tanya TrailingStop*mata, digit) OrderStopLoss()lt;OrderOpenPrice()OrderStopLoss()-Askgt;TrailingStop*point) { u ModifyStopAstopLoss*Double mata, digit)); } } if (OrderType()==OP_BELI) { if (Bid-OrderOpenPrice()gt;=TrailingStop*point(OrderStopLo ss()==0||OrderStopLoss()lt;=OrderOpenPrice()) OrderStopLossDo()!=Normalize (Bid-TrailingStop*mata, digit)) { ModifyStopLoss(NormalizeDouble(Bid-TrailingStop*mata, digit)); } jika (OrderStopLoss()!=0OrderStopLoss()!=NormalizeDoubl e(Bid-TrailingStop*mata,digit) OrderStopLoss()gt;OrderOpenPrice()Bid-OrderStopLoss()gt;(TrailingStop*point)) {TrailingStop*point)) { -TrailingStop*mata, digit)); } } } } } }/===========
1 Lampiran
Bagaimana pula dengan menggunakan tag kod? salamOriginally Posted by ;