Herhangi bir şekilde işe yarayacak bir kod parçasıyla başlayacağım (M5 zaman çerçevesiyle çalışmayı, hesaplamalar yapmayı ve her 5 dakikada bir karar vermeyi planlıyorum):
tarih saatini dt olarak içe aktar
class date_time(dt. datetime ): ''' Класс описывает отсчёт даты и времени. Представляет собой расширение класса datetime библиотеки datetime . ''' @property def M5_view(self): minute = (self.minute// 5 )* 5 if minute < 10 : _minute = ' 0 '+str(minute) else : _minute = str(minute) return self.strftime('%Y%m%d%H')+_minute @property def nice_view(self): return self.strftime('%Y.%m.%d %H:%M:%S') def __str__(self): return self.M5_view def __repr__(self): return self.__str__()
Bu sınıf sayesinde, neler olup bittiğini kaydetmek uygun olacaktır.
Örneğin, şöyle bir şey yazın:
dt_stamp_read = ... print('\n'+date_time.now().nice_view, '- начал работу, планирую прочитать файлы с ценами в {}'.format(dt_stamp_read.nice_view))
ve şöyle bir çıktı alın:
2021.12 . 11 22 : 41 : 23 - начал работу, планирую прочитать файлы с ценами в 2021.12 . 11 22 : 45 : 30
Ayrıca ihtiyacınız olacak:
class Bar: ''' Класс описывает бар, то есть структуру данных, удобную для описания изменения цен финансовых инструментов на интервалах времени. ''' def __init__(self, instrument, time_frame, time_close, price_open, price_low, price_high, price_close, pips_value): self.instrument = instrument self.time_frame = time_frame self.time_close = time_close self.time_open = self.time_close - dt.timedelta(minutes=self.time_frame) self.price_open = price_open self.price_low = price_low self.price_high = price_high self.price_close = price_close self.w = pips_value def __str__(self): str1 = '(Bar: instrument={} time_frame={} time_open={} time_close={}\n' str2 = 'open={} low={} high={} close={} pips_value={})' return (str1+str2).format(self.instrument, self.time_frame, self.time_open.M5_view, self.time_close.M5_view, self.price_open, self.price_low, self.price_high, self.price_close, self.w) def __repr__(self): return self.__str__()
buradaki yazı tipi tek aralıklı değil, bu nedenle biçimlendirme nokta değil, görsel olarak biraz kapalı
Lütfen kodu doğru girin: önce düğmeye basın tıklayın ve ardından kodu açılır pencereye yapıştırın .
Birinden basit (açıkça kârsız, asıl mesele değil) bir ticaret stratejisi önermesini istiyorum.
Mesaj aklı başındaysa, yani yapılması gerekenleri az çok net bir şekilde belirtecekse, burada, bu başlıkta, bu stratejiyi kullanarak alım satımı Python dilinde uygulayacağım.
Bekliyorum )
MT5 ile sağlanan standart MACD Expert Advisor'ı yeniden yazın. Her aşamada kontrol etmek uygun olacaktır.
Daha spesifik olarak, önerilen test-optimizasyon yöntemi hakkında bir soru soracağım. Kendi kendine yazılmış veya üçüncü taraf python test cihazı? Dosyalar, soketler vb. aracılığıyla MQL5 ile entegrasyon?
Python ile ticaret iyidir..
Ancak python, veri analizi için iyi bir araçtır, ancak ticaret için değildir.
MACD seçeneğini düşünürsek, o zaman python'da:
- alıntıları indirmek kolay;
- MACD verilerini hesaplamak kolay;
Ayrıca, her yeni çubukta geçerli koşulu alın, örneğin: MACD değeri ve sinyal çizgisi, yavaş ve hızlı çizgilerin dikliği, fiyatın yavaş olandan uzaklaşması..
Koşul geçmişi boyunca çalıştırın ve belirli bir süre için belirtilen oluşum için artı/eksi istatistiklerini döndürün. Diğer her şey (açma/kapama/işlemleri sürdürme) MQL'de yapılır.
Bir test cihazı icat etmenize gerek yok - hazır bir tane var.
Python'da, SQLite'da tırnak ve göstergelerin depolanması. Soket, dosyalar veya veritabanı aracılığıyla MQL-python iletişimi (soket daha iyidir).
Herşey..
Python - yalnızca analiz sonuçlarını 2d (3d) grafikler şeklinde görüntüleme konusunda zengin bir yeteneğe sahip veri analizi için.
copy_rates_from , eksiksiz bir veri analizi için yeterli değildir. Gösterge verilerini (kullanıcı verileri dahil) çıkarmak mümkün olsaydı, analiz halkası kapatılırdı.
Ve bir piton aracılığıyla ticaret yapmak, IMHO, MQL5'te bir PR hareketidir.
Burada, bu başlıkta Python'da bu stratejiyi kullanarak ticaret yapıyorum.
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Birinden basit (açıkça kârsız, asıl mesele değil) bir ticaret stratejisi önermesini istiyorum.
Eğer mesaj mantıklıysa, yani yapılması gerekenleri az çok net bir şekilde belirtecekse, burada, bu başlıkta, bu stratejiyi kullanarak alım satımı Python dilinde uygulayacağım.
Bekliyorum )