[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 227

 
Neo333 :
Merhaba, böyle bir sorun: danışman bekleyen limit emirleri belirler, sonra fiyat hareket eder ve emirler piyasa emirleri olur. Her şey çalışıyor, ancak bazı siparişlerde kesinlikle anlaşılmaz bir aksaklık görünüyor, çünkü. tüm siparişler belirli bir sabit "K" ile verilir, bu durumda aralarındaki mesafe her zaman sabit olmalıdır (Rn+1 = Rn + "K"). Ancak durum böyle değildi - sipariş açık, fiyat belirtilir, her şey kontrol edilir, ancak önceki siparişten diğerine olan mesafe "K" ye eşit değildir, aritmetik işlemlerin sonuçlarına bakarsanız fiyatlar ile, yani aptalca çıkarın ve sonucu görün, o zaman "K" ye eşittir, ancak mantıksal karşılaştırma == inatla yanlış gösterir, bu, danışmanın sürekli olarak bu fiyattan siparişleri açmasına ve aynı zamanda orada "düşünmesine" yol açar orada düzen yok. Uzun olduysa kusura bakmayın daha detaylı anlatmak istedim. Açıkçası ne yapacağımı bilmiyorum :(
== ile karşılaştırırsanız, NormalizeDouble kullanın , ancak genel olarak MathAbs(Price1-Price2)<delta daha iyidir
 
VladimirR :

Anladım teşekkürler! Ancak 2011.09.30 21:26:49 TestGenerator: eşsiz veri hatası (2011.07.19 20:00'de 13634 ses sınırı aşıldı)

anladığım kadarıyla bu mesaj uzmanı ilgilendirmiyor ama yine de bunu nasıl anlayacağımı bilmek istiyorum?



Zaman dilimlerine göre tarihte tutarsızlık. https://www.mql5.com/ru/forum/108760
 
sergeev :

Lütfen bu özelliği düzeltmeye yardımcı olun.



73
Eugene1 30.09.2011 16:19

Son emrin kapanış fiyatını belirleyen bir fonksiyon yazmaya çalışıyorum (şimdiye en yakın zamana göre)

şöyle yazıyorum:


Ancak

yapmak

uble PriceCloseLastPos(string smb = "", int cmd = -1, int mMin = -1, int mMax = -1) {
int biletDateTime=0;
int orderTicket=-1;
çift kapanışFiyat = 0;
int ordTotal = OrdersTotal();
if (smb == "0") smb = Symbol();
for (int i = 0; i < ordTotal; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol() == smb || smb == "") {
if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
if (cmd < OP_BUY || OrderType() == cmd) {
if (mMin < 0 || (OrderMagicNumber() >= mMin && OrderMagicNumber() <= mMax)) {
if (ticketDateTime < OrderCloseTime()) {
biletDateTime = OrderCloseTime();
orderTicket = OrderTicket();
closePrice = OrderClosePrice();
}
}
}
}
}
}
}
if(orderTicket > -1) OrderSelect(orderTicket, SELECT_BY_TICKET, MODE_HISTORY );
dönüş(kapatFiyat);
}

Ancak bazı nedenlerden dolayı işlev, test cihazında açılan ilk mertebenin verilerini döndürür.

Aslında bu benim ara hedefim. Ve kısmi bir emir kapatmanın son fiyatını verecek bir fonksiyon yazmak istedim (tüm lot hacmi için değil) Ama buraya nasıl yaklaşacağımı bile bilmiyorum...

 int ordTotal = OrdersTotal ();

Bunun yerine, ihtiyacınız

 int ordTotal = OrdersHistoryTotal ();

... Daha ileri ...

 if (orderTicket > - 1 ) OrderSelect (orderTicket, SELECT_BY_TICKET, MODE_HISTORY );

Burada her şeyin malzeme ile uyumlu olmadığı dikkat çekicidir. Biletle bir sipariş seçerken, havuz parametresi yok sayılır. Onlar. MODE_HISTORY yazmak işe yaramaz - bu ayar sadece indeks seçimi için geçerlidir.

Biletle bir sipariş seçtiyseniz, kapalı siparişler listesinden seçildiğinden emin olmak için kapanış saatini kontrol etmeniz gerekir. Sıfırdan büyük olmalıdır - sadece kapalı pozisyonlarda bu parametre >0'dır.

 
MT4 ticaret terminalinde 5 dakikalık zaman diliminde geçmiş görüntülenmez. çözülebilir mi?
 
rosman :
MT4 ticaret terminalinde 5 dakikalık zaman diliminde geçmiş görüntülenmez. çözülebilir mi?
Aptal soru için özür dilerim. Kasım 2010'dan önceki tarih görüntülenmiyor demek istedim :)
 
rosman :
Aptal soru için özür dilerim. Kasım 2010'dan önceki tarih görüntülenmiyor demek istedim :)

Yani yok. Daha fazla açıklığa kavuşturabilirsiniz. MT4 ayarlarında grafikte daha fazla çubuk oluşturmaya çalışın.

Daha uzun bir hikaye indirerek veya satın alarak çözüldü.

 
Zhunko :

Yani yok. Daha fazla açıklığa kavuşturabilirsiniz. MT4 ayarlarında grafikte daha fazla çubuk oluşturmaya çalışın.

Daha uzun bir hikaye indirerek veya satın alarak çözüldü.

Araçlar>Ayarlar>"Grafikler" sekmesi> penceredeki maksimum çubuk sayısı 65.000 idi --> 100.000 veya daha fazla olarak değiştirildi, yine de, yalnızca Kasım 2010 - en geç. Bu enstrüman ve zaman çerçevesi için fiyat teklifi arşivi tamamen yüklenmiştir - Kasım 1999'a kadar
 
Ve tarihteki maksimum çubuk sayısı nedir? Belki hikaye kesilmiştir.
 
Zhunko :
Ve tarihteki maksimum çubuk sayısı nedir? Belki hikaye kesilmiştir.
10.000.000 değerinde.
 
Arşivi yayınlayın. Ben kendim bakacağım.