Geliştiriciler için sorular:
1. Neden başka sinyaller kullanamıyorum?
Örneğin,"İki EMA'nın kesişimine dayalı sinyaller"
https://www.mql5.com/ru/forum/2935/page1
2. Sinyal kütüphanesi yenilenecek mi?
3. "Sihirbaz "ı kullanarak kendi sinyal sınıflarınızı oluşturmak mümkün olacak mı?
4. "Sihirbaz "ı kullanarak gösterge dizilerine dayalı Göstergeler oluşturmak mümkün olacak mı?
5. Oluşturulan stratejinin / göstergenin doğrudan sihirbazda daha fazla ayarlanması için sihirbaz ayarlarını kaydetmek mümkün olacak mı?
Benim görüşüme göre, maddeler. 3-5 "programcı olmayan" tüccarların hayatını çok daha kolay hale getirecektir.
Ve tam bir "fantezi", Excel'de denklem yazmak gibi sihirbazın yardımıyla herhangi bir gösterge için kendi sinyal kasetlerinizi oluşturma yeteneği olacaktır :)
Metaquots ve CQG'de uygulandığı gibi.
- www.mql5.com
//+------------------------------------------------------------------+ //| Satış koşulunun karşılanıp karşılanmadığını kontrol etme | //| INPUT:Hiçbiri| //| ÇIKIŞ: 0'dan 100'e kadar ses ağırlığı| //| REMARK: Hayır.| //+------------------------------------------------------------------+ int CInnerBarSignal::ShortCondition(){ //--- koşul kapalı önceki çubuk tarafından kontrol edilir Print("call short condition"); if( Low(1) < Low(2) && High(2)<High(3) && Low(2)>Low(3) && Close(3)<Open(3) ){ return(100); } //--- koşul karşılanmadı return(0); }
Oluşturulan EA' yı "tüm keneler" modunda çalıştırırken, işlevin çubuk açılışında iki kez gerçekleştirildiğini görebilirsiniz
2011.06.07 11:42:15 Core 1 bağlantı kapatıldı
2011.06.07 11:42:15 Core 1 günlük dosyası "D:\metatrader5\Tester\Agent-127.0.0.1-3000\logs\20110607.log" yazıldı
2011.06.07 11:42:15 Core 1 EURUSD,H1: 62 ms içinde 72504 tik (24 çubuk) oluşturuldu (geçmişteki toplam çubuk sayısı 8814, toplam süre 312 ms)
2011.06.07 11:42:15 Core 1 OnTester sonucu 0
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 23:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 23:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 22:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 22:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 21:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 21:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 20:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 20:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 19:00:00 çağrı kısa koşulu
Bu şekilde mi tasarlandı ve sinyal modülünde postik işleme mevcut değil mi?
- 2010.12.15
- MetaQuotes Software Corp.
- www.mql5.com
Kendi sinyal modülümü yazıyorum, içinde test işlevi aşağıdaki gibidir:
Oluşturulan EA' yı "tüm keneler" modunda çalıştırırken, işlevin çubuk açılışında iki kez gerçekleştirildiğini görebilirsiniz
2011.06.07 11:42:15 Core 1 bağlantı kapatıldı
2011.06.07 11:42:15 Core 1 günlük dosyası "D:\metatrader5\Tester\Agent-127.0.0.1-3000\logs\20110607.log" yazıldı
2011.06.07 11:42:15 Core 1 EURUSD,H1: 62 ms içinde 72504 tik (24 çubuk) oluşturuldu (geçmişteki toplam çubuk sayısı 8814, toplam süre 312 ms)
2011.06.07 11:42:15 Core 1 OnTester sonucu 0
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 23:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 23:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 22:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 22:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 21:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 21:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 20:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 20:00:00 çağrı kısa koşulu
2011.06.07 11:42:15 Çekirdek 1 2011.06.02 19:00:00 çağrı kısa koşulu
Bu şekilde mi tasarlandı ve sinyal modülünde postik işleme mevcut değil mi?
Varsayılan olarak, Uzman Danışman açılış fiyatlarında çalışmak üzere Sihirbaz tarafından oluşturulur.
Uzman Danışmanın kaynak kodunda, yerine:
//--- Uzman başlatılıyor if(!Ext_Expert.Init(...,...,false,...))
ile değiştirin:
//--- Uzman başlatılıyor if(!Ext_Expert.Init(...,...,true,...))
2011'in başında, Wizard MQL5'in ilk sürümünü yayınladık. Bu adım, yatırımcılara ticaret robotlarının otomatik olarak oluşturulması için basit ve net bir araç sağladı. Herhangi bir MetaTrader 5 kullanıcısı, MQL5'te nasıl programlanacağını bilmeden kendi Uzman Danışmanını yazabildi.
Bu iyi, ancak yeni başlayanların kendi robotlarını yazmaları yeterli değil, yani bunları yazabilirsiniz, ancak yalnızca kitaplığınızı kullanarak. Ve yeni başlayan birinin kendi sinyalleriyle bir Uzman Danışman yazması gerekiyorsa? İşte buradayız...
Yeni başlayanların kendi Uzman Danışmanını yazabilmesini istiyorsanız, bir görselleştirici eklemeniz gerekir. Bu, örneğin Trade Navigator'da uygulanmaktadır. Orada bazı grafik bölümlerini seçerek kütüphaneye sinyaller ekleyebilirsiniz. Ve görselleştirici her şeyi kendisi programlama diline aktarır. Ve grafikteki her şeyi, mum çubuklarını, göstergeleri ve grafik çizgilerini dikkate alır. Yani, herhangi bir kütüphane oluşturabilirsiniz. Ve sonra bu sinyallerden herhangi bir Uzman Danışman oluşturabilirsiniz. Bunun için çabalamalıyız.
Saygılarımla!
Bu iyi, ancak yeni başlayanların kendi robotlarını yazmaları için yeterli değil. Yani, elbette yazabilirsiniz, ancak yalnızca kütüphanenizi kullanarak. Peki ya yeni başlayan birinin kendi sinyallerinin uzmanını yazması gerekiyorsa? İşte buradayız...
Yeni başlayanların kendi Uzman Danışmanını yazabilmesini istiyorsanız, bir görselleştirici eklemeniz gerekir. Bu, örneğin Trade Navigator'da uygulanmaktadır. Orada bazı grafik bölümlerini seçerek kütüphaneye sinyaller ekleyebilirsiniz. Ve görselleştirici her şeyi kendisi programlama diline aktarır. Ve grafikteki her şeyi, mum çubuklarını, göstergeleri ve grafik çizgilerini dikkate alır. Yani, herhangi bir kütüphane oluşturabilirsiniz. Ve sonra bu sinyallerden herhangi bir Uzman Danışman oluşturabilirsiniz. Bunun için çabalamalıyız.
Saygılar!
Bu makalelere henüz aşina değil misiniz?
1. MQL5 Sihirbazı: Açık Pozisyonların Bakımı için Kendi Modülünüzü Nasıl Yazabilirsiniz?
2. MQL5 Sihirbazı: Kendi sermaye ve risk yönetimi modülünüzü nasıl yazarsınız?
3. MQL5 Sihirbazı: Yatırım Sinyalleri Modülünüzü Nasıl Yazarsınız?
4. MQL5 Sihirbazı: Programlama Yapmadan Uzman Danışman Oluşturma
Sihirbazda bekleyen emirleri nasıl yerleştireceğimi söyleyebilir misiniz?
Başka bir soru: bu kod doğru mu?
//+------------------------------------------------------------------+ //| Küresel uzman nesnesi| //+------------------------------------------------------------------+ CExpert ExtExpert; CExpert ExtExpert1; //+------------------------------------------------------------------+ //| Uzmanın başlatma fonksiyonu | //+------------------------------------------------------------------+ int OnInit() { //--- Uzman başlatılıyor if(!ExtExpert.Init("GBPCHF",Period(),Expert_EveryTick,Expert_MagicNumber) || !ExtExpert1.Init("GBPJPY",Period(),Expert_EveryTick,Expert_MagicNumber)) { //--- başarısız printf(__FUNCTION__+": error initializing expert"); ExtExpert.Deinit(); ExtExpert1.Deinit(); return(-1); }
Ve bu durumda test cihazında hangi sembol / dönem ayarlanmalı
2011.06.16 10:15:25 Core 1 2011.06.01 00:00:00 CExpert::Init: wrong symbol or timeframe (must be GBPCHF:PERIOD_H1)
Oluşturulan Uzman Danışman'da bir Inp_Signal_PricrLivel parametresi vardır. 2/4 önemli noktada ayarlanmıştır.
Değer 0 - pazara giriş.
0'dan büyük değer - giriş piyasadan daha iyidir (limit emrine göre).
0'dan küçük değer - giriş piyasadan daha kötüdür (durdurma emrine göre).
İkinci soruyu hemen yanıtlamaya hazır değilim.İşte parametreler
//+------------------------------------------------------------------+ //| Girişler| //+------------------------------------------------------------------+ //--- Uzman için girdiler input string Expert_Title ="2"; // Belge adı int Expert_MagicNumber =13179; // bool Expert_EveryTick =false; // //--- ana sinyal için girişler input int Signal_ThresholdOpen =10; // Açılacak sinyal eşik değeri [0...100] input int Signal_ThresholdClose=10; // Kapatılacak sinyal eşik değeri [0...100] input double Signal_PriceLevel =0.0; // Bir anlaşmayı gerçekleştirmek için fiyat seviyesi input double Signal_StopLevel =50.0; // Zararı Durdur seviyesi (puan olarak) input double Signal_TakeLevel =50.0; // Kâr Al seviyesi (puan olarak) input int Signal_Expiration =4; // Bekleyen emirlerin sona ermesi (çubuk cinsinden) input double Signal__Weight =1.0; // InnerBar Ağırlık [0...1.0] //--- para için girdiler input double Money_FixLot_Percent =10.0; // Yüzde. input double Money_FixLot_Lots =0.1; // Sabit hacimSeçeneklerden herhangi birinde piyasaya girebilmek için nasıl işlem yapmalıyım.
Piyasadan daha iyi girmek için (toparlanmada):
input double Signal_PriceLevel =50.0; // Bir anlaşmayı gerçekleştirmek için fiyat seviyesi
Piyasadan daha kötü girmek için (kopuşta):
input double Signal_PriceLevel =-50.0; // Bir anlaşmayı gerçekleştirmek için fiyat seviyesi
Ancak, -50,0 ile 50,0 arasındaki parametre üzerinde 1,0 (5,0) artışlarla optimizasyon çalıştırarak test cihazında bunu alabilirsiniz.
İkinci soruya hemen cevap vermeye hazır değilim.
- Ü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
Yeni makale Yeni Başlayanlar için MQL5 Sihirbazı yayınlandı:
2011'in başlarında MQL5 Sihirbazı'nın ilk sürümünü yayınladık. Bu yeni uygulama, otomatik olarak ticaret robotları oluşturmak üzere basit ve kullanışlı bir araç sağlar. Herhangi bir MetaTrader 5 kullanıcısı, MQL5'te nasıl programlama yapılacağını bile bilmeden özel bir Uzman Danışman oluşturabilir.
Böylece, Uzman Danışmanımız için temel parametreleri özetlemiş olduk. Artık MQL5 Sihirbazında çalışmaya başlayabiliriz. Programı başlatmak için MetaEditor programını açın ve ana menüdeki "Dosya" sekmesinde yer alan "Oluştur" seçeneğine tıklayın. Görüntülenen pencerede "Uzman Danışman Oluştur" seçeneğini seçin:
Yazar: MetaQuotes