MQL4'te programlama üzerine çevrimiçi kitabın beta sürümü - Sergey Kovalev (SK.) - sayfa 9
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
Taki, SK tarafından hazırlanan karmaşık sipariş muhasebesi hakkında harika bir makale buldu 'Büyük bir programda sipariş muhasebesi'
Dürüst olmak gerekirse, tüm bu olayı düşündüm, bu bir cazibe değil mi???
Ama kâseyle ilgili makalede anlatılan karakterin aksine ben onun gibi düşünmüyorum: "Sadece ben!". Bence yanlış bir şey var ya da şimdi sadece şanslı. Şampiyonanın sonuçlarına bakmanıza rağmen, üç ayda çok daha iyi bir sonuç görebilirsiniz, bu da temelde hiçbir şeyin imkansız olmadığı anlamına gelir. Yine de, gerçek hayatta bu kadar "hızlı" gelişmesine kim izin verecek?
Yine de, gerçek hayatta bu kadar "hızlı" gelişmesine kim izin verecek?
Bu basit bir soru. Ve bunun cevabı açıktır: dürüst çalışan (brokerlar burada tartışılmaz).
Daha zor bir soru, EA'nın gerçekten istikrarlı, yüksek sonuçlar verip vermediğidir. Yoksa tarihe mi uygun yoksa bir kaza mı?
Daha zor bir soru, danışmanın gerçekten istikrarlı olup olmadığıdır,
yüksek puanlar? Yoksa tarihe mi uygun yoksa bir kaza mı?
Daha önce çok daha mütevazı sonuçlar almıştım. Ve genel olarak, kitabınızı (neredeyse bir ay) ve bir bütün olarak tüm dili incelediğim süre boyunca, Forex ile tanıştığım 2 yıl boyunca bilmediğim ve şüphelenmediğim ticaret hakkında çok şey öğrendim. . Şimdi bile, en azından daha önce nasıl kazanabileceğimi düşünüyorum, çok fazla bilmeden)) Sadece bir demoda ticaret yapmaya ilk başladığımda, kazanmanın mümkün olduğuna dair güçlü bir izlenim edindim, ancak daha fazla değil. Ayda 300 dolar. Prensip olarak da fena değil, kimseye borçlu olmadığın için, istediğin zaman ve istediğin gibi çalışırsın, özellikle her türlü patrona alerjim göz önüne alındığında :)
Kitabın ilk okumasından sonraki bir hafta içinde ilk danışmanı yazdım. Ama ben yazmadım, bunun yerine kopyaladım, sadece ticaret kriterini içeren bloğu değiştirdim ve gerisini MA kullanan bir danışman örneğinden aldım. Ama yazdığımda, sadece ne yapacağımı bulmayı umuyordum. Onlar. uzun ve sıkıcı bir süre için manuel olarak kontrol etmemek için test cihazının yeteneklerini kullanın. Kase ile ilgili makaledeki gibi düşünceler, bir izim bile yoktu. Bu bağlamda, daha sıradanım :) Buna göre, sonuçtan memnun kaldım, depozitonun tamamen boşalmasını gördüm (bir seçeneğin daha az olduğu gerçeğinden memnunum). Bu fikri küçük düşürmek basitti, bu yüzden kontrol etmemek günahtı. Ancak son strateji (benim için) MQL4 kullanarak tanımlama açısından daha karmaşık, bu yüzden şimdilik ister istemez kalemlerle çalışmak zorundayım. Ancak manuel moddaki sonuçları, yalnızca bir Uzman Danışmanın daha fazla yazılmasını gerektirir. Yani yavaş yavaş deniyorum ama yazıyorum.
..Az önce çok daha mütevazı sonuçlar aldım. Ve genel olarak, kitabınızı (neredeyse bir ay) ve bir bütün olarak tüm dili incelediğim süre boyunca, Forex ile tanıştığım 2 yıl boyunca bilmediğim ve şüphelenmediğim ticaret hakkında çok şey öğrendim. . Şimdi bile daha önce nasıl bu kadar çok şey yapabildiğimi düşünüyorum, en azından bir şeyler kazanın))).
..Ama son strateji (benim için) MQL4 araçlarını kullanarak açıklamak açısından daha karmaşık, bu yüzden şimdilik ister istemez kalemlerle çalışmak zorundayım. Ancak manuel moddaki sonuçları, yalnızca bir Uzman Danışmanın daha fazla yazılmasını gerektirir. Yani yavaş yavaş deniyorum ama yazıyorum.
SK'ye
değişkenler, .
Aşağıdakileri yazdınız:
" Tüm diziler varsayılan olarak statiktir, yani başlatma sırasında açıkça belirtilmemiş olsa bile statik gibi görünürler "
Yine de
Diyelim ki bir gösterge, çağıran alt programda bir dizi kayıtlı:
1)
çift toplam[]; //standart işlevi çağırır .................................. ........ . . .
i= DiziMinimum (toplam,iter,0); // İkinci çağrıda hata: <ArrayMinimum işlevi için hatalı başlangıç konumu 0>
2) hata seçeneği
statik çift toplam[];
//................................................................
i=DiziMinimum(toplam,iter,0); // İkinci çağrıda aynı hata: <ArrayMinimum işlevi için hatalı başlangıç konumu 0>
3) hatasız seçenek
çift toplam[1000];
................................................................
i=DiziMinimum(toplam,iter,0); // Normal yürütme
4) hatasız seçenek
statik çift toplam[1000];
................................................................
i=DiziMinimum(toplam,iter,0); // Normal yürütme
Örnek 1 ve 2'den dizilerin dinamik olarak tahsis edildiği anlaşılmaktadır.
Örnek 2'den, boyutu olmayan bir dizinin statik olarak başlatılmadığı (ki bu aşikardır), ancak bu derleme hatalarında görünmüyor (((
Örnek 3 4'ten, statik ayırmanın yalnızca önceden tanımlanmış dizilerde doğal olduğu sonucu çıkar.
İlginç bir şekilde, çalışma zamanı sistemi Hatayı yakalar ve iyi tasarlanmış bir gerçek zamanlı terminal sistemini gösteren örnek 1 ve 2'den belirler. Onlar. dizi bir nesne gibi davranır. Geliştiricilere saygılar.
Ancak, basit değişkenlerle her şey o kadar düzgün değildir.
double instik(int &t) // bu fonksiyon çağıran programdaki bir değişkeni değiştirir
{
t++;
}
Bu çağrı, aşağıdaki durumlarda her onay için sayılır:
//................................................
statik int tik;
instik(tik);
print("tik=",tik);
//................................
Ve bu sayılmaz, çünkü bellek tahsisi dinamiktir ve ikinci çağrıdaki bağlantılı adres eşleşmez.
................
int tik;
instik(tik);
print("tik=",tik);
// instik alt yordamı bilinmeyen baytı artırır, ancak terminal çökmez!!!! Bir kez daha, geliştiricilere tebrikler.
Ama adalet
bunun uğruna, programlamanın ayrıntılarına girmenin de söylenmesi gerekir.
tüccar tüm fenomen piyasa-ticaret-stratejisine bakmaya başlar
daha net bir görünüm. Ve deneyim biriktikçe, ortadan kaldırılırlar.
hatalı düşünceler ve umut vaat eden yönler belirlenir.
SK'ye
Değişkenler, statik değişkenler.
...Her tıklamada özel işlevlerin yeniden başlatıldığı gerçeğini gözden kaçırıyorsunuz gibi görünüyor. Bu durumda statik değişkenler değerlerini korur ve başlatılmaz, statik olmayan değişkenler ise koda uygun olarak başlatılır. Kodunuzda, tik tamsayı değişkeni varsayılan olarak sıfır olarak başlatılır.
instik() işlevinde her şey istendiği gibi gerçekleşir. start()'ta, Alert() zamanında, tik değişkeninin değeri 1'dir ve Alert()'in çıktısı budur.
Ama bu gerçeğin tamamı değil. Tik değişkeni statik olarak bildirilmediğinden değeri kaydedilmez. Onlar. yürütme özelliği için bir sonraki çağrıda. start() işlevinde, tik değişkeni yeniden sıfır olarak başlatılacaktır. Ve her şey yeniden başlar. Bu nedenle, Alert güvenli bir şekilde birer birer çıktı verir.
MQL4 dil eğitiminin yayınlanması 1 Şubat'ta planlanıyor ve MQL4.community web sitesine zaten entegre edilmiş durumda. İngilizce'ye çeviri tüm hızıyla devam ediyor.
Danışmanda bir siparişi kapatma olasılığı nasıl uygulanır - sayaç? Kılavuzda bulamadım...