[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 16
![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
Metni + 3*Puan satırının fiyatına bağlıyorum (yani biraz daha yükseğe ayarladım), ama her neyse, grafiğin (pencerenin) boyutunu değiştirdiğimde, metin satırın üstünde veya altında, veya çizgi seviyesinde (atlar) ... Bu neden oluyor? - Fiyat için tam koordinatı veriyorum. Nasıl çözülür?
Baktım ve başkalarının nasıl yaptığını denedim, ancak etki orada benzer. Bu "atlama ipinden" nasıl kurtulacağımı anlamak istiyorum. Ve asıl mesele, koordinatlar katı olduğu için neden ortaya çıktığıdır: fiyat ve zaman.
dileği biraz resmileştiriyorsun. Belirli bir siparişi kapatırken mi?
Değilse, çok basit:
programın başında
int önceki_toplam_siparişler=0;
programın gövdesinde:
yeni bir sipariş açarken
önceki_siparişler++;
muayene:
if (prevous_orders>OrdersTotal()) CloseAllTrades(Sym); //bu işlev, bu enstrüman için tüm siparişleri kapatan kod tabanından herhangi biri olabilir
son açık siparişin kapanışında ise, o zaman
daha sonra programın başında Last_ticket değişkenini bildirin
bir sipariş açarken Last_ticket=OrderSend.....
muayene:
if(OrderSelect( OrderSelect ( Last_ticket, SELECT_BY_TICKET , int pool=MODE_TRADES)!=true) CloseAllTrades(Sym);
Denedim ama if( OrderSelect ( OrderSelect ( Last_ticket, SELECT_BY_TICKET , int pool=MODE_TRADES)!=true) yazdığımda bile çalışmıyor CloseAllTrades(Sym);
hatalar veriyor:
')' - dengesiz sağ parantez, '!=' - başlatma bekleniyor, 'true' - virgül veya noktalı virgül bekleniyor, 'Sym' - değişken tanımlanmadı, 'havuz' - değişken zaten tanımlanmış.
'Sym' - değişken tanımlanmadı - Bu değeri lasttype==OP_SELL ile değiştirerek kaldırdım, gerisini bilmiyorum
Denedim ama if(OrderSelect( OrderSelect ( Last_ticket, SELECT_BY_TICKET , int pool=MODE_TRADES)!=true) yazdığımda bile çalışmıyor CloseAllTrades(Sym);
hatalar veriyor:
')' - dengesiz sağ parantez, '!=' - başlatma bekleniyor, 'true' - virgül veya noktalı virgül bekleniyor, 'Sym' - değişken tanımlanmadı, 'havuz' - değişken zaten tanımlanmış.
'Sym' - değişken tanımlanmadı - Bu değeri lasttype==OP_SELL ile değiştirerek kaldırdım, gerisini bilmiyorum
Bunu bitmiş bir kod olarak değil, bir fikir olarak gönderdiğimi fark etmedin mi? ))
üzgünüm, OrderSelect'i iki kez yazdım
if( OrderSelect ( Last_ticket, SELECT_BY_TICKET , int pool=MODE_TRADES)!=true) CloseAllTrades(Sym);
ve CloseAllTrades(Sym) işlevi tamamen benim işlevim, Kim V.'nin işlevlerine bakın, muhtemelen bu çift için tüm işlemleri kapatan benzer bir işlev vardır. Bunu yapmak için, Sym değişkeni ayrıca Sym=EURUSD; (bu, bir çift için olası bir seçenektir)
Metni + 3*Puan satırının fiyatına bağlıyorum (yani biraz daha yükseğe ayarladım), ancak her neyse, grafiğin (pencerenin) boyutunu değiştirdiğimde, metin satırın üstünde veya altında, veya çizgi seviyesinde (atlar) ... Bu neden oluyor? - Fiyat için tam koordinatı veriyorum. Nasıl çözülür?
Baktım ve başkalarının nasıl yaptığını denedim, ancak etki orada benzer. Bu "atlama ipinden" nasıl kurtulacağımı anlamak istiyorum. Ve en önemlisi, koordinatlar katı olduğu için neden ortaya çıkıyor: fiyat ve zaman?
Bunun nedeni, farklı zaman dilimlerinin farklı grafik ölçekleri olması ve 3*Puanların piksel olarak farklı boyutlarının olmasıdır. Mesafeyi her zaman aynı yapmak için, piksel cinsinden istenen mesafeyi seçmeniz ve ObjectGet() ve ObjectSet() işlevlerini kullanarak her bir zaman dilimi için kaç nokta olacağını hesaplamanız gerekir . OBJPROP_XDISTANCE tanımlayıcısı ile ve metin bağlantı açısını, metnin her zaman çizginin üstünde ve altta olması için üstte olacak şekilde daha düşük olacak şekilde ayarlayın.
Normal alıntıları nereden indirebilirim?
"Alıntı Arşivi" sayesinde nedense parça parça titriyor.
Tünaydın. "Çoklu modülerliğin" nasıl organize edileceğini açıklayın? Büyük işlevlerin ayrı dosyalarda olmasını istiyorum.
Kitaplık (Kütüphane) - sık kullanılan kullanıcı programları bloklarını depolamak ve dağıtmak için tasarlanmış kullanıcı tanımlı işlevlerden oluşan bir kitaplık. Kütüphaneler kendi başlarına çalışamazlar.
Kitaplıkların terminal_directory\experts\libraries dizininde saklanması önerilir.
Dahil edilen dosya - sık kullanılan kullanıcı programları bloklarının kaynak metni. Bu tür dosyalar, Uzman Danışmanların kaynak metinlerine, komut dosyalarına, özel göstergelere ve kitaplıklara derleme aşamasında dahil edilebilir. Kütüphane işlevlerini çağırmanın ek yükü nedeniyle, içerme dosyalarının kullanılması, kitaplıkların kullanılmasına tercih edilir. Dahil edilen dosyaların terminal_directory\experts\include dizininde saklanması önerilir
Tünaydın. "Çoklu modülerliğin" nasıl organize edileceğini açıklayın? Büyük işlevlerin ayrı dosyalarda olmasını istiyorum.
Merhaba, Söyle pliz Belki birisi resmi bir pasaportla az miktarda WMZ ödünç alabileceğiniz bir site biliyordur, Acilen 3 WMZ'ye ihtiyacınız var ve onu koyun, şimdi başka yolu yok =((
Bunun nedeni, farklı zaman dilimlerinin farklı grafik ölçekleri olması ve 3*Puanların piksel olarak farklı boyutlarının olmasıdır. Mesafeyi her zaman aynı tutmak için, piksel cinsinden istenen mesafeyi seçmeniz ve ObjectGet() ve ObjectSet() işlevlerini kullanarak her bir zaman dilimi için kaç nokta olacağını hesaplamanız gerekir . OBJPROP_XDISTANCE tanımlayıcısı ile ve metin bağlantı açısını, metnin her zaman çizginin üstünde ve altta olması için üstte olacak şekilde daha düşük olacak şekilde ayarlayın.