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

 
Chiripaha :

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.

Metin, nesnenin açıklamasına girilir ve grafiğin nesnelerin açıklamalarını göstermesine izin verilir (yollardan biri).
 
Usual_Trader :


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

 
Frostr :

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)

 
Chiripaha :

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.
 
Nekseron :
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

 
Nekseron :
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.
Örnek olarak, bu Uzman Danışmanın nasıl düzenlendiğini, örneğin bunun veya bunun nasıl olduğunu görebilirsiniz.
 

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 =((

 
rigonich :

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.
Vitaly, çok teşekkür ederim! deneyeceğim. Snap açısı seçeneğinin yardımcı olması gerektiğini düşünüyorum. Henüz nasıl yapacağımı bilmiyorum, ama şimdi ne deneyeceğim daha açık. Tekrar teşekkürler!