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
//| Cempionat2010.mq5 |
//| Victor Pavlyuk |
//| |
//+------------------------------------------------------------------+
#property copyright "Victor Pavljuk"
#property version "1.00"
input int StartHour = 10;
input int EndHour = 20;
input double Lots = 5;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnInit()
{
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick()
{
MqlTradeRequest request;
MqlTradeResult result;
MqlDateTime dt;
bool bord=false, sord=false;
bool bords=false, sords=false;
int i;
ulong ticket;
datetime t[];
double h[], l[], ma[], atr_h[], atr_l[],
lev_h, lev_l,
Spread =NormalizeDouble(SymbolInfoDouble(Symbol(),SYMBOL_ASK) - SymbolInfoDouble(Symbol(),SYMBOL_BID),_Digits);
request.symbol =Symbol();
request.volume =Lots;
request.tp =0;
request.deviation =0;
request.type_filling=ORDER_FILLING_RETURN;
TimeCurrent(dt);
i=(dt.hour+1)*60;
if(CopyTime(Symbol(),0,0,i,t)<i || CopyHigh(Symbol(),0,0,i,h)<i || CopyLow(Symbol(),0,0,i,l)<i)
{
Print("Не удалось скопировать таймсерию!");
return;
}
ArraySetAsSeries(t,true);
ArraySetAsSeries(h,true);
ArraySetAsSeries(l,true);
lev_h=h[0];
lev_l=l[0];
for(i=1;i<ArraySize(t) && MathFloor(t[i]/86400)==MathFloor(t[0]/86400);i++)
{
if(h[i]>lev_h) lev_h=h[i];
if(l[i]<lev_l) lev_l=l[i];
}
lev_h+=Spread+_Point;
lev_l-=_Point;
for(i=0;i<OrdersTotal();i++)
{
ticket=OrderGetTicket(i);
if(OrderGetString(ORDER_SYMBOL)==Symbol())
{
if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY_STOP)
{
if(dt.hour>=StartHour && dt.hour<EndHour )
{
Print("Есть ордер byu2!");
return;
}
else
{
request.action=TRADE_ACTION_REMOVE;
request.order=ticket;
OrderSend(request,result);
return;
}
bords=true;
}
if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_SELL_STOP)
{
if(dt.hour>=StartHour && dt.hour<EndHour )
{
Print("Есть ордер Sel2");
return;
}
else
{
request.action=TRADE_ACTION_REMOVE;
request.order=ticket;
OrderSend(request,result);
return;
}
sords=true;
}
}
}
request.action=TRADE_ACTION_PENDING;
if(dt.hour>=StartHour && dt.hour<EndHour)
{
if(bords==false )
{
request.price=NormalizeDouble(lev_h,_Digits);
request.sl=NormalizeDouble(lev_h-1000*_Point,_Digits);
request.tp=NormalizeDouble(lev_h+138*_Point,_Digits);
request.type=ORDER_TYPE_BUY_STOP;
OrderSend(request,result);
}
if(sords==false )
{
request.price=NormalizeDouble(lev_l,_Digits);
request.sl=NormalizeDouble(lev_l+1000*_Point,_Digits);
request.tp=NormalizeDouble(lev_l-138*_Point,_Digits);
request.type=ORDER_TYPE_SELL_STOP;
OrderSend(request,result);
}
}
}
//+------------------------------------------------------------------+
не проходит тест даже советник 2010 года
тогда работал
İşte sebebin:
Peki orada ne yazıyor? Ve sonra bu yardımla.
10013
TRADE_RETCODE_INVALID
Geçersiz istek
ERR_TRADE_SEND_FAILED
4756
Ticaret isteği gönderilemedi
Tekliflerde kısayız, taleplerde değil + stoplar giriş fiyatından daha yüksek ve alımlar daha düşük.
Öyleydi:
Dönüştü:
Artıları ve eksileri de değişti (koyu renkle vurgulamama rağmen, ekranda bu farkedilmiyor).
İyi şanlar
dışında
senin için 5. yazdın! mql. Nesne odaklı. Ctrade'i devralırsanız mutlu olursunuz. Tekerleği yeniden icat etmeyin.
senin için 5. yazdın! mql. Nesne odaklı. Ctrade'i devralırsanız mutlu olursunuz. Tekerleği yeniden icat etmeyin.
Bitmeden iki saat önce aptalca tavsiye - standart kitaplığı anlamak OrderSend'i anlamaktan daha zordur.
Hata zaten düzeltildi. Sadece göndermek için kalır (başka bir hata yoksa)
senin için 5. yazdın! mql. Nesne odaklı. Ctrade'i devralırsanız mutlu olursunuz. Tekerleği yeniden icat etmeyin.
Hemen hatasız yazmak sıkıcı :)
Birkaç kez bir tırmık üzerine basmak ve sonra onları almak gerekir.
teşekkürler herkes yardımcı oldu
Ayrıca nasıl kaldırılır
2012.09.21 22:42:08 Çekirdek 1 2012.05.08 13:00:00 yeterli para yok [anında 5.00 EURUSD 1.30227 sl: 1.29227 tp: 1.30765]
ve bir yıl boyunca testi çekmez
teşekkürler herkes yardımcı oldu
Ayrıca nasıl kaldırılır
2012.09.21 22:42:08 Çekirdek 1 2012.05.08 13:00:00 yeterli para yok [anında 5.00 EURUSD 1.30227 sl: 1.29227 tp: 1.30765]
ve bir yıl boyunca testi çekmez
Hemen hatasız yazmak sıkıcı :)
Birkaç kez bir tırmık üzerine basmak ve sonra onları almak gerekir.
bu yüzden hatalardan ders almalısın