MQL4'te programlama üzerine çevrimiçi kitabın beta sürümü - Sergey Kovalev (SK.) - sayfa 3
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
Bir hafta önce Meta Trader'ı ilk kez kurdum ve denedim. Bu terminalin daha önce benim tarafımdan kullanılanlardan (Rumus ve Forex Trader) çok daha uygun olduğu ortaya çıktı. İki yıl önce, Forex'i öğrendiğimde ve ilk demo hesabımı açtığımda, tüm bunları nasıl otomatikleştireceğim sorusu beni çok üzdü. Terminali açtığımda mail bölümünde Autotrading mesajını gördüm. Ve işte buradayım))) Kitabı yoğun bir şekilde okuyorum ve umarım yakın gelecekte mevcut stratejim hakkında ilk Uzman Danışmanımı yazacağım. Önceden programlama ile kesinlikle hiçbir ilgim yoktu, programlama öğreneceğimi hayal bile edemezdim))) Okudukça sorular ortaya çıktı, ama onlar da yol boyunca kayboldu. Soru ortaya çıktı, ileriye baktı ve tatmin oldu, çünkü birkaç bölümden sonra cevabı gördüm, her şeyi sırayla okumak için geri döndüm. Stratejiyi geçmiş veriler üzerinde test etme ve sonuç olarak stratejiyi ayarlama fırsatından özellikle etkilendim.
Kitap için çok teşekkür ederim.
Harika. Yeni bir MT kullanıcısısınız. Ve şu anda programlama hakkında neredeyse hiçbir şey bilmiyorsunuz.
Size şunu önermeme izin verin: Ayda en az 2-3 kez işlerin nasıl ilerlediğini bildirmek (ve dilerseniz daha sık yapabilirsiniz). Son derece ilginç olurdu.
Bu arada izin verirseniz bir sorum olacak. Burada, ilerleyen bölümlerde cevabını bulduğunuz bir sorunun ortaya çıktığını söylüyorsunuz. Böyle bir durumdan kaçınacak şekilde metni oluşturmaya çalıştım. Sorunun ne olduğunu açıklar mısınız?
Bir hafta önce Meta Trader'ı ilk kez kurdum ve denedim. Bu terminalin daha önce benim tarafımdan kullanılanlardan (Rumus ve Forex Trader) çok daha uygun olduğu ortaya çıktı. İki yıl önce, Forex'i öğrendiğimde ve ilk demo hesabımı açtığımda, tüm bunları nasıl otomatikleştireceğim sorusu beni çok üzdü. Terminali açtığımda mail bölümünde Autotrading mesajını gördüm. Ve işte buradayım))) Kitabı yoğun bir şekilde okuyorum ve umarım yakın gelecekte mevcut stratejim hakkında ilk Uzman Danışmanımı yazacağım. Önceden programlama ile kesinlikle hiçbir ilgim yoktu, programlama öğreneceğimi hayal bile edemezdim))) Okudukça sorular ortaya çıktı, ama onlar da yol boyunca kayboldu. Soru ortaya çıktı, ileriye baktı ve tatmin oldu, çünkü birkaç bölümden sonra cevabı gördüm, her şeyi sırayla okumak için geri döndüm. Stratejiyi geçmiş veriler üzerinde test etme ve sonuç olarak stratejiyi ayarlama fırsatından özellikle etkilendim.
Kitap için çok teşekkür ederim.
Harika. Yeni bir MT kullanıcısısınız. Ve şu anda programlama hakkında neredeyse hiçbir şey bilmiyorsunuz.
Size şunu önermeme izin verin: Ayda en az 2-3 kez işlerin nasıl ilerlediğini bildirmek (ve dilerseniz daha sık yapabilirsiniz). Son derece ilginç olurdu.
Bu arada izin verirseniz bir sorum olacak. Burada, ilerleyen bölümlerde cevabını bulduğunuz bir sorunun ortaya çıktığını söylüyorsunuz. Böyle bir durumdan kaçınacak şekilde metni oluşturmaya çalıştım. Sorunun ne olduğunu açıklar mısınız?
Tabii ki, pozisyonumdaki ve iletişimsiz olduğu gibi işlerin ilerleyişini rapor edeceğim)) Yapıcı bir iletişim umuyorum.
İlginiz için teşekkür ederim.
Lütfen aşağıdaki mesajların metnini aşağıdaki gibi paragraflara ayırın. yazılanların manasını anlamak zor.
Ancak kitabı okumaya başladığımda, programın yapım yapısı ve ardından her tikte tekrarlanan int start () işlevi ile biraz kafam karıştı, yürütme sırasında teklif fiyatını öğrenirsem, o zaman yazılır. bir değişkene dönüştürülür ve her zaman içinde saklanır, o zaman fiyatın ne zaman değiştiğini ve programın yeni fiyata göre başka bir şey yapabileceğini nasıl bilebilirim? Programımdaki fiyatın, sürekli talep eden bir döngü koduyla güncelleneceğini düşündüm.
Programın gerçek zamanlı olarak çalışması için, yeni bir fiyatın ortaya çıkması gerçeği ve bu fiyatın kendisi hakkında periyodik olarak bilgi almanız gerektiğini doğru bir şekilde kaydettiniz.
Aslında 2 yol var:
1. yol, bir fonksiyonu sonsuz bir döngüde çalıştırmak ve periyodik olarak ondan bir fiyat istemektir.
Ancak bu yöntemin dezavantajları vardır:
- istekler sık sık yapılırsa, bunun sonucunda iletişim kanalı aşırı yüklenir ve bilgisayar kaynakları boşa harcanır;
- Nadiren talepte bulunuluyorsa, talepler arasında yeni bir fiyatı kaçırma olasılığı vardır.
2. yöntem (MQ teknolojisinde ana yöntem olarak kabul edilir), gerekli kodu başlatma girişiminin terminale ait olması nedeniyle temelde farklıdır. Terminal sunucudan bilgi alır, yeni bir işaretin geldiğini anlar (yeni fiyat gerçeği ve fiyatın kendisi) ve bu temelde terminal start() işlevini başlatır. Bütün bunlar MQL4'teki Program bölümünde açıklanmıştır.
Şimdi şu tür bir sorum var: init işlevi yürütüldüğünde, benim için düzenlenen emir açılış fiyatının hesaplanmasının yanı sıra, hesaptaki bakiye bilgisine göre lot büyüklüğünün hesaplanması işlevinin de olacağını fark ettim. olarak adlandırılabilir; tamamlanmasından sonra, start.. işlevinin yürütülmesi başlayacaktır.
Doğru değil. init() ve start() özel fonksiyonlardır. İstemci terminali tarafından kendi özelliklerine göre (başka bir deyişle, yürütme için çağrıldıkları kural ve koşullara göre) çağrılırlar. Bu, Özel işlevler paragrafında açıklanmıştır. init() işlevi, program pencereye yüklendiğinde bir kez yürütülür. Ve her onayda start() çağrılır. Çok rahat. Bir onay işareti geldi, yeni bir fiyat getirdi = terminal, yürütülene kadar yürütülen yürütme için start()'ı başlatır. Burası, tüm hesaplamaları - ve lot sayısının hesaplanmasını, siparişlerin açılması / kapanması için koşulları ve diğer her şeyi eklemeniz gereken yerdir.
o zaman benim için şimdiye kadarki en gizemli şey, emrin "kapanış" fiyatını bekleyip başa dönmek için kodu nereye yazmam gerektiği, yani açılış için yeniden düzenlenmiş fiyatı hesaplama, bu fiyatı bekleme vb. bölümlere baktım, isimlerde gördüğüm bir şey gibi, yani bu soruma bir cevap olacak gibi. Okumayı bitirirken Açma ve sipariş verme bölümünü okuyorum.
Aklınıza takılan sorulara bakılırsa henüz program yazmanıza gerek yok ve şu anda okuduklarınızı da okumanıza gerek yok. Bu durumda, kitabı baştan okumaya başlamanız şiddetle tavsiye edilir. Devamlı ve ilerlemeden. Ve bu arada, sunulan tüm örnekler manuel olarak ME'ye yazılmalı ve PC'nizde yürütülmelidir. Ve kodun her harfi tam olarak netleşene kadar bir sonraki bölüme geçmeyin. Kene, Kontrol, İşlev, Özel İşlev, Operatör kavramlarına bakın ve genel olarak zaman zaman Terimler Sözlüğü'ne bakın.
Tabii ki, pozisyonumdaki ve iletişimsiz olduğu gibi işlerin ilerleyişini rapor edeceğim)) Yapıcı bir iletişim umuyorum.
İlginiz için teşekkür ederim.
Umarım tavsiyeyi doğru bir şekilde algılar ve uygularsınız.
o zaman benim için şimdiye kadarki en gizemli şey, emrin "kapanış" fiyatını bekleyip başa dönmek için kodu nereye yazmam gerektiği, yani açılış için yeniden düzenlenmiş fiyatı hesaplama, bu fiyatı bekleme vb. bölümlere baktım, isimlerde gördüğüm bir şey gibi, yani bu soruma bir cevap olacak gibi. Okumayı bitirirken Açma ve sipariş verme bölümünü okuyorum.
Aklınıza takılan sorulara bakılırsa henüz program yazmanıza gerek yok ve şu anda okuduklarınızı da okumanıza gerek yok.
Word'de hızlıca karalanmış, burada:
İçinde
Başlangıç
Maksimum açık sipariş sayısını belirledim = 1;
kaç tane açık sipariş olduğunu kontrol edin;
1 açıksa, sipariş kapatma fonksiyonunu çağırırım,
hiçbiri açık değilse, "fiyat ve lot sayısı hesaplama" işlevini çağırırım.
--------------------------
Uygun bir alış ve satış fiyatının gerekli hesaplamaları ve lot sayısının hesaplanması;
--------------------------
güncel fiyat talebi;
eğer mevcut >= en çok satan fiyat ise,
daha sonra önceden tanımlanmış lot sayısına eşit bir satış emri açın;
değilse, mevcut olanı uygun bir satın alma fiyatıyla karşılaştırın;
mevcut <= en iyi satın alma fiyatı ise,
sonra buna göre bir satın alma emri açın;
--------------------------
sipariş kapatma fonksiyonunun çağrılması ;
dönüş
tanım
doğru anladın mıdoğru anladın mı
Eh, genel olarak, doğru :) Tebrikler. Başka bir şeyi anlamak her zaman güzeldir.
Yine de tavsiyeme uyun: en başa dönmeniz gerekiyor. Ve ders kitabında sunulan tüm kodları düzenli bir şekilde PC'nizde yürüterek, atlamalar ve atlamalar olmadan baştan başlayın.
Kitap ilginç bir ROC göstergesi sunuyor - fiyat değişim oranı göstergesi ( https://book.mql4.com/ru/samples/iroc ). Bu kitabın bir ders kitabı olduğunu ve yazarın yarı, hatta çeyrek aşamalı kaynaklar sağlamak zorunda olmadığını anlıyorum, ancak gösterge fikri çok iyi ve gecikmeyi bile yapmak için biraz hile yaptım. daha zayıf.
Bölme sembolü iki kez atlandı (HTML dosyası oluşturulurken kayboldu mu?).
Metinde bağlantılı gösterge dosyası normaldir.
Eh, genel olarak, doğru :) Tebrikler. Başka bir şeyi anlamak her zaman güzeldir.
Yine de tavsiyeme uyun: en başa dönmeniz gerekiyor. Ve ders kitabında sunulan tüm kodları düzenli bir şekilde PC'nizde yürüterek, atlamalar ve atlamalar olmadan baştan başlayın.
Evet katılıyorum, okuduklarınızın sonucunu görmek ve hissetmek çok önemli, o zaman uzun süreli hafızaya yerleşiyor, özellikle duygusal içeriğin etkisiyle birden fazla çağrışım ortaya çıkıyor :) Şunu da vurgulamak istedim, ilgi çekmek için en önemli bölümleri geri getirmeniz veya kullanmanız gerekiyor, daha fazla ilginin kendisi hedefe ve bilgi çemberinin genişlemesine yol açacaktır. Konumumuzdaki en zor şey, yol boyunca tam olarak neyin ilginç olduğunu anlamak, sahip olduğumuz her şeyin etkinliğini gördüğümüz için en etkili olacak bir düzen geliştirmek. İlişkisel belleğin çalışmasını, kendisine en az bir bağlantı (ilişki) olduğu sürece tahsis edilmiş bir alanın var olduğu yönetilen bellekle ilişkilendirirdim, daha fazla bağlantı, alanın serbest bırakılmaması daha olasıdır, böylece onun garanti edilmesini sağlar. kullanım ve sonraki fayda. Bu bağlamda, okunanları pekiştirmek için dernek stokunu sürekli yenilemek gerekir.
Not: Fazla ileri gittiysem özür dilerim :)
Bölme sembolü iki kez atlandı (HTML dosyası oluşturulurken kayboldu mu?).
Metinde bağlantılı gösterge dosyası normaldir.
Evet var. Şu ana kadar kaynak kodlarda herhangi bir hataya rastlanmamıştır ve nedense metin kodları yer yer bozuktur. Anlayacağız.
Not: Fazla ileri gittiysem özür dilerim :)
Döngüler zaten benim için çok sıkıydı (bu bölümlere bir kereden fazla döneceğim) ve bir de bu koyunlar var.
Benim düşünceme göre, ticaretten belirli bir örnek (neredeyse baskın :)) düşünülürse, tamam, ticaret, o zaman okuyucu herhangi bir fikrine benzer bir örnekle karşılaşırsa (ki bunu nasıl uygulayacağını henüz bilmiyor), bu örneği büyük bir ilgiyle inceleyecek ve fikrinizi uygulamak için nasıl değiştirileceğini ve ayarlanacağını düşünecek (sanırım neden bahsettiğim açık).
Böyle bir örneğim vardı, bakiyenin 1/3'ü tutarında nasıl emir açabileceğim ile ilgilendim. 1/3'ünü dolara çevirmek için kafamda hangi matematiksel işlemlere sahip olduğum hakkında hiçbir fikriniz yok, böylece sonunda lotlar halinde bir rakam elde ettim (0,1 veya 3,5 lot ...). Ve bazı stop emirleri ayarlanmış olarak ücretsiz marjın %35'i değerinde bir Buy emri açan openbuy.mq4 örneğini gördüğümde ne kadar mutlu oldum. Yukarı ve aşağı baktım, her satırına baktım, ne, neden, nerede. Ne tür standart işlevler kullandığına baktı ( MathFloor, MarketInfo. ....).