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
Başlangıç konusunu destekleyeceğim, birçok kez hem 4 hem de 5 mql aldım ve kişisel olarak sadece ticarette bana faydalı olacak bir dil öğrenmek için çok az arzum olduğunu söyleyeceğim, ...
Eh, boşuna ya da sorunun yanlış anlaşılmasından dolayı sensin. Yine gösterge algoritmaları yazacak mısınız? Volgograd'dan Moskova'ya Vladivostok üzerinden gitmek gibi. Başka bir nüans, tüm göstergeler geçmişi hesaba katar. Onlar. Bir ay için verileri (çubukları) alırsanız, göstergeyi kendi algoritmanıza göre hesaplar ve Terminal ile karşılaştırırsanız, hesaplamalarınız farklı olacaktır.
Ben de anlamıyorum cümleyi.
Yazılanlara dayanarak, Python'u bilen büyük bir insan katmanı olduğu ortaya çıktı :) Pekala, editörü açtım ve zaten python'u biliyorum - çok basit, ama mql açtım - hiçbir şey bilmiyorsunuz.
Aynı zamanda, tamamen platform odaklı olan mql'yi "eski" bir araç olarak adlandırmak için ... python 1991'de yaratıldı ve bu çok daha erken.
Python ile yazılmış bu başlıkta gördüklerim mql'de çok basit bir şekilde uygulanıyor.
---
Hayır, olduğu gibi, konunun genel gelişimi ilginç, ama daha fazlası değil.
Üstelik - TS'nin yazdığı şey - Python'un avantajlarını hiç kullanmaz ve aslında hiç "Python tarzı" değildir. Bir tornavidayla çivi çakmak gibi, çekicin modası geçmiş
Lahana çorbasını höpürdetmek istiyorsanız, ancak yulaf lapası çiğnemek istiyorsanız, evinizde sadece çatal bıçak kaşıklarından şüpheleniyorum ve kullanımı oldukça güvenli.
)))
beğenin, Python kullanın, ancak konu başlatıcı olarak değil - kendi yeni özel veri türlerinizi - çubuklar, vb. oluşturmayın, kendi Mashka hesaplamanızı yazmayın... ancak hazır çözümler kullanın , aksi takdirde bu dili kullanmanın anlamı yok çünkü aynı başarı ile sinir ağları ile çalışmak için kendi paketlerinizi alıp yazabilirsiniz;)
Evet) ve bu arada, Python'da, bu tür tüccara yakın işlevlerin her türü için gerçekten bir İncil yok mu, ya da serinin tam bir istatistik analizini birkaç satırda yazabiliyorsanız, o zaman MA-shka artık gerek yok..)
Evet) ve bu arada, Python'da, bu tür tüccara yakın işlevlerin her türü için gerçekten bir İncil yok mu, ya da serinin tam bir istatistik analizini birkaç satırda yazabiliyorsanız, o zaman MA-shka artık gerek yok..)
En İyi 101 Python algoritmik ticaret Kitaplıkları | PythonRepo
Dün foruma geri dönemedim. Devam edeceğim. Yeni bir demo hesabı açtım ve sonunda '_i' olmayan enstrümanların isimleri var, bu yüzden bu kısımdaki kodu düzelttim.
İşe yarayabilecekler için kademeli ve yavaş hareket, bir tür mikro eğitime devam edeceğim.
Bir değişken n (küçük) tanıtalım - tabiri caizse pencerenin uzunluğu olsun. Yani, fiyatları olan dosyalarda N okuma, örneğin 1000 ve n, örneğin 10 veya 100 veya 288 (zaman çerçevesi M5 ise bir gün) ayarlayalım.
Benim için d değişkeni, bu pencerenin zaman içinde geçmişe kayması anlamına geliyor. d = 0 olsun.
Örneğin, 10 kapanış fiyatı okuması ve 101 mertebesinde SMA (okumalar arasında 50 aralıklarla gecikmeli) görüntüleyeceğiz:
İşin sonucu:
Terminali, piyasada asılı olan akım hakkında, tabiri caizse, enstrümanlarla ilgili anlaşmalar hakkında nasıl sorgulayacağımızı öğrenelim.
bir fonksiyon tanıtacağım
Enstrüman için açık pozisyonların bir listesini almalarına ve bir tuple, vizha (satılacak anlaşmaların sayısı, satın alınacak anlaşmaların sayısı) döndürmelerine izin verin.
Ana işlevde, aşağıdaki parçayı terminal_done () işlevinden önce ekleyin
Çalışmanın sonucu (çıktının güzelliği için n 5'e düşürüldü):
İşlemlerin fiili açılışına başlamayı öneriyorum. Tür: bazıları tarafından fiyat SMA'dan yüksekse: satışa açık, bazıları tarafından SMA'dan düşükse - satın almaya açık.
Birkaç fonksiyon daha öneriyorum: SL ve TP'nin varlığı için açık anlaşmaları kontrol etmek, eğer değillerse, kapatın ve mevcut sonucu (kar veya zarar) pip olarak döndüren bir fonksiyon.
Emir zaten geçmişteyken ve aktif değilken durumu bir şekilde ele almayı unutmayın, ancak henüz pozisyon yok ve bu durumda tekrar açmak için emir göndermeyin.
Böyle bir durum zaman zaman meydana gelir ve örneğin Trade.mqh üzerinden çalışmak bu sorunu çözmez (en azından daha önce çözmedi - Trade.mqh'yi uzun zaman önce terk ettim).
Aynı zamanda tam tersi de olur - kapatma emri zaten geçmişte kaldı, ancak pozisyon hala görülebilir.
Emir zaten geçmişteyken ve aktif değilken durumu bir şekilde ele almayı unutmayın, ancak henüz pozisyon yok ve bu durumda tekrar açmak için emir göndermeyin.
Böyle bir durum zaman zaman meydana gelir ve örneğin Trade.mqh üzerinden çalışmak bu sorunu çözmez (en azından daha önce çözmedi - Trade.mqh'yi uzun zaman önce terk ettim).
Aynı zamanda tam tersi de olur - kapatma emri zaten geçmişte kaldı, ancak pozisyon hala görülebilir.
Açık pozisyonlar için terminalin nasıl sorgulanacağını gösterdim. Hiçbir şey kod yazmanızı engellemez, böylece pozisyon zaten varsa, isteği tekrar göndermeyin, değilse gönderin. Ayrıca, istek gönderme sonuçlarından sonra, özelliklerinde her şeyi içeren bir nesne döndürülür, normal açılıp açılmadığını veya orada hangi hatanın kayıtlı olduğunu görebilir ve bundan devam edebilirsiniz. Burada sorun yok.
En İyi 101 Python algoritmik ticaret Kitaplıkları | PythonRepo
Zaten 104) 105. burada yazıyor)
Şimdiye kadar TradeLogic.py dosyasının tam kodu (evet, ilkel, ancak bazılarının Metatrader 5 ve Python kullanarak ticarete kapı açabileceğinden eminim)
İşin sonucu:
ZY Gösterilen en ilkel, temel kod parçaları, bence, kesinlikle herhangi bir mantığı, herhangi bir hesaplamayı, karşılaştırmayı, açık işlemlerin çeşitli kriterlere göre kontrolünü, belirli koşullar altında otomatik olarak kapatmayı, günlüğe kaydetmenin kesinlikle kolay olduğunu açıkça göstermektedir. , komut satırında olduğu gibi ve dosyalara yazma vb. vs. - herhangi bir kısıtlama olmaksızın herhangi bir şey.
ZY2 Sdelka sınıfını henüz kullanmadım ama genel olarak bu sınıfa ait nesneleri fonksiyonlara geçirmek, .json olarak dosyalara yazmak vs. uygun oluyor - ama nedense biraz yorgunum, isteyenler olur diye düşünüyorum. Anladım, burada bir konuda yardımcı olabilirim. İstenirse, grafik arayüzü vidalayabilirsiniz.
Herkese Python + metatrader5 kitaplığı ile ticaret yapmayı şiddetle tavsiye ederim.
Açık pozisyonlar için terminalin nasıl sorgulanacağını gösterdim. Hiçbir şey kod yazmanızı engellemez, böylece pozisyon zaten varsa, isteği tekrar göndermeyin, değilse gönderin. Ayrıca, istek gönderme sonuçlarından sonra, özelliklerinde her şeyi içeren bir nesne döndürülür, normal açılıp açılmadığını veya orada hangi hatanın kayıtlı olduğunu görebilir ve bundan devam edebilirsiniz. Burada sorun yok.
Bir kez daha: sipariş zaten dolduruldu ve tarihe geçti. Artık aktif değil. Pozisyon zaten açık, ancak henüz görünmüyor, istek onu göstermiyor.
Genellikle bu çok kısa bir zaman aralığıdır ve özellikle her zaman gerçekleşmediği için buna ulaşmak zordur.
Ancak örneğin bir sabah açıklığı ve büyük bir sipariş akışı ile bu durum saniyeler değil dakikalar sürebiliyor.
Daha açık olmak gerekirse: TRADE_TRANSACTION_ORDER_DELETE, TRADE_TRANSACTION_HISTORY_ADD veya TRADE_TRANSACTION_DEAL_ADD'den önce geldi
Ve bir noktada, ne aktif olanlarda ne de tarihte emirleri göremeyebiliriz veya bir emir veya anlaşma görmeyebiliriz.