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

 
hoz :


Eugene, elbette, her şeyi anlayabilirim AMA, bu sözde ders kitabında yazılmıştır. Basitten nereye bakılacağına nasıl gidebilirim? Kendiniz bir programcıysanız, bu muhtemelen sizin için açıktır. Ama hiç girmedim.

Evet ve yeni başlayanlar için bir branş ama konuyla ilgili sorular soruyorum.. İkinci gün için anlamaya çalışıyorum. Zaten pişman olurdu ve birileri açıklardı. :(

Ve hakkında:


Kazmazsan anlaman mümkün değil. Ve eğer anlamazsanız, onu da sonuna kadar kullanamazsınız.


Uygulamaya ihtiyacınız var (terminalde çalışmak). Başkalarının kodlarını okuyun, mantık arayın, tekrar pratik yapın. Terminalden veya sunucudan mantıklı cevaplar almak için kendinize görevler belirleyin.
Görevleri zorlaştırın.
Terminal, Eğitim, Dokümantasyon - özellikle yeni başlayanlar için çalışma ve yaratıcı çalışma için mükemmel kaynaklar (kendim üzerinde test ettim).
Hatalardan ders alın, böylece onları yapmazsınız! Hafızalarında ayrı bir şerefleri vardır.
Bu, yaratıcılık düzeyinde bir spordur (kendi hileleri, sürekli formda olma).
Mantık, eylemlerinizi ve düşüncelerinizi yönetir.
İki gün içinde iki ay yaşamak mümkün değildir.
 

Bir mono-uzmanı çoklu para birimine çeviriyorum. Söyleyin bana, bu durumda MT4'te fiyatlar nasıl güncellenir ve diğer çiftler için çubuklar nasıl yüklenir?

Belki bir yerde, bir grafiğe eklenmiş bir uzmanın başka bir döviz çiftiyle nasıl çalıştığına dair bir açıklama vardır?

 
Usual_Trader :

Bir mono-uzmanı çoklu para birimine çeviriyorum. Söyleyin bana, bu durumda MT4'te fiyatlar nasıl güncellenir ve diğer çiftler için çubuklar nasıl yüklenir?

Belki bir yerde, bir grafiğe eklenmiş bir uzmanın başka bir döviz çiftiyle nasıl çalıştığına dair bir açıklama vardır?


En az 2 fonksiyona ihtiyacınız var: MarketInfo() ve Refreshrates()

İlki, başka bir ticaret aracından fiyat talep etmenize izin verecek ve ikincisi, verileri ilkini kullanmak için güncelleyecektir. Yani kodunuzda, önce Refreshrates() öğesini çağırırsınız ve ardından MarketInfo() öğesini sorgulayabilirsiniz. Ancak, Uzman Danışman, örneğin, Sleep() işleviyle bir süre uyuduysa veya çok uzun bir süre bazı hesaplamalar yaptıysa durum böyledir. Mesela, bu olurken, yeni alıntılar geldi ve bunları Refreshrates () kullanarak güncellemeniz gerekiyor.

 
drknn :


En az 2 fonksiyona ihtiyacınız var: MarketInfo() ve Refreshrates()

İlki, başka bir ticaret aracından fiyat talep etmenize izin verecek ve ikincisi, verileri ilkini kullanmak için güncelleyecektir. Yani kodunuzda, önce Refreshrates() öğesini çağırırsınız ve ardından MarketInfo() öğesini sorgulayabilirsiniz. Ancak, Uzman Danışman, örneğin, Sleep() işleviyle bir süre uyuduysa veya çok uzun bir süre bazı hesaplamalar yaptıysa durum böyledir. Mesela, bu olurken, yeni alıntılar geldi ve bunları Refreshrates () kullanarak güncellemeniz gerekiyor.


Anladığım kadarıyla Refreshrates() mevcut enstrüman için mi çalışıyor yoksa tüm enstrümanlar için verileri güncelliyor mu?

 

İyi akşamlar.

Kodlamada ben bir "crucian"ım :) Burada Fibonacci göstergesi konusunda bir danışman topluyorum. Şimdilik, stratejiyi görmezden gelin. Bir sonraki - 7 Fibonacci seviyesinde bir engel, her çapraz seviyede sadece 2 farklı bekleyen emrin verildiğinden ve daha fazlasının verilmediğinden nasıl emin olunacağı.

Herhangi bir ipucu için minnettarım.

Garip Rusçam için şimdiden özür dilerim.

Dosyalar:
 
Usual_Trader :


Anladığım kadarıyla Refreshrates() mevcut enstrüman için mi çalışıyor yoksa tüm enstrümanlar için verileri güncelliyor mu?


Tüm enstrümanlar için.
 
Sarguss :

İyi akşamlar.

Kodlamada ben bir "crucian"ım :) Burada Fibonacci göstergesi konusunda bir danışman topluyorum. Şimdilik, stratejiyi görmezden gelin. Sonraki - 7 Fibonacci seviyesinde bir engel, her çapraz seviyede sadece 2 farklı bekleyen emrin verildiğinden ve daha fazlasının verilmediğinden nasıl emin olunacağı.

Herhangi bir ipucu için minnettarım.

Garip Rusçam için şimdiden özür dilerim.


Çalışmak

PS "Bu yüzden pike, böylece crucian uyuklamasın." (Rus atasözü).

 
Roll :


Çalışmak

PS "Bu yüzden pike, böylece crucian uyuklamasın." (Rus atasözü).


Atasözü için teşekkürler :)) Sadece konuyla ilgili -

Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4.

Ekle - Herhangi bir cevap PROFI!

 

Merhaba uzmanlar, bir komut dosyası oluşturma konusunda yardım istiyorum. Grafikte 2 MA ( Hareketli Ortalama ) göstergesi vardır, MA1 kırmızı, MA2 mavi ile işaretlenmiştir. Komut dosyasının görevi, MA1 ve MA2'yi, kırmızı çizgi mavi çizgiyi yukarıdan aşağıya geçecek şekilde geçmektir. Bu noktaya A diyelim ve eğer kırmızı maviyi yukarıdan aşağıya kesiyorsa, bu B noktasıdır. Yani, A noktasında, satış emrini kapatmanız ve bir alış emri açmanız ve B noktasında, kapatmanız gerekiyor. alış emri ve satış emri açın. Bu döngü sonsuz olmalıdır. Benzer bir kod ekledim, lütfen yardım edin, çok minnettar olacağım

Dosyalar:
 
Lisi4ka330 :
Karışıklığı artırmamak için önceki cevapta yaptığım hatayı düzeltmek istiyorum, "array1[Bars*6-60,60][0]" girişi doğru değil çünkü Çubuklar*6, dizi1'deki toplam öğe sayısıdır. Her çubuğun 6 özelliği vardır, diyelim ki 30 çubuğumuz var, bunları 6 ile çarparak ilk dizideki eleman sayısını alıyoruz - 180 . İkinci dizide yalnızca 60 boş "hücre" (yani 10 x 6 özellik) vardır, bu nedenle kopyalamak için ilk diziden yalnızca 60 öğe seçmemiz gerekir. [Bars*6-60,60] ifadesini kullanarak toplamdan 60 çıkarırız, yani 180 - 60 = 120, yani. Birinci dizinin 120 elemanı, ikincinin sıfır elemanına, 121'i 1'e vb. yazılacaktır. , bir başka soru da, son oluşturulan çubuklar hakkındaki bilgilerin ilk dizinin başında değil, sonunda yer aldığının nasıl ortaya çıktığı... ama görünüşe göre cevap fonksiyon kodunda yatıyor ve kazmanın bir anlamı yok. Daha derine...


O zaman bir dayanağım var, onunla hiçbir ilgisi yok. Mantıken, Natalia doğru yazdı. Ve 30 çubuğumuz olduğu durumda bile, dizi1 dizisinin indeksinin değeri 120 çıktı. Buna göre, dizi2 dizisinin karşılık gelen indeksinin değeri, başlatma sırasında kodda zaten 10 olarak bildirildi.

https://docs.mql4.com/en/array/ArrayCopy

 double array2[ 10 ][ 6 ];

Bir C kitabında şunu okudum:

C dili dizi taşmasını kontrol etmez, yani resmi olarak var olmayan bir dizine sahip bir öğeye bir şeyler yazabilirsiniz, örneğin A[345] veya A[-12]. Ancak bunu yaparken, diziyle ilgili olmayan bellekteki bazı hücreleri siliyorsunuz, bu nedenle böyle bir adımın sonuçları tahmin edilemez ve çoğu durumda program donuyor.

Dizi1 dizisinin indeksini ortaya çıkarır (orijinal dizi)   dizi2 dizisinin (hedef dizi) karşılık gelen dizininden daha büyük. Ve bu yüzden bunu yapmamalısın! Demek istediğim şey o..