Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Ha.. Bunun da çalışması için klavyenizdeki aynı tuşu kullanabilir misiniz? Şerefe!
Aynı sorun. Geriye dönük testte çalışır ancak ileriye dönük testte çalışmaz. İşlem yapılmadı... Yardımcı olabilir misiniz?
Klavyeniz satılık mı?
Bir milyon pip teşekkürler. sizi haberdar edecek..
Aynı sorun. Geriye dönük testte çalışır ancak ileriye dönük testte çalışmaz. İşlem yapılmadı... Yardımcı olabilir misiniz?
tavsiye için çok teşekkürler Çoğu durumda (belki tüm durumlarda?) en yeni çubuğun başlangıcında bir onay işareti geldiğini öğrendim, böylece açık fiyatla işlem yapabilirim. İdeal değil ama (yukarıda anlatıldığı gibi) kapanış ve açılış fiyatı arasında oldukça küçük bir fark var.
iTime işlevini hangi değer döndürür? Barın başlangıç tarihi mi? Sadece "Zaman çerçevesi ve kaydırma ile belirtilen sembolün çubuğu için Zaman değerini döndürür" yazıyor. kılavuzda.
şimdiden cevap için teşekkürler
iTime işlevini hangi değer döndürür? Barın başlangıç tarihi mi? Sadece "Zaman çerçevesi ve kaydırma ile belirtilen sembolün çubuğu için Zaman değerini döndürür" yazıyor. kılavuzda. şimdiden cevap için teşekkürler
Merhaba IN10TION,
PM gönderdim...
Kâr elde edildikten sonra TÜM siparişleri kapatmak için EA'ya ihtiyacınız var
Merhaba, merak ediyorum, siz harika kodlayıcılardan biri, g_MinProfit ve f_MinProfit'e ulaşıldığında TÜM siparişleri kapatmak için kodu ekleyebilir mi? Bulduğum şey, kâra ulaşıldığında, Satın Alma/Satış Durdurma/Limit emri savurganlarının geride kalması ve minimum kâr tetiklendiğinde TÜMÜNÜN silinmesini istiyorum.
Teşekkür ederim
extern bool g_CLOSE_ALL=false;
extern bool g_RESTART=true;
extern int g_Step=120;
extern double g_FirstLot=0.1;
extern double g_IncLot=0;
extern double g_MinProfit=450;
extern int g_Magic = 2008;
extern string g_comment="Win";
extern bool f_CLOSE_ALL=false;
extern bool f_RESTART=true;
extern int f_Step=120;
extern double f_FirstLot=0.1;
extern double f_IncLot=0;
extern double f_MinProfit=450;
extern int f_Magic = 2009;
extern string f_comment="REV";
int GOrder_Buy=0;
int GOrder_Sell=0;
double GLotSell=0;
double GLotBuy=0;
double gLotSell=0;
double gLotBuy=0;
double gLSP,gLBP;
double gCurrentProfit;
int FOrder_Buy=0;
int FOrder_Sell=0;
double FLotSell=0;
double FLotBuy=0;
double fLotSell=0;
double fLotBuy=0;
double fLSP,fLBP;
double fCurrentProfit;
double max_dd;
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int init()
{
Comment("Waddah Attar Win TradeBalancer 1");
if(!GlobalVariableCheck("max_DD")) GlobalVariableSet("max_DD",0);
return(0);
}
int deinit()
{
Comment("");
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int start()
{
gCurrentProfit=GetOrdersProfit(g_Magic);
if (gCurrentProfit>=g_MinProfit || g_CLOSE_ALL)
{
DeletePendingOrders(g_Magic);
CloseOrders(g_Magic);
}
if (MyOrdersTotal(g_Magic)==0 && g_RESTART)
{
OrderSend(Symbol(),OP_BUYLIMIT,g_FirstLot,Ask-g_Step*Point,3,0,0,g_comment,g_Magic,0,Blue);
OrderSend(Symbol(),OP_SELLLIMIT,g_FirstLot,Bid+g_Step*Point,3,0,0,g_comment,g_Magic,0,Red);
}
gLSP=GetLastSellPrice(g_Magic);
gLBP=GetLastBuyPrice(g_Magic);
if((gLSP-Bid)<=5*Point)
{
OrderSend(Symbol(),OP_SELLLIMIT,gLotSell+g_IncLot,gLSP+g_Step*Point,3,0,0,g_comment,g_Magic,0,Red);
}
if((Ask-gLBP)<=5*Point)
{
OrderSend(Symbol(),OP_BUYLIMIT,gLotBuy+g_IncLot,gLBP-g_Step*Point,3,0,0,g_comment,g_Magic,0,Blue);
}
//--------------------------------------------------------------------------------------------
fCurrentProfit=GetOrdersProfit(f_Magic);
if (fCurrentProfit>=f_MinProfit || f_CLOSE_ALL)
{
DeletePendingOrders(f_Magic);
CloseOrders(f_Magic);
}
if (MyOrdersTotal(f_Magic)==0 && f_RESTART)
{
OrderSend(Symbol(),OP_BUYSTOP,f_FirstLot,Ask+f_Step*Point,3,0,0,f_comment,f_Magic,0,Blue);
OrderSend(Symbol(),OP_SELLSTOP,f_FirstLot,Bid-f_Step*Point,3,0,0,f_comment,f_Magic,0,Red);
}
fLSP=GetLastSellPrice(f_Magic);
fLBP=GetLastBuyPrice(f_Magic);
if((Bid-fLSP)<=5*Point)
{
OrderSend(Symbol(),OP_SELLSTOP,fLotSell+f_IncLot,fLSP-f_Step*Point,3,0,0,f_comment,f_Magic,0,Red);
}
if((fLBP-Ask)<=5*Point)
{
OrderSend(Symbol(),OP_BUYSTOP,fLotBuy+f_IncLot,fLBP+f_Step*Point,3,0,0,f_comment,f_Magic,0,Blue);
}
//--------------------------------------------------------------------------------------------
//max_dd=
//--------------------------------------------------------------------------------------------
Comment("Waddah Attar Win TradeBalancer 1",
"\n\n\n\n", " CurrentProfit = ", DoubleToStr(gCurrentProfit,2),
"\n\n", " Buy Lots = ", DoubleToStr(GLotBuy,2) + " / " + GOrder_Buy,
"\n\n", " Sell Lots = ", DoubleToStr(GLotSell,2) + " / " + GOrder_Sell,
"\n\n\n\n", " CurrentProfit = ", DoubleToStr(fCurrentProfit,2),
"\n\n", " Buy Lots = ", DoubleToStr(FLotBuy,2) + " / " + FOrder_Buy,
"\n\n", " Sell Lots = ", DoubleToStr(FLotSell,2) + " / " + FOrder_Sell);
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int DeletePendingOrders(int Magic)
{
int total = OrdersTotal();
for (int cnt = total-1 ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY && OrderType()!=OP_SELL))
{
OrderDelete(OrderTicket());
}
}
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int CloseOrders(int Magic)
{
int total = OrdersTotal();
for (int cnt = total-1 ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Blue);
}
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
}
}
}
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
int MyOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();
if(Magic==g_Magic) { GLotBuy=0; GLotSell=0; GOrder_Buy=0; GOrder_Sell=0; }
if(Magic==f_Magic) { FLotBuy=0; FLotSell=0; FOrder_Buy=0; FOrder_Sell=0; }
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
if(Magic==g_Magic)
{
if(OrderType()==OP_BUY) { GLotBuy=GLotBuy+OrderLots(); GOrder_Buy++; }
if(OrderType()==OP_SELL) { GLotSell=GLotSell+OrderLots(); GOrder_Sell++; }
}
if(Magic==f_Magic)
{
if(OrderType()==OP_BUY) { FLotBuy=FLotBuy+OrderLots(); FOrder_Buy++; }
if(OrderType()==OP_SELL) { FLotSell=FLotSell+OrderLots(); FOrder_Sell++; }
}
c++;
}
}
return(c);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
double GetLastBuyPrice(int Magic)
{
int total=OrdersTotal()-1;
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUY))
{
if(Magic==g_Magic) gLotBuy=OrderLots();
if(Magic==f_Magic) fLotBuy=OrderLots();
return(OrderOpenPrice());
}
}
return(0);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
double GetLastSellPrice(int Magic)
{
int total=OrdersTotal()-1;
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELL))
{
if(Magic==g_Magic) gLotSell=OrderLots();
if(Magic==f_Magic) fLotSell=OrderLots();
return(OrderOpenPrice());
}
}
return(100000);
}
//--------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------
double GetOrdersProfit(int Magic)
{
double eProfit=0;
int total=OrdersTotal()-1;
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
{
eProfit=eProfit+OrderProfit();
}
}
return(eProfit);
}
//--------------------------------------------------------------------------------------------