[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 53
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'da bir baskı yazdığımda böyle bir nüans fark ettim, yani:
double Up = iCustom(NULL, 0, "en iyi div orijinal", "*** CCI-OnArray Ayarları ***", 12, 3, 5, 25, "*** Gösterge Ayarları ***", false, false , yanlış, 0, 1);
Yazdır ("++++++++++++++", Yukarı);
daha sonra EA aşağıdaki sonucu verir - ++++++++++++++ 2147483647. Ayrıca, hem arabellek yukarı hem de arabellek aşağı için aynı sayı. Söyle bana bu kod nedir? Ve tam olarak ok göründüğünde Ikastom'dan değer nasıl "alılır"?
Bilgili kişilerden biraz yardım etmelerini istiyorum: Algoritması aşağıdaki gibi olan bir Expert Advisor / Utility oluşturmak için bana doğru kodu söyleyin:
- ONE SIDE'de (0.1 ve 0.1 lotları) çifte işlem açmak, mevcut grafikte/mevcut zaman diliminde en son oluşan mumun en düşük (sat)/yüksek (al) seviyesini yüksekte bir duruşla geçtiği anda yapılır/ aynı mumun düşük alanı, kesiştiği noktada mumun bu ticareti açtığı ve aynı noktada örneğin 0.2 ve 0.1 lotlarla bir yönde bekleyen bir çift ticaret emri yerleştirme.
Soru:
bir kod var
int başlangıç()
if (H==TimeHour( TimeCurrent() ) && M==TimeMinute(TimeCurrent()) && S==TimeSeconds(TimeCurrent()))
{+ bazı koşullar
Sonra sipariş açılır
Ticket=SiparişGönder(Symbol(),OP_BUY,Lots,Ask,2,SL,TP);
eğer (Bilet > 0)
Alert("Sipariş açık",Bilet);
dönüş;}
Ama şu anda kene yoksa, çalışmıyor
ve ona düşünmesi için daha fazla zaman verirseniz, birkaç emir açabilir.
Ama sadece bir taneye ihtiyacım var ve bu zaten açık olan emirlere dikkat etmeyecek.
Bana ne yapacağımı söyle
Expert Advisor'da bir baskı yazdığımda böyle bir nüans fark ettim, yani:
double Up = iCustom(NULL, 0, "en iyi div orijinal", "*** CCI-OnArray Ayarları ***", 12, 3, 5, 25, "*** Gösterge Ayarları ***", false, false , yanlış, 0, 1);
Print("++++++++++++++", Yukarı);
daha sonra EA aşağıdaki sonucu verir - ++++++++++++++ 2147483647. Ayrıca, hem arabellek yukarı hem de arabellek aşağı için aynı sayı. Söyle bana bu kod nedir? Ve tam olarak ok göründüğünde Ikastom'dan değer nasıl "alılır"?
Gösterge değerlerini iCustom() aracılığıyla değil, genel terminal düzeyi değişkenleri aracılığıyla iletmeyi deneyin. Bunlar F3 tarafından görüntülenebilenlerdir. Gerçek şu ki, veri aktarmanın tek normal yolu bu olduğunda durumlar nadir değildir. Bende bunlar vardı.
Göstergenizde, bazı ok türlerinin gösterge tamponu boyunca çizilmesi, bazılarının ise nesne olarak oluşturulması oldukça olasıdır. Bu, veri penceresinde herhangi bir ok ayar fiyatları olmamasının tek nedenidir - veriler bu pencereye gösterge arabelleklerinden gönderilir.
Soru:
bir kod var
int başlangıç()
if (H==TimeHour(TimeCurrent()) && M==TimeMinute(TimeCurrent()) && S==TimeSeconds(TimeCurrent()))
{+ bazı koşullar
Sonra sipariş açılır
Ticket=SiparişGönder(Symbol(),OP_BUY,Lots,Ask,2,SL,TP);
eğer (Bilet > 0)
Alert("Sipariş açık",Bilet);
dönüş;}
Ama şu anda kene yoksa, çalışmıyor
ve ona düşünmesi için daha fazla zaman verirseniz, birkaç emir açabilir.
Ama sadece bir taneye ihtiyacım var ve bu zaten açık olan emirlere dikkat etmeyecek.
Bana ne yapacağımı söyle
Danışman kodu YALNIZCA yeni bir onay işareti geldiğinde çalışır. Birden fazla emir açılır çünkü bir sonraki tıklamada ayarlanan sinyal de doğrudur ve emir sayısı için bir kontrol yoktur. Siparişlerin sayılması gerekiyor.
Gösterge değerlerini iCustom() aracılığıyla değil, genel terminal düzeyi değişkenleri aracılığıyla iletmeyi deneyin. Bunlar F3 tarafından görüntülenebilenlerdir. Gerçek şu ki, veri aktarmanın tek normal yolu bu olduğunda durumlar nadir değildir. Bende bunlar vardı.
Göstergenizde, bazı ok türlerinin gösterge tamponu boyunca çizilmesi, bazılarının ise nesne olarak oluşturulması oldukça olasıdır. Bu, veri penceresinde herhangi bir ok ayar fiyatları olmamasının tek nedenidir - veriler bu pencereye gösterge arabelleklerinden gönderilir.
Çok teşekkürler! Şimdi dediğiniz gibi yazmaya çalışacağım.
Ama şu anda kene yoksa, çalışmıyor
ve ona düşünmesi için daha fazla zaman verirseniz, birkaç emir açabilir.
Ama sadece bir taneye ihtiyacım var ve bu zaten açık olan emirlere dikkat etmeyecek.
Bana ne yapacağımı söyle
1. global tarihsaat last_dt;
2. doğru zamanı yapın
tarihsaat dt=StrToTime(H+":"+M+":"+S);
3.
if (TimeCurrent()>=dt && last_dt<dt) // doğru zaman ve ertesi gün
{
// açık sipariş
if (bilet>0) last_dt=TimeCurrent(); // açılış saatini hatırla
}
daha sonra EA aşağıdaki sonucu verir - ++++++++++++++ 2147483647. Ayrıca, hem arabellek yukarı hem de arabellek aşağı için aynı sayı.
Anladım.
Siparişlerin yeniden hesaplanması konusunda daha spesifik olmam gerekiyor. Belki bir örnek (kod biçiminde) veya bir bağlantı.
böyle denedim
eğer (Bilet > 0)
Alert("Sipariş açık",Bilet);
uyku (10000)
dönüş;}
neden işe yaramadı
Danışman kodu YALNIZCA yeni bir onay işareti geldiğinde çalışır. Birden fazla emir açılır çünkü bir sonraki tıklamada ayarlanan sinyal de doğrudur ve emir sayısı için bir kontrol yoktur. Siparişlerin sayılması gerekiyor.
Programın tarihe dikkat etmemesine ihtiyacım var, sadece saat önemli
tavsiyeniz bu durumda işe yarar mı?
1. global tarihsaat last_dt;
2. doğru zamanı yapın
tarihsaat dt=StrToTime(H+":"+M+":"+S);
3.
if (TimeCurrent()>=dt && last_dt<dt) // doğru zaman ve ertesi gün
{
// açık sipariş
if (bilet>0) last_dt=TimeCurrent(); // açılış saatini hatırla
}