
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
Söyle bana,
1. Diğer para birimlerinden sadece Alış ve Satış'a ihtiyacım varsa, "casus" kullanmak adil midir?
2. Bu sadece bir fikir, onChartEvent işlevinde yalnızca mevcut para biriminden değil, diğer para birimlerinden gelen olayları kontrol etme imkanı yok mu?
3. onTimer olayında zamanlayıcı değerini birden daha az ayarlamak mümkün mü, böylece kotasyon değerini çok daha sık indirecek ve buna bağlı olarak son tik zamanının minimum süre kadar gerisinde kalacak mı?
4. veya benim durumumda, diğer grafiklerdeki karışımların geçişini kontrol etmek için "CHARTEVENT_CUSTOM+n" kullanmak mümkün mü?
1. Kullanmak.
2. Bir seçenek var. Başka bir para biriminden gelen olay, OnChartEvent () ile EA'nın ayarlandığı grafiğe gönderilmelidir.
3. Hayır. Bir minimumdur.
4. Can.
Yeni bir fiyat teklifi geldiğinde bir olay gönderen basit bir "casus gösterge" SendEvent.mq5 oluşturdum:
Bu göstergeden olayları alan ve bir ticaret işlemi yapmaya çalışan basit bir Uzman Danışman oluşturdum (işte bir kısmı, tam metin ekli dosyada):
Uzman Danışman göstergeden olayları alır, ancak test cihazında (hem görselleştirme ile hem de görselleştirme olmadan) bir ticaret işlemi gerçekleştiremez - "Geçersiz İstek" hatası döndürülür, dönüş kodu 10013. Gerçek zamanlı olarak normal çalışır. Uzman Danışman'daki ticaret işlemi OnChartEvent () yerine OnTick () 'den gerçekleştirilirse - aynı zamanda iyi çalışır.
CodeBase'deki makalenin yazarı tarafından sunulan Uzman Danışman şablonuna ticaret talebinin gönderilmesini ekledim - ayrıca ticaret işlemleri de çalışmıyor (aynı hata).
Biri bana sebebinin ne olduğunu söyleyebilir mi? Bu başlıkta OnChartEvent ()'in test cihazında işlenmediğini okudum, ancak bu durumda gösterge tarafından gönderilen olaylar test cihazında işleniyor, ancak test cihazında OnChartEvent ()' den bir ticaret işlemi yürütmek imkansız.
Yeni bir fiyat teklifi geldiğinde bir olay gönderen basit bir "gösterge-casus" SendEvent.mq5 oluşturdum:
Bu göstergeden olayları alan ve bir ticaret işlemi yapmaya çalışan basit bir Uzman Danışman oluşturdum (bir kısmını veriyorum, tam metin ekli dosyada):
Uzman Danışman, göstergeden olayları alır, ancak test cihazında (hem görselleştirme ile hem de görselleştirme olmadan) bir ticaret işlemi gerçekleştiremez - "Geçersiz İstek" hatası döndürülür, dönüş kodu 10013. Gerçek zamanlı olarak normal çalışır. Uzman Danışman'da bir ticaret işlemi OnChartEvent () yerine OnTick () 'den gerçekleştirilirse - aynı zamanda iyi çalışır.
CodeBase'deki makalenin yazarı tarafından sunulan Uzman Danışman şablonuna ticaret talebinin gönderilmesini ekledim - ticaret işlemleri de çalışmıyor (aynı hata).
Birisi bana nedeninin ne olduğunu söyleyebilir mi? Bu konuda OnChartEvent ()'in test cihazında işlenmediğini okudum, ancak bu durumda gösterge tarafından gönderilen olaylar test cihazında işleniyor, ancak test cihazında OnChartEvent ()'den bir ticaret işlemi yürütmek imkansız.
Balığımı aklıma getirmeye çalışın. Tabii ki, mantık tam değil ve çok aptalca, ama ihtiyacınız olana çok benziyor gibi görünüyor.
En azından piyasadaki pozisyonlar hem test cihazında hem de demoda açılıyor.
Nedenini bilmiyorum (anlamaya çok tembelim), ama örneğiniz bana her durumda 10013 verdi.
PS
Standart nesnelere (CAccountInfo ve CTrade gibi) bağlanmak daha iyidir. Ancak her şeyi kendiniz yazacak sabrınız varsa, bundan sadece memnuniyet duyarım.
Bu arada, casusun uygulamasını makaleden almak veya değiştirilebilir bir kopyasını yapmak daha iyidir (örneğin, bu yılı "(long)_Period" yerine olayı gönderme tarihi veya diğer yararlı bilgilerle değiştirmenizi öneririm). Sizin varyantınız bir şekilde oldukça "ham".
Bakalım benim balığımı çalıştırabilecek misin? Mantık eksik ve çok karmaşık, ancak ihtiyacınız olan şeye çok benziyor gibi görünüyor.
EURUSD, EURGBP, GBPUSD olmak üzere üç çift için fiyat almaya çalışıyorum. Strateji test cihazında "Tüm keneler" veya "Yalnızca açık fiyatlar" seçildiğinde her şey yolunda gidiyor. Ancak "Gerçek tiklere dayalı her tik" i seçersem, bazı nedenlerden dolayı bir enstrüman için bir dakika içinde birkaç "Yeni Çubuk" olayı meydana gelebilir.
Tekrarlamak için, örneğin 2016.07.15 ile 2016.07.19 arasında bir aralık seçebilirsiniz. İşte örnek bir günlük, 7. dakikayı, 9. dakikayı izleyin:
2016.07.15 00:05:00 > -> id=2: EURGBP CHARTEVENT_NEWBAR_M1 price=0.8333
2016.07.15 00:05:00 > -> id=0: EURUSD CHARTEVENT_NEWBAR_M1 price=1.1119
2016.07.15 00:05:00 > -> id=1: GBPUSD CHARTEVENT_NEWBAR_M1 price=1.33399
2016.07.15 00:06:00 > -> id=2: EURGBP CHARTEVENT_NEWBAR_M1 price=0.8334
2016.07.15 00:06:00 > -> id=0: EURUSD CHARTEVENT_NEWBAR_M1 price=1.1119
2016.07.15 00:06:00 > -> id=1: GBPUSD CHARTEVENT_NEWBAR_M1 price=1.33394
2016.07.15 00:07:19 > -> id=2: EURGBP CHARTEVENT_NEWBAR_M1 price=0.8333700000000001
2016.07.15 00:07:19 > -> id=0: EURUSD CHARTEVENT_NEWBAR_M1 price=1.11174
2016.07.15 00:07:19 > -> id=1: GBPUSD CHARTEVENT_NEWBAR_M1 price=1.33382
2016.07.15 00:07:19 > -> id=2: EURGBP CHARTEVENT_NEWBAR_M1 price=0.8333700000000001
2016.07.15 00:07:19 > -> id=0: EURUSD CHARTEVENT_NEWBAR_M1 price=1.11174
2016.07.15 00:07:19 > -> id=1: GBPUSD CHARTEVENT_NEWBAR_M1 price=1.33381
2016.07.15 00:07:19 > -> id=2: EURGBP CHARTEVENT_NEWBAR_M1 price=0.8333700000000001
2016.07.15 00:07:19 > -> id=0: EURUSD CHARTEVENT_NEWBAR_M1 price=1.11174
2016.07.15 00:07:19 > -> id=1: GBPUSD CHARTEVENT_NEWBAR_M1 price=1.33384
2016.07.15 00:08:00 > -> id=2: EURGBP CHARTEVENT_NEWBAR_M1 price=0.83329
2016.07.15 00:08:00 > -> id=0: EURUSD CHARTEVENT_NEWBAR_M1 price=1.11167
2016.07.15 00:08:00 > -> id=1: GBPUSD CHARTEVENT_NEWBAR_M1 price=1.33394
2016.07.15 00:09:00 > -> id=2: EURGBP CHARTEVENT_NEWBAR_M1 price=0.83327
2016.07.15 00:09:00 > -> id=0: EURUSD CHARTEVENT_NEWBAR_M1 price=1.11166
2016.07.15 00:09:00 > -> id=1: GBPUSD CHARTEVENT_NEWBAR_M1 price=1.33396
2016.07.15 00:09:00 > -> id=2: EURGBP CHARTEVENT_NEWBAR_M1 price=0.83327
2016.07.15 00:09:00 > -> id=0: EURUSD CHARTEVENT_NEWBAR_M1 price=1.11166
EURUSD, EURGBP, GBPUSD olmak üzere üç çift için fiyat almaya çalışıyorum. Strateji test cihazında "Tüm keneler" veya "Yalnızca açık fiyatlar" seçildiğinde her şey yolunda gidiyor. Ancak "Gerçek tiklere dayalı her tik" i seçersem, bazı nedenlerden dolayı bir enstrüman için bir dakika içinde birkaç "Yeni Çubuk" olayı meydana gelebilir.
Tekrarlamak için, örneğin 2016.07.15'ten 2016.07.19'a kadar bir aralık seçebilirsiniz. İşte örnek bir günlük, 7. dakikayı, 9. dakikayı izleyin:
"Gerçek tiklere dayalı tüm tikler" modunu seçerken bu davranışın nedeni nedir?"Yeni çubuk" olayını nasıl yakalıyorsunuz? Yapı 1375 'te tik varışının doğruluğu milisaniye olarak iyileştirildi:
Test Cihazı: Milisaniye hassasiyetinde zaman desteği eklendi. Daha önce strateji test cihazında zaman kuantumu bir saniyeydi.
Gerçek keneler üzerinde test yaparken, milisaniyeler orijinal kene verilerinden alınır. Tik oluştururken, milisaniyeler tik hacmine göre yazılır. Örneğin, bir saniyede 3 tik varsa, bunlara 000, 333 ve 666 milisaniye zaman atanacaktır.
Yeni birçubuğu makalede yazıldığı şekilde yakalıyorum. Yani indikatör "New Bar" olayını bu şekilde (önceki zaman dakika, saat, gün, aylara göre) gönderiyor:
double price_current=price[rates_total-1];
TimeCurrent(time);
if(prev_calculated==0)
{
EventCustom(CHARTEVENT_INIT,price_current);
prev_time=time;
return(rates_total);
}
//--- new tick
if((flag_event & CHARTEVENT_TICK)!=0) EventCustom(CHARTEVENT_TICK,price_current);
//--- check change time
if(time.min==prev_time.min &&
time.hour==prev_time.hour &&
time.day==prev_time.day &&
time.mon==prev_time.mon) return(rates_total);
//--- new minute
if((flag_event & CHARTEVENT_NEWBAR_M1)!=0) EventCustom(CHARTEVENT_NEWBAR_M1,price_current);
GÜNCELLEME: Yapı 1375 yüklendiğinde sorun ortadan kalktı.
Bu büyük makale için teşekkürler. EventChartCustom'ı şimdiye kadar duymamıştım. Diğer grafik olaylarını deniyordum ama onlar sadece insan eyleminden kaynaklanan olayları dikkate alıyordu. Bu birçok şeyi çözüyor.
Bu arada, MQL4 üzerinde çalışıyorum, %98 oranında aynı şey oldu.
Şerefe
Bunun için çok teşekkür ederim, çok faydalı. Harika bir iş çıkardınız!