[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 299
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
//------------------------------------------------ ------------------------------+
// Kim Saygı ve saygı !!! |
//+------------------------------------------- ------------------------------+
Bu kuşkusuz kodun en stresli kısmıydı))))
Böyle. Burada hiçbir şey anlamıyorum. Aklıma ikinci TF geldi. Her şey saat gibi çalışmalı. Ama çalışmıyor. Hayır, işe yarıyor ama beklendiği gibi değil. Her şeyi binlerce kez kontrol ettim. Kendimde herhangi bir sözdizimsel veya algoritmik hata görmüyorum. Açıklamaya çalışacağım, tam kodu ekliyorum. Böyle:
Burada, start()'ın başlangıcında, işleyiciyi son start() çalışmasından bu yana geçen saniye sayısına göre ayarladım. Yinelenen bölümler özel işlevlere taşındı. Yeni değer time=TimeCurrent(), kullanıcı tanımlı işlevlerde aynı yere atanır.
İşlev iki modda çalışır: ilk dalda, AtFirst=true, akümülatör dizilerinin ön sıfırlanmasıyla yalnızca bir onay işareti yakalar ve ikinci dalda, AtFirst=false, tam olarak bir onay akümülatörü olarak çalışır. Yani ya akümülatörü sıfırlayıp kesip sıfır hücresinde alış-satış yakalarız ya da akümülatörü uzatıp alış-satışı yakalarız. Uyarı yalnızca hata ayıklama için ayarlandı. Sürücüyü daha fazla sıfırlama koşulunu yazacağım.
Bir mum "çizme" işlevi (.hst'ye bir mum koymak, çevrimdışı bir grafikte açılır). Benzer şekilde - hata ayıklama için uyarılar ayarlayın. İlk uyarı, bir saniyede yakalanan iki tikte bip sesi çıkarır (dizi boyutu ikidir ve teorik olarak ses ikiye eşit olmalıdır) ve ikinci uyarı, yakalanan tikteki sormaya eşittir (uyarıya benzer) sürücüde: ancak bir nedenden dolayı senkronize çalışmıyorlar) ve mumun hacmi. Bunların hepsi teoride, aslında, bir dosyaya girildiğinde (bir uyarıya göre), örneğin bir ikili (veya 0x00 00 00 00 00 00 00 40, çift 2.0), bir nedenden dolayı hala bir tane (0x00) var. 00 00 00 00 00 F0 3F, BigEndian formatında çift 1.0). Genelde sürücüdeki bu uyarıyı yorumluyorum, sık sık bip sesi çıkarıyor, bu ikisiyle çalışıyorum.
Herhangi bir saniyede kene olmaması durumunda tire "çizme" işlevi. Her şey aşağıdaki algoritmaya göre çalışır:
Δtime=0: keneleri yakala (kopyala).
Δtime=1: Daha önce yakalanan kene temelinde bir mum çubuğu çizin, ardından keneyi yakalayın (akümülatörün ön sıfırlanmasıyla).
Δtime>1: Daha önce yakalanan kene üzerine bir mum çizin, Kapat[0] çizgisi boyunca Δtime-1 miktarında kısa çizgiler çizin, bir tik yakalayın (akümülatörün ön sıfırlanması ile). Her durumda, üzerine mum çizildiğinde sürücüyü sıfırlarız, bu da artık pile ihtiyacımız olmadığı anlamına gelir. Bu, Δzaman>0 olduğunda olur.
Biz süreriz:
Teklifin sözde sormaya eşit olduğu ve hacmin bire eşit olması gereken anları bir okla çizdim. Dipleri hacimlerle yakalamadım, hala görülecek bir şey yok, ince. Ama hepsi eşit durumda, yani ya sıfır ya da bir, hiçbiri ikiye çıkmıyor (uyarı bip sesi çıkarmasına rağmen). Saniyede iki tıklama - hepsi aynı, fareyi üzerine getirdiğinizde hacim=1 görüntülenir ve teklif sormaya eşittir, hacim=0 da görüntülenir. Niye ya? Bir yerde bir hata olduğunu anlıyorum ama büyük ihtimalle hatayı fark etmiyorum veya yanlış yere bakıyorum. Kodu ekliyorum, her şeyi iyi yorumladım, her yerde girintileri takip ettim, kapsayıcıları kaldırdım, sadece daha hızlı derlemek için kullanılan işlevleri seçtim. Tek açıklama çevrimdışı, yani. TimeLocal ile, orijinal kene toplayıcısının aksine, çalışmıyor, çünkü if(tickTimeLocal==true) içinde saçmalıktan yazdım (çünkü beni incitmedi). Taras'ın tavsiyesi üzerine bir danışmana aktarmaya çalıştım - daha sonra mumlar çevrimdışı grafikte görüntülenmiyor (mevcut teklifin satırı normal şekilde hareket etse de).
senin ayak bezlerin.
Merhaba
Böyle bir soru vardı. Diyelim ki bugün Pazartesi. Cuma kapanış fiyatını öğrenmem gerekiyor. şöyle yazabilir miyim
Bu soru, test cihazında Cumartesi ve Pazar çubuklarını gördüğüm için ortaya çıktı. Ama bu günlerde ticaret yok. Yukarıdaki satır Cuma mı Pazar mı kapanış fiyatını verir ?Merhaba
Böyle bir soru vardı. Diyelim ki bugün Pazartesi. Cuma kapanış fiyatını öğrenmem gerekiyor. şöyle yazabilir miyim
Bu soru, test cihazında Cumartesi ve Pazar çubuklarını gördüğüm için ortaya çıktı. Ama bu günlerde ticaret yok. Yukarıdaki satır Cuma mı Pazar mı kapanış fiyatını verir ?Cuma fiyatı verecek! Sunucu Cuma günü en geç 24.00'te kapanırsa ve Pazar'dan sonra 0.00'dan önce başlamazsa!
DailyPivotPoints göstergesini kullanın!
Hayır, gerçekten hiçbir şey anlamıyorum. Belli ki zaten yazıyor
2'ye eşit uyarıda, göstergeyi dakikalardan kaldırıyorum, fareyi mumun üzerine getiriyorum... Hacim=1.
FileInsight aracılığıyla hst'deki RateInfo'ya baktım (bir hata ayıklayıcı gibi), belki int var, Volume'de double değil - hayır, double ...
İyi akşamlar.
soruma cevap verdiğin için teşekkür ederim))
Lütfen bana söyleyin, eğer bir satın alma emri açarsanız, OrderSend (Symbol(), OP_BUY ,Lot, Ask ,3,0,0,"Buy",0,0,Green);
ve satılık ise OrderSend (Symbol(), OP_SELL ,Lot, Ask ,3,0,0,"Sale",0,0,Red);
mavi fark Yoksa kırmızıyı da mı değiştirmem gerekiyor? onlar. OP_BUY, Teklif fiyatıdır
OP_SELL, Satış fiyatıdır
ve her şey doğruysa ve hiçbir şeyin değiştirilmesi gerekmiyorsa, neden test cihazında her şey yolunda, deme'de her şey yolunda ve GERÇEK "Hata açma sırası 129" yardım plz.
İyi akşamlar.
Soruma cevap verdiğin için teşekkür ederim))
Söyle lütfen, bir satın alma emri açarsanız, OrderSend (Symbol(), OP_BUY ,Lot, Ask ,3,0,0,"Buy",0,0,Green);
ve satılık ise OrderSend (Symbol(), OP_SELL ,Lot, Ask ,3,0,0,"Sale",0,0,Red);
mavi fark Yoksa yine de kırmızı rengi değiştirmem gerekiyor mu ??? onlar. OP_BUY, Teklif fiyatıdır
OP_SELL, Satış fiyatıdır
ve her şey doğruysa ve hiçbir şeyin değiştirilmesi gerekmiyorsa, neden test cihazında her şey yolunda, deme'de her şey yolunda ve GERÇEK "Hata açma sırası 129" yardım plz.
İyi akşamlar.
Soruma cevap verdiğin için teşekkür ederim))
Lütfen söyle, bir satın alma emri açarsanız, OrderSend (Symbol(), OP_BUY ,Lot, Ask ,3,0,0,"Buy",0,0,Green);
ve satılık ise OrderSend (Symbol(), OP_SELL ,Lot, Ask ,3,0,0,"Sale",0,0,Red);
...Satılık:
Bir sipariş göndermeden önce teklifleri güncellemenizi öneririm:
RefreshRates(); OrderSend (...);
Ve kaymanız =3 olduğuna dikkat edin, 4 basamaklı alıntılar için =3 puan olacak ve 5 basamaklı alıntılar için 0,3 puan olarak hesaplanacaktır. Bu nedenle, danışman 5 basamaklı tırnak işaretleri ile çalışacaksa, kayma = 30 olarak ayarlayın.Hayır, gerçekten hiçbir şey anlamıyorum. Belli ki zaten yazıyor
2'ye eşit uyarıda, göstergeyi dakikalardan kaldırıyorum, fareyi mumun üzerine getiriyorum... Hacim=1.
FileInsight aracılığıyla hst'deki RateInfo'ya baktım (bir hata ayıklayıcı gibi), belki int var, Volume'de double değil - hayır, double ...
Koduna baktım .... kafan çok karışık)))
Neden kene biriktirmemiz gerektiğini tam olarak anlamıyorum, çünkü bellekte saklamamız (veya hatta saklamamamız bile, çünkü mevcut çubuğun HST'de yazılması gerektiğinden - aksi takdirde grafik güncellenmeyecektir) parametrelerinin parametrelerini geçerli çubuk altı TOHLCV numarasıdır ve işaretler geldiğinde bunları gerektiği gibi güncelleyin ve belirtilen koşula göre ( TimeCurrent() -O>1) kesme çubukları.
Kodu bu şekilde yeniden işlemeye çalışın, 8 kat azalacaktır, garanti ederim (test edildi :)