Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 90
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
tezin teyidi: hareket = yaşam, dinlenme = ölüm. Bir dergide ne yazıyor? bunlar sağ alttaki iki sekme
Olsaydı kontrol edip düzeltirdim...
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4
İlya Prozumentov , 2017.06.11 13:53
Bir diziyle çalışmak için bir sınıf şablonu vardır.Bir dizinin karmaşık veri türlerini depolayabildiği gerçeği göz önüne alındığında, bu sınıf şablonunun sıralama uygulaması gerekir. Örneğin:
ArrayList<PP*> *dde; // PP - класс
Basit türler ve karmaşık olanlar için farklı işlevler yazabilirsiniz, ancak derleyici işlevlerin veri türüne göre kesinlikle sınırlandırıldığını anlamaz ve yemin etmeye devam eder:
'<' - geçersiz işlem ArrayList.mqh'yi kullanır
Sonra arayüzü gömmeye karar verdim:
Tasarımın tüm parçaları derlenmiştir. Ama bunu beyan etmeye çalışırsanız:
ArrayList<PP*> *dde; // PP - класс
daha sonra, dosyayı derlerken hatalar şunlardır:'QuickSorts' - şablon uyuşmazlığı varQSort.mqh /*hata 1*/
'=' - tür uyumsuzluğu ArrayList.mqh /*hata 2*/
notBu tür uyumsuzluğu ortadan kaldırmak için kodda nelerin düzeltilmesi gerekiyor? Neden böyle olduğunu anlamıyorum.
'<' - geçersiz işlem varQSort.mqh kullanımı
bu tasarımda beni rahatsız ediyor. Ve tam olarak kurtulmak istediğim şey buydu. Ama bu hata benim için açık, ama bu ikisi değil.
Buna ihtiyacım var mesela Pazartesi günü 2 yada 3 tane fırsat açmanız gerekiyorsa fonksiyon zamanı karşılaştırıp emeği gönderiyor ama şimdilik benim için bir sefer karşılaştırıyor.
aksi halde "indir" butonuna tıkladığınızda 6.000.000 fiyat teklifi indirilir. herkes sabit diski alıntı verileriyle doldurmak, indirilene kadar uzun süre beklemek ve ardından alıntı tablosundaki gereksiz verileri kaldırmak istemez.
Merhaba canım ... SATIN AL siparişleri için belirtilen TrailingStop kodunun neden doğru çalıştığını söyleyen var mı?
... ve SAT emirleri için benzerleri hiç SL belirlemez ...
... ve nedeni büyük olasılıkla ( Ask + 8 *D* Noktası )< OrderStopLoss () durumundadır , kaldırılırsa SL ayarlanır, ancak belirtilen koşul olmadan TrailingStop düzgün çalışmaz ...
SATIN AL emirleri için ( Bid - 8 *D* Point )> OrderStopLoss () koşulu, OrderStopLoss ()==0 kabul edilir doğru (yani bir değer > 0 ) ...
... ancak SATIŞ siparişleri için koşul ( Ask + 8 *D* Puan )< OrderStopLoss (), ne zaman OrderStopLoss ()==0 kabul edilir OLUMSUZLUK doğru (yani, < 0 bir değer elde edilir) ...
Birisi bana SATIŞ emirleriyle TrailingStop'un doğru çalışması için kodda gerekli koşulu nasıl doğru bir şekilde formüle edeceğimi söyleyebilir mi ( Ask + 8 *D* Noktası )< OrderStopLoss () .
Cevap veren herkese şimdiden teşekkürler.
Tünaydın! Göstergenin kene geçmişi dosyasını okuduğu bir işlev vardır. Ancak gösterge yüklenirken veya güncellenirken okuma yalnızca bir kez gerçekleşir. Sıfır çubuğunun ilk işareti her göründüğünde okuma nasıl yapılır?
void ProcessOldCandles(int limit, TickStruct &lastTick)
{
int hTicksFile = FileOpen(Symbol() + ".tks", FILE_BIN | FILE_READ | FILE_SHARE_READ | FILE_SHARE_WRITE);
if (hTicksFile < 1)
return;
TickStruct tick;
while (!IsStopped())
{
if (!IsReadTimeAndBidAskOfTick(hTicksFile, tick))
return;
if (tick.time >= Time[limit])
break;
}
lastTick = tick;
int barIndex = iBarShift(NULL, 0, tick.time);
while (barIndex >= 0)
{
if (!IsReadTimeAndBidAskOfTick(hTicksFile, tick))
return;
if (!IsTickBelongToBar(tick, barIndex))
barIndex = iBarShift(NULL, 0, tick.time);
ProcessOneTick(barIndex, tick, lastTick);
}
FileClose(hTicksFile);
Merhaba canım ... SATIN AL siparişleri için belirtilen TrailingStop kodunun neden doğru çalıştığını söyleyen var mı?
... ve SAT emirleri için benzerleri hiç SL belirlemez ...
... ve nedeni büyük olasılıkla ( Ask + 8 *D* Noktası )< OrderStopLoss () durumundadır , kaldırılırsa SL ayarlanır, ancak belirtilen koşul olmadan TrailingStop düzgün çalışmaz ...
SATIN AL emirleri için ( Bid - 8 *D* Point )> OrderStopLoss () koşulu, OrderStopLoss ()==0 kabul edilir doğru (yani bir değer > 0 ) ...
... ancak SATIŞ siparişleri için koşul ( Ask + 8 *D* Puan )< OrderStopLoss (), ne zaman OrderStopLoss ()==0 kabul edilir OLUMSUZLUK doğru (yani, < 0 bir değer elde edilir) ...
Birisi bana SATIŞ emirleriyle TrailingStop'un doğru çalışması için kodda gerekli koşulu nasıl doğru bir şekilde formüle edeceğimi söyleyebilir mi ( Ask + 8 *D* Noktası )< OrderStopLoss () .
Cevap veren herkese şimdiden teşekkürler.
Herkese merhaba ... forumun bu başlığında acı verici derecede düşük aktivite var ... bu sorun bu şekilde çözüldü ...
...biraz uzun bir durum ama çalışıyor... Daha kısa yazmayı bilenler kısaltabilir, cevap verebilir, minnettar kalırım ... Gerisi olduğu gibi kullanabilir.
fonksiyona gir
SiparişKapatByTicket (542534564)
tam lot büyüklüğüne sahip bir bilete bir siparişi kapatmak.
böylece lot, fiyat, kayma belirtmenize gerek kalmaz.
terminaldeki bir siparişte bir çarpı işaretine tıklamaya benzer.
fonksiyona gir
SiparişKapatByPos(0)
pozisyona göre bir siparişi kapatma.
ve o zaman bu hantal yapıları reçete etmek gerekli olmayacak.
Merhaba! İki eksi s x sayı q ve w yanlış karşılaştırılır, eşit olduklarında if operatörü birinin diğerinden büyük olduğunu düşünür.Hata nedir? q = -0.0002 ve w de -0.0002 olduğunda, res12=yanlış, neden?