Neden Kod Tabanında Tam EA YOKTUR? - sayfa 4

 

EA seçenekleri olarak eklenecek bazı şeyler:

- benzersiz sihirli sayı hesaplaması, komisyoncu sembol adını değiştirdiğinde (örneğin "EURUSD" yerine "EURUSD.m" olarak) aynı sonucu vermek için kusursuz olabilir

- sipariş yönetimi seçenekleri (sondaki durma, başabaş (bunlar pip veya psar, x bar yüksek/düşük, ma, vb. gibi diğer değerler), sipariş kapanışı)

- sipariş biletine göre kapsamlı sipariş bilgisi işleme (bunun için bir metin (veya csv) dosyasının en basit ve uygun yol olduğu görülüyor). GV sınırlıdır, OrderComment() aracı tarafından değiştirilebilir.

 
IsNYOnDst üzerine inşa etmek
 datetime TimeSrvToNY( datetime timeSrv=EMPTY){       // Server time to NY time
   if (timeSrv == EMPTY) timeSrv = timeCur_srv;
       #define NY_TZ_STD - 5                    // NY is UTC-5 (STD) or UTC-4 (DST)
   int utcToNY = NY_TZ_STD + IsNYonDST(timeSrv);
   return (TimeSrvToUTC(timeSrv) + utcToNY * 3600 );   // Previous called TimeGMT
}
datetime TimeNyToSrv( datetime timeNY){
   int utcToNY = NY_TZ_STD + IsNYonDST(timeNY);
   return ( TimeUtcToSrv(timeNY - utcToNY * 3600 ) ); // Previous called TimeServer
}
 
WHRoeder , indirme bağlantısını güncelliyor musunuz yoksa bu başlıkta sağladığınız tüm güncellemelerle WHRea kaynağına manuel olarak "yama" eklememiz mi gerekiyor?
 
Gönderileri birkaç günlük olduklarında güncelleyemezsiniz.
 
Anlıyorum.. O zaman lütfen en güncel halini buraya tekrar gönderir misiniz?
 
mbirrell :

Özel göstergelerimi ve EA'larımı paylaşma konusunda biraz endişeliyim çünkü yapsaydım ve herkes bunları kullanmaya başlasaydı, artık çalışmazlardı... Başka kimse aynı fikirde mi?

Bunun biraz bencilce geldiğini biliyorum... ama 5 milyona ulaştığımda paylaşacağım ;-)

Aslında herkes Ea'nızı kullansaydı, piyasa fiyatı ya sıfır ya da sonsuz olur. Herkes aynı anda almak veya satmak isteyecektir.
 

Merhaba arkadaşlar, MQL4 eğitimindeki örnek sadece basit ve genel bir çözüm istiyorsak yeterli mi?

EA ticaretim ve kene başına değil, çubuk başına hesaplama yapıyorum.


int Fun_Error(int Error) // Hataları işleme fonksiyonu
{
geçiş (Hata)
{ // Önemli olmayan hatalar
case 4: Alert("Ticaret sunucusu meşgul. Tekrar deneniyor..");
uyku(3000); // Basit çözüm
dönüş(1); // fonksiyondan çık
case 135:Alert("Fiyat değişti. Tekrar deneniyor..");
Yenileme Oranları(); // Yenileme oranları
dönüş(1); // fonksiyondan çık
case 136:Alert("Fiyat yok. Yeni bir onay işareti bekleniyor..");
while(RefreshRates()==false) // Yeni bir onay işaretine kadar
Uyku(1); // Döngüde duraklat
dönüş(1); // fonksiyondan çık
case 137:Alert("Broker meşgul. Tekrar deneniyor..");
uyku(3000); // Basit çözüm
dönüş(1); // fonksiyondan çık
case 146:Alert("İşlem alt sistemi meşgul. Tekrar deneniyor..");
Uyku(500); // Basit çözüm
dönüş(1); // fonksiyondan çık
// Kritik hatalar
durum 2: Alert("Genel hata.");
dönüş(0); // fonksiyondan çık
case 5: Alert("Eski terminal versiyonu.");
İş=yanlış; // İşlemi sonlandır
dönüş(0); // fonksiyondan çık
case 64: Alert("Hesap bloke edildi.");
İş=yanlış; // İşlemi sonlandır
dönüş(0); // fonksiyondan çık
case 133:Alert("Ticaret yasaktır.");
dönüş(0); // fonksiyondan çık
case 134:Alert("İşlemi yürütmek için yeterli para yok.");
dönüş(0); // fonksiyondan çık
varsayılan: Alert("Hata oluştu: ",Hata); // Diğer varyantlar
dönüş(0); // fonksiyondan çık
}
}

 

Bu, gerçekten iyi bir EA Shell/Template'in temeli olabilir: WHR, deneyimli bir MT kodlayıcıdır.

Başlangıçta yararlı bir EA kodu kaynağı olarak tasarlandı, bir "tak ve çalıştır" Shell değil.

Bu EA'yı birkaç şekilde güncelledim:

1. Sözdizimini, değişken adlarını, MQL4'ün güncel sürümlerinde derlenmesi için değiştirdim.
Ayrıca derlenmesi için çok küçük değişiklikler eklendi, "Big Be" ile yorumlandı.

2. WHR'nin diziye koyduğu tüm ek kod bölümlerini dahil etti.
Yerinde bıraktım ama değiştirilen bölümleri yorumladım.
Mümkün olduğunca dikkatli olmama rağmen, bu bölümleri eklerken hatalar olabilir.
EA'nın geri kalanıyla tam entegrasyon eksikliği de mümkündür.

3. Ayrıca, okunabilirlik için metin biçimini temizleyen bir program aracılığıyla çalıştırdım.

Strateji Test Cihazında çalışmaya başlayacaktır.
Giriş kuralları kurulumu size bırakıldığı için işlem yapmayacaktır.
Zamanımla ilgili başka taleplerim olduğu için daha ileri götürmedim.

GEREKLİ İŞ:
Baştan sona yorumlar olmasına rağmen, birçoğunun açıklığa kavuşturulması gerekiyor. Ya da yoksa yazmak. Her bölüm veya işlev ne yapar?
Bir Örnek: CallAgain(), "İşe yaramaz keneleri atla" diyor. Yöntem veya mantık nedir? Bir İzleyen Durdurma varsa, muhtemelen yalnızca yeterince uzakta olan ve / veya ticaret yönünde olan keneler alıyor, ancak doğrulamak için biraz çalışma gerekecek.

Bunu yapmak, bir fikir kaynağı olarak rolünü daha iyi yerine getirmesini sağlayacak ve ayrıca bir EA kabuğu / şablonu olarak işlenebilirliği sağlayacaktır.

DAHA FAZLA TEST:
Bazı giriş kuralları ekleyin ve her bölümün yapması gerekeni yapıp yapmadığını test edin. Bu, Strateji Test Cihazında çok fazla çalışma gerektirir. Ve muhtemelen, olması gerekeni yapmasını sağlamak için burada ve orada bazı kodlamalar. Orada çalıştığında, bir demo hesabı üzerinde çok fazla test yapılır.

UYARILAR:
En az bir işlev eksik ve bu kodda hatalar olabilir veya izin verilmeyen whrea yazıldığından beri Metatrader'da değişiklikler olabilir.

Bir EA'yı anlamadan kodlamak / kullanmak, tüm kontrolleri ve nasıl kullanılacağını anlamadan bir jeti uçurmaya çalışmak gibidir.
Ama dilediğini yap: bu senin paran.

RİCA ETMEK
Gerekli geniş bilgiye ve biraz zamana sahipseniz lütfen yardım edin.


Büyük Ol (BigBe)

Dosyalar:
whrea_v1.2.mq4  188 kb
 
William Roeder :

Lütfen pips2dbl'nin ne olduğunu açıklar mısınız?

 
Pooya Khamooshi : Lütfen pips2dbl'nin ne olduğunu açıklar mısınız?

PIP'leri bir onay işaretine dönüştürmek için.

Bir PIP, bir Nokta veya Kene değildir.
TİCK nedir? - MQL4 programlama forumu

Point'i kullanmak, 4 haneli brokerler, egzotikler (örneğin, yayılmanın 500 puanın üzerinde olduğu USDZAR) ve metallerde kod kırma anlamına gelir. Bir PIP'nin ne olduğunu hesaplayın ve puanları değil onu kullanın.
JPY çiftleri parametrelerle nasıl yönetilir? - MQL4 programlama forumu
Endeks noktalarında tanımlanan kayma - Döviz Çiftleri - Uzman Danışmanlar ve Otomatik Ticaret - MQL5 programlama forumu

Neden: