MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 170

 
Sergey Gritsay :

CodeBase'de pek çok örnek var, bekleyen siparişlerde Uzman Danışmanları arayın ve kodun nasıl yazıldığını görün.

Yaklaşık bir saattir CodeBase'de bir örnek arıyordum ve kendim için anlaşılır bir şey bulamadım. Bu benim için çok zor. Hiçbir şeyin net olmadığı çok büyük kodlar, ancak tek ihtiyacım olan 4-6 satırlık birkaç kod. Cevap için teşekkürler, ama bu işe yaramıyor.
 
maxon777 :

bekleyen bir emir açın (yani fiyat 0.7777 ise, bekleyen bir emir açın)

2) herhangi bir değere ulaştıysa emri (piyasa) kapatın (yani fiyat 0.6666 ise emri kapatın)

4-6 kod satırında cevap aldınız mı?

"Orada yapılacak ne var? Birkaç satır için Delov ... Ne yüz dolar ???" yazan müşterilerden biri misiniz?

tanımlayalım:

Önce fiyatın 0.7777'ye ulaştığını belirlemeniz gerekir. zirveye ulaştınız mı? Aşağıdan mı? Örneğin, son tik 0.7776 iken şimdiki tik 0.7778 olabilir mi? Bu durumda fiyatın 0.7777 değerine eşitliğini yakalayamazsınız... Yani istenen değerin kesişimi için geçmiş değer ile mevcut değeri kontrol etmeniz gerekir. Buna göre, son kene değerini saklamanız ve mevcut olanın değerini bilmeniz gerekir. Yani - işaret değerini elde etmek ve değerini hatırlamak için bir fonksiyona ihtiyacınız var, böylece daha sonra bir şeyle karşılaştırabilirsiniz - üç fiyat: son işaret, mevcut işaret ve gerçekte geçilen fiyat.

Daha ileri. Fiyatın ihtiyacınız olan değeri hangi yönde geçmesi gerektiğini bilmemiz ve buna göre istenen türde bekleyen emri istenen fiyata yerleştirmemiz gerekiyor.

Yerleştirmek için, mevcut fiyattan yerleştirme fiyatını hesaplamanız, bekleyen bir emir vermek için alınan mesafeyi StopLevel değeriyle karşılaştırmanız ve ortaya çıkan mesafe bu değerden azsa, o zaman: a) Emri ayarlamanız gerekir. 130 hatası almamak için yerleştirme mesafesi ve sipariş verin veya b) kurulum mesafesi StopLevel değerinden büyük olduğunda bekleyin (her tikte alınması gereken değişken bir spread ile), fiyatın şu anda olup olmadığına bakın belirtilen seviyeyi çoktan geçmiş olan doğru değer - yani, bir emir vermek için bu seviyeden ayrılıp ayrılmadığı veya trenin zaten terk edip etmediği.

Ayrıca, sırayla StopLevel değerinden daha az olmaması gereken bekleyen emrin stop ve take değerlerini de hesaplamanız gerekir (gerekirse bunları ayarlayın).
Tüm kontroller geçilirse, bekleyen bir sipariş vermek için sunucuya bir sipariş göndermeniz, bir yanıt almanız gerekir - yanıtta bir hata varsa, işleme alın (bir işlev de gereklidir)...

Bu gecikmeler içindir.

Bir pozisyonu kapatmak yaklaşık olarak aynıdır - kesişimi belirlemek, bir ticaret talebi göndermek ve bir hata durumunda sunucunun yanıtını işlemek.


Tüm bunlar için 4-6 sıraya sığarsanız, o zaman... madalya depoda hile katında... ;)

 
Bu açıklamadan sonra daha az acemi programcı olduğunu hissediyorum)))
 
Andrey Koldorkin :
Bu açıklamadan sonra daha az acemi programcı olduğunu hissediyorum)))
 

beyler para biriminde (.e) ne için lütfen açıklayın

 
bir kod parçasına ihtiyacınız var - belirli bir başabaş noktasından ve fiyattan belirli bir girinti ile çalışmaya başlayan güvenilir bir çoklu para birimi takip eden durdurma
 
Vitaliy29 :
bir kod parçasına ihtiyacınız var - belirli bir başabaş noktasından ve fiyattan belirli bir girinti ile çalışmaya başlayan güvenilir bir çoklu para birimi takip eden durdurma

Şuna bakın, http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=62

Автоматизация торговли на финансовых рынках - Скачать e-Trailing2.rar
  • www.kimiv.ru
Оглавление файлового архива  Разработки на MQL4 Советники   Новая улучшенная бесплатная версия "кимовского трала". Добавлен параметр Magic, позволяющий более гибко отбирать сопровождаемые позиции, а также разделены параметры трала для покупок и продаж. Кроме того, вместо параметра ProfitTrailing теперь используется TrailingStart. Это почти то...
 
Artyom Trishkin :

Bu soruyu istiyor musunuz:

1) belirli bir değere ulaştığında bekleyen bir emir açın (yani fiyat 0.7777 ise, bekleyen bir emir açın)

2) herhangi bir değere ulaştıysa emri (piyasa) kapatın (yani fiyat 0.6666 ise emri kapatın)

4-6 kod satırında cevap aldınız mı?

"Orada yapılacak ne var? Birkaç satır için Delov ... Ne yüz dolar ???" yazan müşterilerden biri misiniz?

tanımlayalım:

Önce fiyatın 0.7777'ye ulaştığını belirlemeniz gerekir. zirveye ulaştınız mı? Aşağıdan mı? Örneğin, son tik 0.7776 iken şimdiki tik 0.7778 olabilir mi? Bu durumda fiyatın 0.7777 değerine eşitliğini yakalayamazsınız... Yani istenen değerin kesişimi için geçmiş değer ile mevcut değeri kontrol etmeniz gerekir. Buna göre, son kene değerini saklamanız ve mevcut olanın değerini bilmeniz gerekir. Yani - işaret değerini elde etmek ve değerini hatırlamak için bir fonksiyona ihtiyacınız var, böylece daha sonra bir şeyle karşılaştırabilirsiniz - üç fiyat: son işaret, mevcut işaret ve gerçekte geçilen fiyat.

Daha ileri. Fiyatın ihtiyacınız olan değeri hangi yönde geçmesi gerektiğini bilmemiz ve buna göre istenen türde bekleyen emri istenen fiyata yerleştirmemiz gerekiyor.

Yerleştirmek için, mevcut fiyattan yerleştirme fiyatını hesaplamanız, bekleyen bir emir vermek için alınan mesafeyi StopLevel değeriyle karşılaştırmanız ve ortaya çıkan mesafe bu değerden azsa, o zaman: a) Emri ayarlamanız gerekir. 130 hatası almamak için yerleştirme mesafesi ve sipariş verin veya b) kurulum mesafesi StopLevel değerinden büyük olduğunda bekleyin (her tikte alınması gereken değişken bir spread ile), fiyatın şu anda olup olmadığına bakın belirtilen seviyeyi çoktan geçmiş olan doğru değer - yani, bir emir vermek için bu seviyeden ayrılıp ayrılmadığı veya trenin zaten terk edip etmediği.

Ayrıca, sırayla StopLevel değerinden daha az olmaması gereken bekleyen emrin stop ve take değerlerini de hesaplamanız gerekir (gerekirse bunları ayarlayın).
Tüm kontroller geçilirse, bekleyen bir sipariş vermek için sunucuya bir sipariş göndermeniz, bir yanıt almanız gerekir - yanıtta bir hata varsa, işleme alın (bir işlev de gereklidir)...

Bu gecikmeler içindir.

Bir pozisyonu kapatmak yaklaşık olarak aynıdır - kesişimi belirlemek, bir ticaret talebi göndermek ve bir hata durumunda sunucunun yanıtını işlemek.


Tüm bunlar için 4-6 sıraya sığarsanız, o zaman... madalya depoda hile katında... ;)

"Sen yazan müşterilerden birisin -" Evet, yapacak ne var? Birkaç satır için iş ... Ne kadar yüz dolar ??? "". Hayır, ben o insanlardan değilim ve neden benim müşteri olduğum fikrine kapıldığını anlamıyorum. Bu programda ustalaşmak istiyorum. Danışman hakkında fikirlerim var, uygulanmasındaki problemler sadece teknik (ve problemlerin çok büyük olduğunu iddia etmiyorum), ama “beni her şeyi programla ve ben de saban süreyim” gibi bir şey söylemeye çalışmadım. sadece kâr ile”. Tam tersine temelden başladım ve ilk Uzman Danışmanımı kendim yazmak istiyorum. Herhangi bir doğruluğu hesaba katmadan çok basit bir örneğe ihtiyacımız olduğunu da yazdım (çok önemli olduklarını anlasam da) ama bir yerden başlamamız gerekiyor. Sorduğum şeye bakmanın bir profesyonel için acı verici olacağını biliyordum, ama bildiğim tek şey bu olana kadar hiçbir şey yapamadım. Böyle bir kod parçasını if else ifadesini ve OrderSend (OrderClose) işlevini ve benim için işe yaramayan diğer bazı şeyleri kullanarak yazabileceğinizi düşündüm. Bir sürü karmaşık terim yazdın, bu yüzden bana hiçbir şey yapamayacağımı ve programlamada bir loshara olduğumu söyledin, ama bunu zaten biliyorum. Umarım şimdi beni küstah biri olarak görmezsiniz ve sadece öğrenmeye devam etmek istediğimi anlarsınız. Ama haklısın, umarım bir uzlaşma sağlanmıştır.
 
maxon777 :
"Sen yazan müşterilerden birisin -" Evet, yapacak ne var? Birkaç satır için iş ... Ne kadar yüz dolar ??? "". Hayır, ben o insanlardan değilim ve neden benim müşteri olduğum fikrine kapıldığını anlamıyorum. Bu programda ustalaşmak istiyorum. Danışman hakkında fikirlerim var, uygulanmasındaki problemler sadece teknik (ve problemlerin çok büyük olduğunu iddia etmiyorum), ama “beni her şeyi programla ve ben de saban süreyim” gibi bir şey söylemeye çalışmadım. sadece kâr ile”. Tam tersine temelden başladım ve ilk Uzman Danışmanımı kendim yazmak istiyorum. Herhangi bir doğruluğu hesaba katmadan çok basit bir örneğe ihtiyacımız olduğunu da yazdım (çok önemli olduklarını anlasam da) ama bir yerden başlamamız gerekiyor. Sorduğum şeye bakmanın bir profesyonel için acı verici olacağını biliyordum, ama bildiğim tek şey bu olana kadar hiçbir şey yapamadım. Böyle bir kod parçasını if else ifadesini ve OrderSend (OrderClose) işlevini ve benim için işe yaramayan diğer bazı şeyleri kullanarak yazabileceğinizi düşündüm. Bir sürü karmaşık terim yazdın, bu yüzden bana hiçbir şey yapamayacağımı ve programlamada bir loshara olduğumu söyledin, ama bunu zaten biliyorum. Umarım şimdi beni küstah biri olarak görmüyorsunuz ve sadece öğrenmeye devam etmek istediğimi anlıyorsunuz. Ama haklısın, umarım bir uzlaşma sağlanmıştır.

Kimse sana "loshara" demedi, boşuna öylesin. Ancak 4-6 satırlık kod da şaşırtıcıdır - sonuçta, bir kişi bir şey öğrendiğine göre, zaten bir şey denemeli, zaten bir şeyler yazmaya çalıştı ve bunu 4-6 satırda açıkça görüyor. Uyum sağlamak.

Ne yapmaya çalıştığınızı gösterin - anlamaya çalışın.

Alternatif, basitleştirilmiş bir versiyon sunabilirim - belirli bir seviyenin fiyat geçişini tiklerle aramayın, ancak MA (1) ile arayın - o zaman 1. çubukta MA ve 0 çubuğunda MA geçiş göstergesi olarak hizmet edecektir. ihtiyacınız olan seviye.

 
Sahet.Sh :

beyler para biriminde (.e) ne için lütfen açıklayın

Bu komisyoncu için bir sorudur, destek ile iletişime geçmekten çekinmeyin. .e eklerinin onun için tam olarak ne anlama geldiğini yalnızca o bilir. Bu onun kararı. Genel olarak, döviz çiftleri ve diğer enstrümanların adlarındaki son ekler (ayrıca önekler) herhangi bir anlama gelebilir: yani - anında yürütme yürütme, m - piyasa yürütme , nokta - teklif ve komisyonda beş karakter, _OP - ikili opsiyon ticareti için bir araç ,. .. Ama, elbette, bu sadece komisyoncu kararıdır, tanıttığı notasyonun anlamını açıklığa kavuşturmak için son çaredir.