![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
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
teşekkürler onewithzachy,
Öncelikle şu konuda küçük bir hatanız olduğunu düşünüyorum:
for(int cnt = OrdersTotal() -1 ; cnt >= 0; cnt--)
Yeşil ve kalın düzeltmeyi eklemelisiniz.
Ancak, aşağıdaki satırın bize nasıl yardımcı olabileceğini anlamıyorum?
#include "..\libraries\stdlib.mq4"
Teşekkürler, Y.
Ancak sayım konusunda haklısınız, yazdığım gibi yazarsak OrderSelect() false döndürür ve for döngüsü bir sonraki sayıma devam eder.
Bu içerme, bu koddaki hatayı yazdıracaktır ...
.. EA'nızın neden hiçbir siparişi kapatmadığını anlamamız için :(.
Bunun gibi olanları da yazabilirsiniz...
#include <stdlib.mqh>
Trade.mq4 başlıklı MetaEditor script klasöründe örnek var.
Eklemeyi nereye koyacağını bildiğini sanıyordum, değil mi? EA'nızın üstüne koyun (tıpkı global değişken gibi veya tıpkı trade.mq4 gibi).
stdlib.mq4, MetaEditor > Gezgin Penceresi (Ctrl + D) > dosyalar sekmesi > kitaplıklar klasörü > stdlib.mq4 konumunda bulunur.
Vay canına, umarım sakıncası yoktur, oraya ayrıntıya girdim, çünkü zaten biliyor musun bilmiyor musun bilmiyorum :)
Ancak sayım konusunda haklısınız, yazdığım gibi yazarsak OrderSelect() false döndürür ve for döngüsü bir sonraki sayıma devam eder.
Bu içerme, bu koddaki hatayı yazdıracaktır ...
.. EA'nızın neden hiçbir siparişi kapatmadığını anlamamız için :(.
Bunun gibi olanları da yazabilirsiniz...
Trade.mq4 başlıklı MetaEditor script klasöründe örnek var.
Eklemeyi nereye koyacağını bildiğini sanıyordum, değil mi? EA'nızın üstüne koyun (tıpkı global değişken gibi veya tıpkı trade.mq4 gibi).
stdlib.mq4, MetaEditor > Gezgin Penceresi (Ctrl + D) > dosyalar sekmesi > kitaplıklar klasörü > stdlib.mq4 konumunda bulunur.
Vay canına, umarım sakıncası yoktur, oraya ayrıntıya girdim, çünkü zaten biliyor musun bilmiyor musun bilmiyorum :)
teşekkürler onewithzachy,
Önerdiğiniz gibi yaptım ve doğru durumu bekliyorum. Güncelleyeceğim.
teşekkürler onewithzachy,
Önerdiğiniz gibi yaptım ve doğru durumu bekliyorum. Güncelleyeceğim.
Mmm...., Geri testin büyük bir hayranı değilim, ancak, RaptorUK diğer başlıkta ( buraya tıklayın ) geriye dönük test kullanarak kodumuzun hatalarını ayıklayabileceğimizi önermektedir.
EA çok çiftlidir, bu nedenle geriye dönük test yapmak imkansızdır.
Her neyse, ilgili durumu çok hızlı bir şekilde anlayabilirim. Bir zaten sonuçlarım var. Güncelleyeceğim..
teşekkürler
EA çok çiftlidir, bu nedenle geriye dönük test yapmak imkansızdır.
Teşekkürler Raptor,
ORDERSELECT'in bir bool değişkeni olduğunu ve bazen MT4'ün başarılı olmadığını fark ettim.
yapmak için. Bu nedenle onewithzachy şunları yapmasını tavsiye etti:
for ( int cnt= 0 ; cnt< Sipariş Toplamı (); cnt++)
{
if ( OrderSelect (cnt,SELECT_BY_POS,MODE_TRADES) == doğru &&
OrderSymbol ()==Eşleştir &&
Sipariş Türü ()== OP_BUY )
{
// kapatılacak kod
}
}
Sorum şu: ORDERSELECT yanlışsa, "cnt" LOOP'u kaçırmadan nasıl tekrar yapabilirim ...?
Umarım beni anlıyorsun.
Y.
Teşekkürler Raptor,
ORDERSELECT'in bir bool değişkeni olduğunu ve bazen MT4'ün başarılı olmadığını fark ettim.
yapmak için. Bu nedenle onewithzachy şunları yapmasını tavsiye etti:
for ( int cnt= 0 ; cnt< OrdersTotal (); cnt++ )
Sorum şu: ORDERSELECT yanlışsa, "cnt" LOOP'u kaçırmadan nasıl tekrar yapabilirim ...?
Umarım beni anlıyorsun.
Y.
Emirleri kapatıyorsanız, geri saymanız GEREKİR . . . yukarı DEĞİL .
Üzgünüm Raptor, bir önceki gönderiden bir Copy_paste yaptım, ancak kodumda değiştirdim.
Her neyse, ön sorum hakkında bir fikriniz var mı?
Üzgünüm Raptor, bir önceki gönderiden bir Copy_paste yaptım, ancak kodumda değiştirdim.
Her neyse, ön sorum hakkında bir fikriniz var mı?
Kodunuzu gösterin ve bir fikir verebilirim.
Rap, 4016 kod satırıdır....
Neyse, sorum teknik bir soru. FORTRAN'ı bir kez öğrendim, ve orada istediğiniz kod satırları için numaralar vardı,
"120'ye gidin" ve kod tekrar o satıra gitti.
Burada Orderselect YANLIŞ ise, EA kod satırına nasıl geri dönebilir: for(int cnt=OrdersTotal() ; cnt > 0; cnt-- )
???