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
girişin oluşturulduğu bir kod parçası gösterseydiniz, mantıkta daha hızlı bir hata bulmak mümkün olurdu
Ama MQL'de genel kabul görmüş bir çözüm olmalı, değil mi? Farklı enstrümanlar için çubukların açılması nasıl "senkronize edilir"? Görünüşe göre, kullandığınız tüm enstrümanlar için yeni bir barın açılmasını beklemek gerekiyor. Ama sadece nasıl doğru yapılır?
Diğer bisikletlerin herhangi bir senkronizasyonuna ve icatlarına gerek yoktur. Her şey zaten icat edildi. Yeni oluşturulmuş bir çubuğun varlığı, yalnızca ilk onay işaretinin gelmesi üzerine Expert Advisor'ın kurulu olduğu cihazda kontrol edilir. Ve start() olayı da yalnızca yeni bir tick geldiğinde aynı enstrümanda tetiklenir. Size bir kod parçası verdim, böyle bir kontrolün yapıldığı, böylece bir sonraki çubukta yeniden teklif verilmesi durumunda bir sonraki pozisyon açılmaz ve başarısızlıklardan sonra aynı çubuk üzerinde açma girişimleri yapılır. Bütün bunlar hem tek hem de çoklu para birimi modunda benim için iyi çalışıyor. Bir yeniden fiyat teklifi durumunda bir anlaşma aynı çubukta açılır, ancak yalnızca biraz gecikmeyle ve bu nedenle her zaman çubuğun açılış fiyatından değil, biraz vardiya ile. Onlar. testçi ile farklılıklar olacaktır, ancak barlarda değil, açılış fiyatında.
Yuri yeni bir saatin başlangıcı! kene gelmese bile olur!
çünkü zaman onu durduramaz ama tikler yaklaşık 5 dakika gelmeyebilir
bu nedenle, HERHANGİ bir enstrümanın yeni çubuğundaki tik ile yeni bir çubuk sayabilirsiniz.
LeoV - kullanılan tüm çiftler için eşzamanlı olarak yeni bir onay bekliyor gibi görünüyor
YuraZ yazdı:
dürüst olmak gerekirse ve pek güzel değil ... belirtilen çiftler için kene gelmediğini ve tekrar uçtuğunuzu hayal edin
Kene gelmediyse, belki bir komut dosyası yardımıyla hemen sipariş veremezsiniz,
ve o zaman bile, yalnızca DC'ye keneler gelirse, ancak onları terminale (gündüz) yayınlamıyorlarsa.
Bu nedenle, çoklu para birimi danışmanı uyguladığımda, State Machine of Miles (veya Moores) yaptım,
gerekli çiftler için açık siparişlerin durumunu takip etti. Tabii ki her zaman işe yaramadı.
doğru fiyattan açılır, ancak bu yaklaşım emirlerin TAM AÇILACAĞINI garanti ederdi.
kolayca! kene gelmediyse sipariş verebilirsiniz :-)
sence! eğer düşünmüyorsan sana söyleyeceğim
Genellikle, birden fazla para birimine sahip danışmanlarda durum genellikle öyledir ki, bir siparişin %100'e ulaşacağına dair bir garanti yoksa,
o zaman danışmanın çalışmasının mantığı çöker.
Bu arada Uzman Danışmanınızın takıldığı çiftin keneleri üzerinde çalıştığını unutmayınız,
bu nedenle, başka bir çift üzerinde bir onay işareti olsa bile, ancak EA'nın eklendiği çiftte bir onay işareti bulunmasa bile,
o zaman, ne yazık ki, senkronizasyon bozulacak.
Evet, DC ile iletişim kaybı ve alıntılar (gerçek hayattaysanız) gibi tatsız bir şeyi unutmayın.
Bu arada, siparişin hiç gitmediği, terminal yeniden başlatılana kadar mikro realitede sık sık durumlar yaşıyorum.
Manuel modda bile. Bir şeyi beklemek, beklemek...
Bu nedenle, uzun zaman önce eşleştirilmiş siparişlere dayalı sistemleri terk ettim.
Ağrılı bir şekilde zahmetli.
YuraZ yazdı:
dürüst olmak gerekirse ve pek güzel değil ... belirtilen çiftler için kene gelmediğini ve tekrar uçtuğunuzu hayal edin
Kene gelmediyse, belki bir komut dosyası yardımıyla hemen sipariş veremezsiniz,
ve o zaman bile, yalnızca DC'ye keneler gelirse, ancak onları terminale yayınlamazlarsa (gündüz).
Bu nedenle, çoklu para birimi danışmanı uyguladığımda, State Machine of Miles (veya Moores) yaptım,
gerekli çiftler için açık siparişlerin durumunu takip etti. Tabii ki her zaman işe yaramadı.
doğru fiyattan açılır, ancak bu yaklaşım emirlerin TAM AÇILACAĞINI garanti ederdi.
kolayca! kene gelmediyse sipariş verebilirsiniz :-)
sence! eğer düşünmüyorsan sana söyleyeceğim
Genellikle, çoklu para birimi danışmanlarında durum genellikle öyledir ki, bir siparişin %100'e ulaşacağına dair bir garanti yoksa,
o zaman danışmanın çalışmasının mantığı çöker.
Bu arada Uzman Danışmanınızın takıldığı çiftin keneleri üzerinde çalıştığını unutmayınız,
bu nedenle, başka bir çift üzerinde bir onay işareti olsa bile, ancak EA'nın eklendiği çiftte bir onay işareti bulunmasa bile,
o zaman, ne yazık ki, senkronizasyon bozulacak.
Evet, DC ile iletişim kaybı ve alıntılar (gerçek hayattaysanız) gibi tatsız bir şeyi unutmayın.
Bu arada, siparişin hiç geçmediği, terminal yeniden başlatılana kadar mikro realitede sık sık durumlar yaşıyorum.
Manuel modda bile. Bir şeyi beklemek, beklemek...
Bu nedenle, uzun zaman önce eşleştirilmiş siparişlere dayalı sistemleri terk ettim.
Ağrılı bir şekilde zahmetli.
Muhtemelen bir TIC yazmak istediniz ... ama bir arama emri yazdınız
danışman EURUSD'de olsa bile, USDCHF'ye girebileceğini anlarsınız.
yazmak için yeterli
LevelOpenBUY = MarketInfo ("USDCHF",MODE_ASK);
... = OrderSend("USDCHF",Lot, LevelOpenBUY, ...
çalışma kodu parçası
OpenLevel = MarketInfo(sSymbol, MODE_BID);
if ( TDARELOCK == 0 )
bilet=SiparişGönder ( sSymbol,OP_SELL,Lots,OpenLevel,3,0,0,sComment,mMagic,0,Red);
----
aynı zamanda, USDCHF'de bir onay işareti herhangi bir ÇİFT'te bir onay almak için yeterli gelmeyebilir.
BTW, umarım MQL5'te programın çalışması için herhangi bir onay işareti almaya gerek kalmaz
orada etkinlikler yapacaklarına söz verdiler, bu da etkinlikte herhangi bir kod parçasının başlatılabileceği anlamına geliyor
----
İşte terminal donmalarıyla ilgili ikinci soru - sorunun yeniden başlatılarak ele alındığı - bu, geliştiriciler için daha olasıdır
ben de bununla tanıştım
bu da işlenir ve burada forumda bir örnek var
---
yani açılmadı diye bir sipariş gönderdiyseniz, tabi ki benzer bir kod parçasını uygulamaya koyabilirsiniz.
YuraZ писал (а):
Muhtemelen bir TIC yazmak istediniz ... ama bir emir yazdınız
%100 sipariş vermek istedim.
YuraZ yazdı:
Muhtemelen bir TIC yazmak istediniz ... ama bir emir yazdınız
%100 sipariş vermek istedim.
Ancak bunun yalnızca çok para birimli bir sistemde olmadığını anlıyorsunuz.
ve normal bir Expert Advisor'da %100 garanti yoktur, alamazsınız ... asla %100 garanti edilmez
çünkü faktörler var
İNTERNET
SAĞLAYICINIZ
DC SAĞLAYICI
senin ekipmanın
DC ekipmanı
vb
---
bunun için duraklar var ... ve alır veya başka bir sağlayıcı ile yedek bir bilgisayar (sorunlar sizin tarafınızdaysa)
---
Ama bu programda bir mantık hatası ise!!! o zaman bu sadece başka bir konu ve tedavi ediliyor
---
ve girişin saat 15'te değil, 15:05 veya 15:02'de gerçekleşmesi nedeniyle mantık çökmemelidir.
Bunu sadece şubenin yazarından görüyoruz! tam olarak 15:00:00 00.00.00'da giriş yapmaya çalışıyor
(rakamlar şartlı)
hiç pipo yok, bu yüzden 15:00 veya 15:01 - 15:07 girişleri onun için çok önemli olmamalı
bahsettiğimiz şey bu, gerekli tüm enstrümanlar için çubuğun başında sert bir şekilde bağlayamazsınız - herhangi birinin üzerinde çubuğun başlangıcını almak yeterlidir
YuraZ yazdı:
dürüst olmak gerekirse ve pek güzel değil ... belirtilen çiftler için kene gelmediğini ve tekrar uçtuğunuzu hayal edin
Kene gelmediyse, belki bir komut dosyası yardımıyla hemen sipariş veremezsiniz,
ve o zaman bile, yalnızca DC'ye keneler gelirse, ancak onları terminale yayınlamazlarsa (gündüz).
Bu nedenle, çoklu para birimi danışmanı uyguladığımda, State Machine of Miles (veya Moores) yaptım,
gerekli çiftler için açık siparişlerin durumunu takip etti. Tabii ki her zaman işe yaramadı.
doğru fiyattan açılır, ancak bu yaklaşım emirlerin TAM AÇILACAĞINI garanti ederdi.
kolayca! kene gelmediyse sipariş verebilirsiniz :-)
sence! eğer düşünmüyorsan sana söyleyeceğim
Genellikle, birden fazla para birimine sahip danışmanlarda durum genellikle öyledir ki, bir siparişin %100'e ulaşacağına dair bir garanti yoksa,
o zaman danışmanın çalışmasının mantığı çöker.
Bu arada danışmanınızın tutunduğu çiftin keneleri üzerinde çalıştığını unutmayın,
bu nedenle, diğer çiftte bir onay işareti olsa bile, ancak EA'nın eklendiği çiftte bir onay işareti bulunmasa bile,
o zaman, ne yazık ki, senkronizasyon bozulacak.
Evet, DC ile iletişim kaybı ve alıntılar (gerçek hayattaysanız) gibi tatsız bir şeyi unutmayın.
Bu arada, siparişin hiç gitmediği, terminal yeniden başlatılana kadar mikro realitede sık sık durumlar yaşıyorum.
Manuel modda bile. Bir şeyi beklemek, beklemek...
Bu nedenle, uzun zaman önce eşleştirilmiş siparişlere dayalı sistemleri terk ettim.
Ağrılı bir şekilde zahmetli.
Muhtemelen bir TIC yazmak istediniz ... ama bir arama emri yazdınız
danışman EURUSD'de olsa bile, USDCHF'ye girebileceğini anlarsınız.
yazmak için yeterli
LevelOpenBUY = MarketInfo ("USDCHF",MODE_ASK);
... = OrderSend("USDCHF",Lot, LevelOpenBUY, ...
çalışma kodu parçası
OpenLevel = MarketInfo(sSymbol, MODE_BID); if ( TDARELOCK == 0 ) bilet=SiparişGönder ( sSymbol,OP_SELL,Lots,OpenLevel,3,0,0,sComment,mMagic,0,Red);
----
aynı zamanda, USDCHF'de bir onay işareti herhangi bir ÇİFT'te bir onay almak için yeterli gelmeyebilir.
BTW, umarım MQL5'te programın çalışması için herhangi bir onay işareti almaya gerek kalmaz
orada etkinlikler yapacaklarına söz verdiler, bu da etkinlikte herhangi bir kod parçasının başlatılabileceği anlamına geliyor
----
İşte terminal donmalarıyla ilgili ikinci soru - sorunun yeniden başlatılarak ele alındığı - bu, geliştiriciler için daha olasıdır
ben de bununla tanıştım
bu da işlenir ve burada forumda bir örnek var
---
yani açılmadı diye bir sipariş gönderdiyseniz, tabi ki benzer bir kod parçasını uygulamaya koyabilirsiniz.
Terminali yeniden yüklemek harika, ancak şu anda diğer danışmanlar ne yapmalı, bu da asılı, ancak diğer pencerelerde
ve çalışma mantıkları elbette farklıdır ve sık sık yeniden başlatmalar için kötüdür, tk. değişken değerler kayboluyor
uzun zamandır biriktirdiğimiz.
danışman EURUSD'de olsa bile, USDCHF'ye girebileceğini anlarsınız.
yazmak için yeterli
LevelOpenBUY = MarketInfo ("USDCHF",MODE_ASK);
... = OrderSend("USDCHF",Lot, LevelOpenBUY, ...
Ancak ana çift için son saatin son tiki, örneğin 7.50'de geldiyse ve saatin ilk tiki geldiyse,
8.10'da ve küçük çift için saatin ilk tik tak saati 8.00'de geldi,
o zaman ana çiftte asılı duran danışmanın ikincil için bir sipariş vereceğini ummak zor.
8.00'de, en iyi ihtimalle 8.10'da.
Danışmanın bir komut dosyası olarak çalıştığı durum, yani. sistemin nefes almasına izin vermez, ancak harmanlar, harmanlar,
tikler ne olursa olsun, düşünmüyorum. O zaman bir senaryo yazmak daha iyi.
YuraZ yazdı:
dürüst olmak gerekirse ve pek güzel değil ... belirtilen çiftler için kene gelmediğini ve tekrar uçtuğunuzu hayal edin
Kene gelmediyse, belki bir komut dosyası yardımıyla hemen sipariş veremezsiniz,
ve o zaman bile, yalnızca DC'ye keneler gelirse, ancak onları terminale yayınlamazlarsa (gündüz).
Bu nedenle, çoklu para birimi danışmanı uyguladığımda, State Machine of Miles (veya Moores) yaptım,
gerekli çiftler için açık siparişlerin durumunu takip etti. Tabii ki her zaman işe yaramadı.
doğru fiyattan açılır, ancak bu yaklaşım emirlerin TAM AÇILACAĞINI garanti ederdi.
kolayca! kene gelmediyse sipariş verebilirsiniz :-)
sence! eğer düşünmüyorsan sana söyleyeceğim
Genellikle, çoklu para birimi danışmanlarında durum genellikle öyledir ki, bir siparişin %100'e ulaşacağına dair bir garanti yoksa,
o zaman danışmanın çalışmasının mantığı çöker.
Bu arada danışmanınızın tutunduğu çiftin keneleri üzerinde çalıştığını unutmayın,
bu nedenle, diğer çiftte bir onay işareti olsa bile, ancak EA'nın eklendiği çiftte bir onay işareti bulunmasa bile,
o zaman, ne yazık ki, senkronizasyon bozulacak.
Evet, DC ile iletişim kaybı ve alıntılar (gerçek hayattaysanız) gibi tatsız bir şeyi unutmayın.
Bu arada, siparişin hiç geçmediği, terminal yeniden başlatılana kadar mikro realitede sık sık durumlar yaşıyorum.
Manuel modda bile. Bir şeyi beklemek, beklemek...
Bu nedenle, uzun zaman önce eşleştirilmiş siparişlere dayalı sistemleri terk ettim.
Ağrılı bir şekilde zahmetli.
Muhtemelen bir TIC yazmak istediniz ... ama bir arama emri yazdınız
danışman EURUSD'de olsa bile, USDCHF'ye girebileceğini anlarsınız.
yazmak için yeterli
LevelOpenBUY = MarketInfo ("USDCHF",MODE_ASK);
... = OrderSend("USDCHF",Lot, LevelOpenBUY, ...
çalışma kodu parçası
OpenLevel = MarketInfo(sSymbol, MODE_BID); if ( TDARELOCK == 0 ) bilet=SiparişGönder ( sSymbol,OP_SELL,Lots,OpenLevel,3,0,0,sComment,mMagic,0,Red);
----
aynı zamanda, USDCHF'de bir onay işareti herhangi bir ÇİFT'te bir onay almak için yeterli gelmeyebilir.
BTW, umarım MQL5'te programın çalışması için herhangi bir onay işareti almaya gerek kalmaz
orada etkinlikler yapacaklarına söz verdiler, bu da etkinlikte herhangi bir kod parçasının başlatılabileceği anlamına geliyor
----
İşte terminal donmalarıyla ilgili ikinci soru - sorunun yeniden başlatılarak ele alındığı - bu, geliştiriciler için daha olasıdır
ben de bununla tanıştım
bu da işlenir ve burada forumda bir örnek var
---
yani açılmadı diye bir sipariş gönderdiyseniz, tabi ki benzer bir kod parçasını uygulamaya koyabilirsiniz.
Terminali yeniden yüklemek harika, ancak şu anda diğer danışmanlar ne yapmalı, bu da asılı, ancak diğer pencerelerde
ve çalışma mantıkları elbette farklıdır ve sık sık yeniden başlatmalar için kötüdür, tk. değişken değerler kayboluyor
uzun zamandır biriktirdiğimiz.
danışman EURUSD'de olsa bile, USDCHF'ye girebileceğini anlarsınız.
yazmak için yeterli
LevelOpenBUY = MarketInfo ("USDCHF",MODE_ASK);
... = OrderSend("USDCHF",Lot, LevelOpenBUY, ...
Ancak ana çift için son saatin son tiki, örneğin 7.50'de geldiyse ve saatin ilk tiki geldiyse,
8.10'da ve küçük çift için saatin ilk tik tak saati 8.00'de geldi,
o zaman ana çiftte asılı duran danışmanın ikincil için bir sipariş vereceğini ummak zor.
8.00'de, en iyi ihtimalle 8.10'da.
Danışmanın bir komut dosyası olarak çalıştığı durum, yani. sistemin nefes almasına izin vermez, ancak harmanlar, harmanlar,
tikler ne olursa olsun, düşünmüyorum. O zaman bir senaryo yazmak daha iyi.
1 Reconnect'in Init() işlevini çağırdığını düşünüyor musunuz? ve danışmanı yeniden başlatır mı?
Hatalısınız...
Ek olarak, hesaplanan ve değerli değişkenleri kaydetmek mantıklıdır.
karmaşık kodum yoksa, bunları GLOBAL DEĞİŞKENLER'de saklarım
kod karmaşıksa, diske yazarım ve yeniden başlatırken okurum - yeniden başlatma yanlışlıkla olduysa, onları geri yüklerim
bu arada, yanlışlıkla olup olmadığını belirlemek oldukça kolaydır
---
2 Herhangi bir çift için yeni bir saat geldiyse! ve diğer çiftler için kene yoktur - o zaman orada bir kene ne zaman görünürse görünsün
YENİ BAR - daha doğrusu yeni bir saat gelmiş sayılabilir
ve bu nedenle, aynı zamanda kapsanmış oldukları düşünüldüğünde, gecikmiş çiftleri KAPATMA ile kısaltmak oldukça mümkündür.
keneler daha sonra gelecek ve çubuk zamanla değişecek !!! ama saat gerçekten geçti
---
Bir kene gelmemiş bir çift için sipariş vermek MÜMKÜN, nasıl olduğunu biliyorsunuz
Saat 8:00'de sergilenir demiyorum - (koşullu rakam)
herhangi bir çift için yeni bir bara YENİ bir TIC gelir gelmez DERHAL yerleştirilebilir
---
>o ana çift için son saatin son tiki, örneğin 7.50'de geldiyse ve saatin ilk tiki geldiyse,
> 8.10'da ve küçük çift için saatin ilk tiki 8.00'de geldi,
> ana çiftte asılı duran danışmanın ikincil için bir sipariş vereceğini ummak zor
> 8.00'de, en iyi ihtimalle 8.10'da.
çok para biriminde çalışırken, ana çift için zamanı saymanıza veya ana çift için saymanıza gerek yoktur.
herhangi bir çift için yeni bir çubuğun başlangıcının işaretini yakalamanız yeterlidir - ve göstergeleri çubuğu kapatarak değil KAPAT'a göre hesaplayın
ve içeri ve dışarı
çünkü giriş, yeni saat sinyali olacağından, herhangi bir kontrollü çiftin yeni çubuğunun tikinde olacaktır! (bizim durumumuzda, yeni saat)
çoklu para biriminde çalışırken, ana çift için zamanı saymanıza veya ana çift için saymanıza gerek yoktur.
herhangi bir çift için yeni bir çubuğun başlangıcının işaretini yakalamanız yeterlidir - ve göstergeleri çubuğu kapatarak değil KAPAT'a göre hesaplayın
ve içeri ve dışarı
çünkü giriş, yeni saat sinyali olacağından, herhangi bir kontrollü çiftin yeni çubuğunun tikinde olacaktır! (bizim durumumuzda, yeni saat)
Büyük ihtimalle öyle......
çoklu para biriminde çalışırken, ana çift için zamanı saymanıza veya ana çift için saymanıza gerek yoktur.
herhangi bir çift için yeni bir çubuğun başlangıcının işaretini yakalamanız yeterlidir - ve göstergeleri çubuğu kapatarak değil KAPAT'a göre hesaplayın
ve içeri ve dışarı
çünkü giriş, yeni saat sinyali olacağından, herhangi bir kontrollü çiftin yeni çubuğunun tikinde olacaktır! (bizim durumumuzda, yeni saat)
Büyük ihtimalle öyle......
Danışmanı bu mantığa göre yeniden yapın, SORUN olasılığınız önemli ölçüde azalacaktır.
Piyasaya GENEL BAKIŞ penceresindeki TÜM çiftler için, özellikle yen için yeni bir yakalama saati eklerseniz, pratikte herhangi bir başarısızlık yaşamamanız gerekir.
1 SADECE tüm çiftlerde eşzamanlı olarak yeni bir çubuk yakalamayın !!!
2 KONTROLLÜ çiftlerden herhangi birinde YENİ BİR BAR YAKALAYIN, mevcut KAPATMA'da gerekli tüm çiftleri yeniden hesaplamaya başlayın ...
(bu arada, SİZİN göstergelerinizden bazılarının yeniden işlenmesi gerekebilir)
ve girmek - çıkmak - veya tutmaya devam etmek için bir karar verin
Danışmanı bu mantığa göre yeniden yapın, SORUN olasılığınız önemli ölçüde azalacaktır.
Piyasaya GENEL BAKIŞ penceresindeki TÜM çiftler için, özellikle yen için yeni bir yakalama saati eklerseniz, pratikte herhangi bir başarısızlık yaşamamanız gerekir.
1 SADECE tüm çiftlerde eşzamanlı olarak yeni bir çubuk yakalamayın !!!
2 KONTROLLÜ çiftlerden herhangi birinde YENİ BİR BAR YAKALAYIN, mevcut KAPATMA'da gerekli tüm çiftleri yeniden hesaplamaya başlayın ...
(bu arada, SİZİN göstergelerinizden bazılarının yeniden işlenmesi gerekebilir)
ve girmek - çıkmak - veya tutmaya devam etmek için bir karar verin
Senkyu veri macha))))))))))))