Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
İyi için, test cihazında izlemek istiyorsanız, çeki gerçek olandan bir süre sonra kaldırabilirsiniz. OnInit'te. Ve test cihazında 4k'de zaman akımı talebinin test cihazının zamanını döndürüp döndürmeyeceğini hatırlamıyorum. Benim düşünceme göre, şimdiki zamanı döndürür, bu nedenle test cihazında siparişler bir kerede oraya verilir ve bu kadar. Ayrıca yerel saati sorgulamak mevcut yerel saati döndürür.
Bu, test cihazında 5k'de ortamın tam bir emülatörüdür.
açıklamalar için teşekkürler
https://www.mql5.com/ru/code/10236
//+------------------------------------------------------------------+
//| i`lbeback.mq4 |
//| Copyright ? 2011, AM2 && Tiburond |
//| http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright ? 2011, AM2 && Tiburond"
#property link " http://www.forexsystems.biz "
#define MAGIC 20110406
extern int StopLoss = 1300 ; //???????? ??????
extern int StartHour = 21 ; //??? ?????? ????????(???????????? ?????)
extern int Distance = 250 ; //?????????? ?? ???? ??? ????????? ??????
extern int Step = 50 ; //??? ????????? ???????
extern int Count = 4 ; //?????????? ??????????????? ???????
extern int Expiration = 4 ; //????? ????????? ??????
extern double Lots = 1 ; //???
extern bool MM = true ; //?????????? ???????????????
extern double TSP = 5 ; //????
extern bool BU = true ; //?????????? ?????? ??????? ? ????????? ? ??????? ???
extern int BUHour = 2 ; //??? ????? ??????? ??????? ??????? ? ?????????
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return ( 0 );
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return ( 0 );
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int b= 0 ,s= 0 ,res;
datetime expiration = TimeCurrent ()+ 3600 *Expiration;
double BuyPrice=fND(Open[ 0 ]-Distance* Point );
double SellPrice=fND(Open[ 0 ]+Distance* Point );
for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
{
if ( OrderSelect (i, SELECT_BY_POS))
{
if (OrderSymbol()!= Symbol () || OrderMagicNumber()!=MAGIC) continue ;
if (OrderType()==OP_BUYLIMIT) b++;
if (OrderType()==OP_SELLLIMIT) s++;
}
}
if (Hour()>BUHour && Hour()<StartHour && AllProfit()> 0 ) ClosePositions();
if (Hour()>BUHour && DayOfWeek() == 5 ) ClosePositions();
if (Hour()==StartHour && b< 1 && DayOfWeek() != 5 )
for (i= 1 ;i<=Count;i++)
{
{
res= OrderSend ( Symbol (),OP_BUYLIMIT,fLots(),fND(Ask-(Distance* Point +i*Step* Point )), 3 ,fND(BuyPrice-StopLoss* Point ),fND(Open[ 0 ]), "" ,MAGIC,expiration,Blue);
Sleep ( 3000 );
if (res< 0 )
{
Print ( "??????: " , GetLastError ());
} else {
RefreshRates();
}
}
}
if (Hour()==StartHour && s< 1 && DayOfWeek() != 5 )
for (i= 1 ;i<=Count;i++)
{
{
res= OrderSend ( Symbol (),OP_SELLLIMIT,fLots(),fND(Bid+(Distance* Point +i*Step* Point )), 3 ,fND(SellPrice+StopLoss* Point ),fND(Open[ 0 ]), "" ,MAGIC,expiration,Red );
Sleep ( 3000 );
if (res< 0 )
{
Print ( "??????: " , GetLastError ());
} else {
RefreshRates();
}
}
}
//----
return ( 0 );
}
//+------------------------------------------------------------------+
double fND( double d, int n=- 1 )
{
if (n< 0 ) return ( NormalizeDouble (d, Digits ));
return ( NormalizeDouble (d, n));
}
//+------------------------------------------------------------------+
double fLots()
{
double lot=Lots;
double lot_min =MarketInfo( Symbol (), MODE_MINLOT );
double lot_max =MarketInfo( Symbol (), MODE_MAXLOT );
if (MM)
{
double lot_step =MarketInfo( Symbol (), MODE_LOTSTEP );
double lotcost =MarketInfo( Symbol (), MODE_TICKVALUE );
double dollarsPerPip= 0.0 ;
lot = AccountFreeMargin()*TSP/ 100.0 ;
dollarsPerPip=lot/StopLoss;
lot=fND(dollarsPerPip/lotcost, 2 );
lot=fND(lot/lot_step, 0 ) * lot_step;
}
if (lot<lot_min) lot=lot_min;
if (lot>lot_max) lot=lot_max;
return (lot);
}
//+------------------------------------------------------------------+
void ClosePositions()
{
if (BU)
for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
{
OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol ())
{
if (OrderSymbol() == Symbol () && OrderMagicNumber() == MAGIC)
{
if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, 3 , Blue);
if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, 3 , Red);
}
Sleep ( 1000 );
}
}
}
//+------------------------------------------------------------------+
double AllProfit()
{
double Profit = 0 ;
for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--)
{
OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol () || OrderMagicNumber() != MAGIC) continue ;
if (OrderSymbol() == Symbol () && OrderMagicNumber() == MAGIC)
if (OrderType() == OP_BUY || OrderType() == OP_SELL) Profit += OrderProfit();
}
return (Profit);
}
//+------------------------------------------------------------------+
Lütfen değişiklik yapmama yardım et. Bu Uzman Danışman, açık siparişleri zorla kapatmaz. Sınırların belirlenmesi için gereken süre ile birlikte, bunların zorunlu olarak kapatılacağı zamanın belirlenmesinin de mümkün olması arzu edilir.
Optimize etmek için TP ve trol gerekir. Thrall, böylece tüm sınırlar biraz olsun, ancak gece gürültüsü toplarlar.
Eğer iyi bir stratejiniz varsa ve bunu paylaşmaya hazırsanız, bir danışman yazabilirim . Seni halka açık tartışmaya davet ediyorum
Ve sınırlardaki yayılmayı nasıl sınırlayabilirsiniz?
Ve sınırlardaki yayılmayı nasıl sınırlayabilirsiniz?
Demek istediğim, yayılma, örneğin 5p'den yüksekse, gecikmeleri ayarlamayın, ancak bu çok sorunluysa, bu parametreyi atlayabilirsiniz.
Bunun anlamı ne? Şimdi yürütülmeyecekler (bunlar sınırlar). Ve zamanı geldiğinde, büyü tamamen farklı olacak.
Bunun anlamı ne? Şimdi yürütülmeyecekler (bunlar sınırlar). Ve zamanı geldiğinde, büyü tamamen farklı olacak.
Temel olarak neyi alır ve algoritma ne kadar karmaşıktır.
Hareketli ortalamaya göre trendi belirler