[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 173
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
Expert Advisor'ı derlerken hatanın ne anlama geldiğini söyleyin:
'\end_of_program' - dengesiz sol parantez
Dengesiz sol parantez.
Dengesiz sol parantez.
Hata... Buldum. TEŞEKKÜR ETMEK.
Bir soru vardı -
Emirler AL/SAT DUR olarak açılır. Bazıları pazarlanabilir hale gelir, diğerleri kaldırılır.
Son N-piyasa emirleri için (açık ve kapalı), Alış mı Satış mı olduklarını öğrenmeniz gerekir.
İlk düşünce, OrdersHistoryTotal() ve OrdersTotal() öğelerinden gelen tüm siparişleri yinelemek, bunları sıralamaktır.
kapanış saati ve ardından OP_BUY ve OP_SELL. Ancak bu uzun ve işlemciyi çılgınca yavaşlatacak.
- Belki başka, daha basit bir seçenek vardır?
Teşekkür ederim!
Tünaydın.
Biri yardım edebilir mi?
İlk basit göstergemi yazdım - son 2, 3,4 ve 5 gün için ortalama oynaklığı hesaplamalı.
Göstergenin altı tamponu vardır,
grafikteki penceresinde, 0 gün, 1 gün, ortalama için volatilite değerine göre normalde sadece beş dikey çizgi çizer. 2 gün, 3 gün ve 4 gün.
Önceki 5 günün toplamı için ortalama oynaklık, 50 günlük mum için kesik bir çizgi olarak çizilir - çoğu ayarlandı.
arabelleklerin içeriği şu şekilde hesaplanır: beş günün ortalaması - bir döngü içinde (50 gün için bir çizgi çizin), ortalama verilerin geri kalanı - döngünün dışında.
Tamponların içeriğini içeren göstergedeki Coment satırı, ekranda bir saçmalık gösteriyor:
5 günün ortalaması - bu günler için 194 puandan fazla oynaklık yoktu ve geri kalan günlerin doğru sonuçları.
Coment = " Volatilite. 5 gün = 219.000000 4 gün = 171.0000000 3 gün = 189.00000 2 gün = 187.00000 Dün = 194.00000 Bugün = 5 "
Sıfır gün "Bugün", mevcut günün volatilitesiyle açıkça artıyor
Bir EA'da bu arabellekleri çağırırken
testçinin Yazdır satırı başka bir saçmalık verir - doğru değil, Coment satırından farklı, ancak gerçeğe benzer, 5 günlük ortalama sonuç ve bugünün "Sıfır" gününün doğru oynaklığı.
Gerisi sabit bir saçma sayı verir.
Baskı test cihazı Volatilite verir 5 gün= 181 4 gün= 2147483647 3 gün= 2147483647 2 gün= 2147483647 Dün= 2147483647 Bugün= 5
Birkaç gün boyunca Expert Advisor'ın neden "Sıfır" günlük arabellek dışında beş gösterge arabelleğinde bulunan aynı verileri almadığını anlayamıyorum?
değiştirmeyi dene
VolatBuffer1[1]=D1_av;
üzerinde
VolatBuffer1[0]=D1_av;
iyi ve diğer tüm tamponlar da.
değiştirmeyi dene
VolatBuffer1[1]=D1_av;
üzerinde
VolatBuffer1[0]=D1_av;
iyi ve diğer tüm tamponlar da.
Teşekkür ederim!
İşe yaradı. Danışmana normal veriler gelmeye başladı.
Ek olarak, ilginç bir etki ortaya çıktı - göstergenin kendisinin "Yorum" satırında
EA'nın Print satırındaki saçmalık tescil edilmeye başlandı, sadece 219 5 gün olduğu gibi kaldı.
Aynı zamanda 219 yerine 181 olması gerektiği gibi danışmana gelir.
Yorum", Volatilite döndürür 5 gün= 219.000000 4 gün= 2147483647 3 gün= 2147483647 2 gün= 2147483647 Dün= 2147483647 Bugün= 5
değiştirmeyi dene
VolatBuffer1[1]=D1_av;
üzerinde
VolatBuffer1[0]=D1_av;
iyi ve diğer tüm tamponlar da.
Başka bir etki buldum. Gösterge penceresinde artık tüm dikey çizgiler birbirinin üzerine çizilir.
ve en büyük değer tüm diğerlerini kapsar. Bir danışman için bu şart değildir.
Tünaydın.
Biri yardım edebilir mi?
İlk basit göstergemi yazdım - son 2, 3,4 ve 5 gün için ortalama oynaklığı hesaplamalı.
ATR'yi kullanarak işleri çok basitleştirebilirsiniz:
İki komut dosyası:
Soru artık nasıl kod yazılacağı değil, fikir düzeyinde - çoklu döngülerden kaçınmak mümkün mü?
bu işlemciyi yükler. Örneğin, açık STOP emirlerinin sayısını izlemek için bir fikir vardı - eğer bir azaldıysa, ancak emir silinmediyse => bir piyasa açıldı =>
açılış saatini yerleştirin ve bir dizi yazın. Bunun gibi bir şey.
Herhangi bir fikir açığız.
Teşekkür ederim!
ATR'yi kullanarak işleri çok basitleştirebilirsiniz: