"Yeni Başlayanlar için MQL5’te Uzman Danışman Yazmak İçin Adım Adım Açıklamalı Kılavuz" makalesi için tartışma - sayfa 7

 
Renat:

Başlatılmamış (veya eksik) değişkenler (özellikle yapılar) kullanmak programlamada çok yaygın bir hatadır.

Dostum, bu (1) beyninizin yıkandığı ve (2) bunun için minnettar hissettiğiniz tek Rusça kaynak :))

1,5 yıldır değişkenlerin başlatılması gerektiğini biliyorum; 1,5 yıldır kasıtlı olarak "yapı tipi değişken" ifadesini kullanıyorum; ancak 1,5 yıldır sadece Mqltraderequest tipi değişkenin ayrı (zorunlu) alanlarına değer atıyorum, çünkü Referans Kılavuzu "zorunlu alanlar her işlem için belirtilmelidir " diyor ....

 
papaklass:
Renat, eğer sen (MQ) "bellek ve değişkenlerle çalışma" üzerine bir makale ya da bir dizi makale yayınlarsan çok iyi olur. Genel olarak, bellek ve değişkenlerle çalışmanın doğru yolu nedir? Şampiyonada birkaç EA'nın yüksek bellek tüketimi nedeniyle diskalifiye edilmesinden sonra, bu makaleler uygun olacaktır. Rosh bir başlıkta kullanıcıların ilgilendikleri makaleleri sipariş etmeleri gerektiğini yazdı, ancak bu başlığı bulamadım, bu yüzden buraya yazıyorum.
Evet, bu konuyla ilgili bir makale okumak ilginç olurdu. Şampiyonada bazı katılımcıların neden bu kadar çok bellek kullanan uzmanlara sahip olduğu ve böyle bir durumdan nasıl kaçınabileceğiniz çok ilginç. Ben böyle bir sorun yaşamadım ama bu tamamen rastlantısal. Yani neden benim başıma gelmediğini bilmiyorum ama gelirse ne yapacağımı bilmek isterim.
 
Her şeyden önce, bellek tüketimi gösterge çağrılarıyla ilgilidir. Farklı semboller / tpymframes üzerinde düzinelerce göstergenin tutamaçlarını oluşturmadan önce, bunun için ne ödeyeceğinizi düşünün. Yardımcı göstergeler için bellek tüketimini azaltma makalesini önerebilir ve diskalifiye edilen katılımcılardan birinin röportajını okuyabilirim - Atsushi Yamanaka (alohafx) ile röportaj.
Интервью с Ацуси Яманака (alohafx) - Automated Trading Championship 2011
  • championship.mql5.com
Что общего между трейдингом, скайдайвингом, фьючерсами, Гавайями, переводами и шпионами? Мы тоже не знали, пока не пообщались с дисквалифицированным участником Ацуси Яманака (alohafx). Его кредо - ''Life is Good! - Жизнь прекрасна!'', и с этим трудно не согласиться. Было интересно узнать, что расстояние между разными континентами - не помеха в общении участников нашего Чемпионата.
 

Neden S/L'yi 5'e sıktığınızda (5 pip olması gerekiyordu)

Aşağıdakilere sahibim

Dosyalar:
Capture.PNG  8 kb
 
statarb:

Neden S/L'yi 5'e sıktığınızda (5 pip olması gerekiyordu)

Aşağıdakilere sahibim

İşlem talebi göndermeden önce bir sembol için Durdurma Seviyelerini(SYMBOL_TRADE_STOPS_LEVEL) kontrol etmelisiniz. SL/TP, kapanış için mevcut fiyata bu mesafeden daha yakın olmamalıdır. Bu özelliği elde etmek için örnek:

int StopLevel_Distance=(int)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL);
double SL=... // hesaplama ile yeni SL elde edin
//--- mevcut hesaplanan Zarar Durdurma seviyesini kontrol edin
if(SL>SymbolInfoDouble(_Symbol,SYMBOL_ASK)-StopLevel_Distance*_Point) 
   SL=SymbolInfoDouble(_Symbol,SYMBOL_ASK)-StopLevel_Distance*_Point;
//... pozisyon için SL'yi değiştirin
 

Teşekkürler, ancak ne SL'm ne de TP'm gerçekleştirilmiyor. Derleyici "Terminal "de bunlar "0.00" veya "0.0" olarak listeleniyor Her neyse, tüm emirler için genel bir stoploss vermek imkansız. Ve henüz parametre değerlerini "dışarıdan", yani editördeki kodu değiştirmeden değiştirmeyi başaramadım.

Aksi takdirde harika çalışıyor! Ve yorumlar çok yardımcı oluyor!

Tekrar teşekkürler,

locan BBS

.locan.BBS:

 

Merhaba Olowsam,

Bu adım adım rehber için teşekkürler. Bana yardımcı olabileceğinizi umduğum birkaç sorum var.

Talimatlarınızı harfiyen uyguladım ancak istediğim sonuca ulaşamadım. Öncelikle, Meta Trader 5.00, Build 6.55'in (6 Haziran 2012) en son sürümü ile çalışıyorum. Birkaç farklılık fark ettim, bunlardan ilki MQL5 sihirbaz şablonunun notlarınızda gösterdiğinizden daha fazla seçeneğe sahip olması. Her şekilde, programın tam olarak tarif ettiğiniz gibi olmasını sağladım. Derledim. Hiçbir sorun yok. Sıfır hata. OnTick alt yordamına notlarınızda önerildiği gibi 5 hata ayıklama kesme noktasının tümünü eklemeyi başardım. Yeşil Çalıştır düğmesine tıklayınca HİÇBİR ŞEY olmuyor. Programın yürütülmesi bu noktaya ulaşmıyor. Neden? Ne oluyor? Hata ayıklama kesme noktalarını OnInit alt programının başlangıcına, örneğin adzHandle=iADX9Null,0,ADX_Period) satırına eklersem, bu tamamdır. Hata ayıklama STEP sekmeleri yanıyor ve bu kontrolü OnInit alt öğesinin sonuna kadar tek adımda çalıştırabiliyorum. Ancak, bundan sonra yine hiçbir şey yok. Kısacası, OnTick alt öğesine ulaşamıyorum. Ne oluyor ve neden? Bu Meta Trader sisteminin işleyişinde bilinen bir hata mı? Bu sorunu nasıl çözebilir ve devam edebilirim?

Umarım yukarıdakiler yaşadığım sorunu açıklar ve neler olup bittiğini görebileceğinizi ve yardımcı olabileceğinizi umuyorum.

Teşekkürler.

Saygılarımla

Kishor

 

Hey, harika makale,

Tüm kodu ilerledikçe yazdım ve sonunda herhangi bir derleme hatası almadım, bu yüzden iyi açıklanmış olmalı. Metatrader5 / mql5 sistemini ilk kez kullanmak için iyi bir egzersiz.

Grafiğin yukarı doğru gitmesini sağlamak için bazı optimizasyonlar yapmam gerekebilir :D

En iyi dileklerimle, teşekkürler!!!

Mike

 

Merhaba,

Bu makalenin kodlama stilini gerçekten beğendim, okuması ve takip etmesi çok kolay. Sakıncası yoksa sadece bir isteğim var, bu örnekle takip eden stopların nasıl uygulanacağına dair bir örnek de verebilir misiniz?

Çok teşekkür ederim!

 
Harika bir rehber için çok teşekkür ederim!