[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 332
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
Bir gösterge yazmaya çalışıyorum. Fikir basit: ORTALAMA (BOĞALARIN GÜCÜ- AYILARIN GÜCÜ). Doğal olarak belirli bir süre için.
int başlangıç()
{
int i=Bars-IndicatorCounted()-1;
while(i>=0)
{
Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
Bulls_array[i]=iBullsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
MA_Bears[i]=iMAOnArray(Bears_array,0,MA_Period,0,MODE_EMA,i);
MA_Bulls[i]=iMAOnArray(Bulls_array,100,MA_Period,0,MODE_SMA,i);
Buf_0[i]=MA_Boğalar[i];
ben--;
}
dönüş;
}
Sadece kontrol için ekranda gösteriyorum SMOOTHED bulls Buf_0[i]=MA_Bears[i]; Bu, hindi yapımının belirli bir aşamasında kontrol etmek için yapılır. ve hemen bu yumuşatılmış boğaların normal yerleşik boğalarla eşleşmediğini görüyorum. Hatta HAKKINDA. 1 periyotla yumuşatılırsa, teoride genellikle yerleşik boğaları tekrarlamaları gerekir. Dolayısıyla MA_Bulls[i]=iMAOnArray(Bulls_array,100,MA_Period,0,MODE_SMA,i); satırında bir şeylerin yanlış olduğu sonucuna varılır. Tam olarak ne anlamadım ... YARDIM !!!! ZATEN 3 GÜN Referans kitaplarına ve belgelere tırmanıyorum. TEŞEKKÜR ETMEK!
İlk önce boğalardan ve ayılardan veri dizileri oluşturuyorsunuz ve ardından bir sonraki döngüde onları okşuyorsunuz, aksi takdirde henüz oluşturmadınız ve zaten orada düzgünleştirme verileri uyguluyorsunuz, o zaman henüz düzgünleştirilecek bir şey yok mu?
İlk önce boğalardan ve ayılardan veri dizileri oluşturuyorsunuz ve ardından bir sonraki döngüde onları okşuyorsunuz, aksi takdirde henüz oluşturmadınız ve zaten orada düzgünleştirme verileri uyguluyorsunuz, o zaman henüz düzgünleştirilecek bir şey yok mu?
Tercüme
costy_ писал(а) >>
Çok teşekkür ederim, yaklaşıyorum. Bir nokta tam olarak net değil.
'14:56' - tarih değişmez dizesi eksik
Anladığım kadarıyla yine tarih istiyor ama belirli bir tarihe ihtiyacım yok, benim için önemli olan mevcut fiyatın her gün aynı günün belirli bir saatindeki fiyatla kıyaslanması. Lütfen anı netleştirin.
Ve neden onları iCastom üzerinden aramanız gerekiyor? Birleşme ya da ne için? Pekala, her biri için ayrı bir sarmalayıcı göstergesi yazın ve onları iCustom aracılığıyla arayın...
Sorun şu ki, bu iki göstergeyi (AO ve AC) yeniden yaptım ve şimdi çubukların değiştirilen göstergelere göre renklendirilmesini istiyorum. Yoksa bunu yapmanın başka yolları var mı? Sadece MQL ayrıştırmaya başladı...
Sorun şu ki, bu iki göstergeyi (AO ve AC) yeniden yaptım ve şimdi çubukların değiştirilen göstergelere göre renklendirilmesini istiyorum. Yoksa bunu yapmanın başka yolları var mı? Sadece MQL ayrıştırmaya başladı...
Duc, ne yeniden yaptın ve ne diyorsun, sorun ne? Örneğin, dönüştürülen göstergeleriniz AO, AC olarak adlandırılıyorsa, çağrı şu şekilde olacaktır:
peki, ya da kendinizden bazılarını yaptıysanız, oraya parametreler ekleyin
Çok teşekkür ederim, yaklaşıyorum. Bir nokta tam olarak net değil.
'14:56' - tarih değişmez dizesi eksik
Anladığım kadarıyla yine tarih istiyor ama belirli bir tarihe ihtiyacım yok, benim için önemli olan mevcut fiyatın her gün aynı günün belirli bir saatindeki fiyatla kıyaslanması. Lütfen anı netleştirin.
costy_ писал(а) >>
Çok teşekkür ederim, yaklaşıyorum. Bir nokta tam olarak net değil.
'14:56' - tarih değişmez dizesi eksik
Anladığım kadarıyla yine tarih istiyor ama belirli bir tarihe ihtiyacım yok, benim için önemli olan mevcut fiyatın her gün aynı günün belirli bir saatindeki fiyatla kıyaslanması. Lütfen anı netleştirin.
Yine de zamana bağlı kalmanın mümkün olup olmadığının temeline inmek istiyorum. MQL4 dilinde, her işlem gününün 14.00'deki Teklif fiyatı nasıl söylenir?
skifodessa 05.12.2009 14:07
Herkese iyi günler.
Lütfen bana belirli bir seviyenin fiyatına göre geçiş sayısını nasıl hesaplayacağımı söyleyin. Siparişin ilk hemzemin geçitten sonra değil, 3 (4.5...) sonra açılmasını istiyorum.
Teşekkür ederim.
-------------------------------------------------- ----------
algoritmayı deneyebilirsin
Eğer (Mevcut çubuğun fiyatı>seviyenin fiyatı VE önceki çubuğun fiyatı <seviye)Sonra {sayacı bir artırın}
Eğer (sayaç>3) ise {açık emir; sayacı sıfırla}
Şimdi her şeyi normal dilde aynı şekilde yazalım (sadece blok yazıyorum. Doğru yerlere kendiniz yerleştirin)
Dış int Çet=10; // kaç kavşaktan sonra sipariş açılır
Dış çift Seviye=1.6566; //fiyat hangi seviyeyi geçtikten sonra saymaya başlamalı
start fonksiyonunda, koşullar bunun gibi bir şey olacak
int k;
if(Open[0]> Uroven && Open[1]< Uroven )k=k+1;// YUKARI kavşak burada dikkate alınır
if(k> Çet ){SiparişGönder(.......);k=0};
Genel olarak, soru çok karmaşık değil.Algoritmaların bu temelleri MCL ders kitabında iyi tanımlanmıştır.
Vinin İÇİN yazdı >>
İlginiz için teşekkür ederim. ama bu yardımcı olmayacak. while döngüsünü bir FOR döngüsüyle değiştirdiğiniz için
Urain İÇİN yazdı >>
Sonraki iki satır sadece istenen diziyi oluşturur.
Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
Bulls_array[i]=iBullsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
Urain Muhtemelen önceden tamamlanmış bir diziyi iMAOnArray işlevine geçirmeniz gerektiğini düşündünüz.Bunu FOR döngüleriyle oluşturmak yardımcı olmadı. Çünkü bu işlev (iMAOnArray) bir diziden değil, onun ADI iletilir. Ve dizi ELEMENT BY ELEMENT işlenir.
MA_Bears[i]=iMAOnArray(Bears_array,0,MA_Period,0,MODE_SMA,i); satırında i'yi değiştirerek
Sorunu anladım. Göründüğünden çok daha derindir. Bu işlemi yalnızca Expert Advisor'da uygularsanız sorun olmaz, ancak buna dayalı bir grafik oluşturursanız, herhangi bir komisyon alır. Her şey dizilerin TERSİNE indekslenmesi ile ilgilidir. iMAOnArray işlevi doğrudan (soldan sağa) indekslemeye sahiptir, grafikler ise sağdan sola indekslenir. Bu açıklama için Garfich'e teşekkürler.
Vinin İÇİN yazdı >>
İlginiz için teşekkür ederim. ama bu yardımcı olmayacak. while döngüsünü bir FOR döngüsüyle değiştirdiğiniz için
Urain İÇİN yazdı >>
Sonraki iki satır sadece istenen diziyi oluşturur.
Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
Bulls_array[i]=iBullsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
Urain Muhtemelen önceden tamamlanmış bir diziyi iMAOnArray işlevine geçirmeniz gerektiğini düşündünüz.Bunu FOR döngüleriyle oluşturmak yardımcı olmadı. Çünkü bu işlev (iMAOnArray) bir diziden değil, onun ADI iletilir. Ve dizi ITEMS işlenir.
MA_Bears[i]=iMAOnArray(Bears_array,0,MA_Period,0,MODE_SMA,i); satırında i'yi değiştirerek
Sorunu anladım. Göründüğünden çok daha derindir. Bu işlemi yalnızca Expert Advisor'da uygularsanız sorun olmaz, ancak buna dayalı bir grafik oluşturursanız, herhangi bir komisyon alır. Her şey dizilerin TERSİNE indekslenmesi ile ilgilidir. iMAOnArray işlevi doğrudan (soldan sağa) indekslemeye sahiptir, grafikler ise sağdan sola indekslenir. Bu açıklama için Garfich'e teşekkürler.
Sorunun ne olduğunu bilmiyorum ama Vinin doğru yazmış (ya da süre fark etmez) asıl mesele, önce veri dizisinin döngü tarafından oluşturulması ve ardından iMA'nın bir sonraki döngü tarafından ondan oluşmasıdır. ,
ve Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i); satırı dizinin yalnızca bir i-inci değerini doldurur.,
döngüsü olmayanlar ise dizi oluşmayacaktır.