Eksiksiz MQL Acemi Kılavuzu - sayfa 3

 
8284 wrote >>

Ah CB, Ah CB !

Sen zor birisin. Gerçekten elimi tutmak istemiyorsun. Bu, benim kaçtığım yunanca, latince ve mars dilinde yazılmış kitabın aynısı. Terminolojiyi öğrenmeden bir meslekte yetkin olmanın hiçbir yolu yoktur, ancak .....

Bana mantık öğretim görevlisi Dr Otakpor'u hatırlatıyorsunuz (mantıkla felsefeden bahsediyorum). Ne sorduğun hakkında hiçbir fikrin yoksa, ona asla soru sormasan iyi edersin. CB, dizilerle ilgili kitap benim için oldukça teknik (kodlama konusundaki ilk çabamdı). Ne hakkında olduğu hakkında belirsiz bir fikrim var ama tam olarak anlayamıyorum. Ancak bunu bir meydan okuma olarak kabul ediyorum!

Benim "ah.." kelimemi "aha"ya çevirecek o küçük "..a"yı arayacağım.

Okuyacağım, yazacağım ve sonra size diziler hakkında bildiklerimi vereceğim (aslında en çok onların uygulamalarını bilmem gerekiyor).

Tek şey, bunun çok uzun bir yazıyla sonuçlanmasıdır. Dizilerin kullanıldığını gördüğüm kod parçaları var [] ama mantığı tam olarak anlamadım. Bana açıklansaydı, bu kadar çok sorum olmayacağını umuyordum (bir tür bulmacanın eksik parçası gibi).

Bana meydan okudunuz ve bunun gelişimim için iyi olduğunu düşünüyorum, ancak sizden biraz daha yumuşak davranmanızı rica ediyorum çünkü bilimsel olarak engelliyim. Benim geçmişim sanatta. Hanımlarla konuştuğumda şair gibi konuştuğumu söylüyorlar. Umarım bir tane gibi kodlamam!!!

Cidden, bugün benim için uyku yok, 24 saat içinde, dizi anlayışımla geri döneceğim. Umarım yanlış yaptığım yerde beni düzeltirsiniz ve dizilerin programlamaya uygulanmasını anlamama yardımcı olursunuz.

Ah CB, Ah CB !

Bu arada, şimdiye kadarki en iyi üç öğretim görevlisi Dr Otakpor, Barr Richard Idubor ve Barr Bob Osamor'du !!!

Dr Otakpor (Mantık ve Felsefe öğretti) öğrencilerinin sorularına kendi sorularına cevap vermelerini sağlamak için tasarladığı sorularla karşılık vererek, öğrencilerinin en iyi yönlerini ortaya çıkardı.

Bu, her şeyi interaktif hale getirdi. Sıkışmış olsaydın, cevabı alana kadar seni nazikçe dürtecek, ima edecek, ima edecekti!

Eğer hiçbir fikriniz yoksa, hmm... farklı bir top oyunu!

 

Sorunuz NASIL yerine NEDEN bir dizi kullanacağınızla ilgili mi?

Eğer öyleyse, benim bakış açıma göre bir dizi, aynı değişkenin bir dizi örneğini saklamanın daha düzgün bir yoludur, her örnek konumu tanımlanarak bulunabilir.

Örnek olarak, A=1, B=2, C=3 vb. olan çok basit bir şifre uygulayan bir uygulama yazdıysanız, alfabenin harflerini 1 boyutlu (1x26) bir dizi dizisinde saklayabilir ve her birinin yerini belirleyebilirsiniz. rakamın yerine harf yazılır. (Çıkış yolu örneği olarak) her yeni saati 3 dakika geçtikten sonra ilk tıklama itibariyle Alış ve Teklif fiyatlarını kaydeden ve bu değerleri son 5 saat boyunca sürekli olarak depolayan bir EA yazdıysanız, o zaman şunları yapabilirsiniz: gerçekleştirmek için 2 boyutlu (2x5) çift dizi kullanın.


CB

 
cloudbreaker wrote >>

Sorunuz NASIL yerine NEDEN bir dizi kullanacağınızla ilgili mi?

Eğer öyleyse, benim bakış açıma göre bir dizi, aynı değişkenin bir dizi örneğini saklamanın daha düzgün bir yoludur, her örnek konumu tanımlanarak bulunabilir.

Örnek olarak, A=1, B=2, C=3 vb. olan çok basit bir şifre uygulayan bir uygulama yazdıysanız, alfabenin harflerini 1 boyutlu (1x26) bir dizi dizisinde saklayabilir ve her birinin yerini belirleyebilirsiniz. rakamın yerine harf yazılır. (Çıkış yolu örneği olarak) her yeni saati 3 dakika geçtikten sonra ilk tıklama itibariyle Alış ve Teklif fiyatlarını kaydeden ve bu değerleri son 5 saat boyunca sürekli olarak depolayan bir EA yazdıysanız, o zaman şunları yapabilirsiniz: gerçekleştirmek için 2 boyutlu (2x5) çift dizi kullanın.

CB

Tamam CB, sorum NEDEN'den çok NASIL'a odaklanıyor. Neden olduğunu biliyorum; kolaylık sağlamak için. Yukarıda yazdıklarınızın çoğunu anlıyorum ama hepsini değil!

Beni yine tekno haline getirdin, bak bizi taşımak için bebek konuşmasına ve sabra ihtiyacın var. Sizi kesinlikle gururlandıracağız ama bu biraz zaman alacak. Yaklaşık 3 gün önce yukarıdaki yazınızın bana bir anlam ifade etmeyeceğini göz önünde bulundurarak, saygılarımla soruyorum, "yuvarlanan temel" ile ne demek istiyorsun!

Açıkladığınızda eminim, kendime vurmak istiyorum ama şimdi kafam karıştı!

Her neyse, nedenini anlıyorum ama nasıl olduğunu değil.

Önümüzdeki 24 saat içinde burada sunacağım diziler üzerine bir makale üzerinde çalışıyorum ve bir şeyi kaçırırsam bir düzeltme bekliyorum. Değilse, dizilerin nasıl ve ne zaman olduğunu soracağım!

Çok teşekkürler,

Yardımın için minnettarım!

 

Tamam CB, makalemle hazırım. Bir veya iki hata yaptığımdan eminim ve bunu bana belirtmekten memnuniyet duyacağım. Değeri ne olursa olsun, bir şekilde kulağa biraz teknik geldi (başlatma, bildirme ve diğer şeylerden bahsediyorum). Bunu yazmak bazı şeyleri biraz farklı görmemi sağladı ama sonra yine de yazmayı öğrendim.

Çok boyutlu dizileri okuyacağım.

Bu konudaki (ve diğer herkesin) dürüst eleştirisini istiyorum.

Bundan yararlanan bir acemi varsa, sizden de duymak isterim.

Belki fonksiyonlar üzerine de bir deneme yaparım, çünkü bu şeyler hakkında yazmak içimde daha da derinleşir!

 

dizi nedir?

Bir diziyi tanımlamak acemi nedenini ortadan kaldırabilir, bu nedenle onu tanımlamak daha iyi olur. Daha sonra herkes teknik tanımına bakabilir!

Bir dizi, benzer bir veri grubu olarak düşünülebilir.
Bir örnek.
Nüfus her yıl değişir.

2004 nüfusu = 4
2005 nüfusu = 5
2006 nüfusu = 6
2007 nüfusu = 7
2008 nüfusu = 8
2009 nüfusu = 9 vb.

Bu verileri kullanmak için mql4'te programlama yapıyor olsaydık, onları değişkenler olarak ilan edebilirdik, örn.
int 2004pop = 4;
int 2005pop = 5;
int 2006pop = 6;
int 2007pop = 7; ve böylece 2009'a veya sonsuzluğa ulaşana kadar

Bu işe yarayabilir ama oldukça hantal. Dizilerin geldiği yer burasıdır.
Tüm nüfus verileri bir dizidir.
Dizileri kullanmak için önce onları bildirmeniz gerekir.
Bu "[ ]" kullanılarak bildirilirler.
Yapmanız gereken ilk şey, programa dizi tipini, tamsayı mı, çift mi, vs. olduğunu söylemektir. Örneğimizde bu bir tamsayıdır.
sonra diziye açıklayıcı bir isim verirsiniz, biz ona yearpop diyeceğiz (yıl popülasyonunun kısaltması)
Tanımlayıcı addan sonra parantez [ ] gelir ve parantez içinde neyle çalıştığımızı açıklarız. Bizim durumumuzda 6 veri var, bu yüzden parantez içine 6 koyduk. Bunun gibi [6]
Şimdiye kadar dizi bildirimimiz şöyle görünüyor
int yıllık pop [6];
bunun gibi bireysel yılların değerlerini göstererek diziyi başlatmak için daha ileri gidebiliriz

int yıllık pop [6] = {4,5,6,7,8,9};

Şimdi mql4 sayımına bir yerine 0'dan başlıyor. Burada 1'den 6'ya kadar numaralandırmak yerine, 0'dan 5'e kadar mql4 sayıları olmak üzere altı değerimiz var. İlk yıl için değer almak için 0 kullanmanız gerekiyor. İkinci yıl için 1 kullanmanız gerekiyor.

buna tekrar bak
int yıl sayısı [6] = {4,5,6,7,8,9} ;
4,5,6,7,8,9 sayılarına eleman denir
Öğelerinin değerini elde etmenin yolu onların indekslerinden geçer (umarım burada bir şeyleri karıştırmıyorum).
İndeksler 0'dan ne olursa olsun başlar (bizim durumumuzda 5)

Yani ilk yıl için değer almak istiyorsanız, bunun gibi 0 olan indeksini kullanırsınız.

yearpop [0] // bu size ilk yılların nüfusunu verir
yıllık nüfus [1]// 2. yıl nüfusu.
Bu şekilde pek çok hesaplamayı rahatlıkla yapabilirsiniz (sanırım)
örneğin
int aşırı nüfus ;
aşırı nüfus = yıllık nüfus[0] +yıllık nüfus [3] / yıllık nüfus [2];

Bu mql4 için nasıl geçerlidir?
Şimdiye kadar bildiğim tek şey, mql4'te mevcut çubuğun veya zaman çerçevesinin veya sembolün veya grafiğin her zaman 0 veya BOŞ olduğudur.
İkincisi, mql4 böyle geriye doğru sayar
543210 (sağdan sola).
Örnek olarak, herhangi bir grafikte (üzgünüm grafik yapamam)
mevcut çubuk, henüz oluşturulmamış 0 değerine sahiptir.
Hemen solundaki çubuk bir, solundaki bir sonraki ise 2 değerine sahiptir, vb.
0 değerine sahip çubuk hemen tamamlanır, ardından 1 değerini alır, yeni şekillendirme çubuğu 0 değerini alır ve diğerleri buna göre değişir.
Şimdi, çubuklar için en yüksek fiyat seviyelerine sahip olduğumuzu varsayalım (ki aslında yapıyoruz), bunun gibi bir şey yapabiliriz.
double highlevels [200];// yani dizimizde 200 bar //değerinde veri var
Aslında mql4'te bize tüm çubukların iniş ve çıkışlarını söyleyebilecek bir fonksiyon var.
150. bar ile birinci bar arasındaki farkı bilmek istediğinizi varsayalım.
Diziler mevcut olmasaydı, çok zaman alan en az 150 bar bildirmeniz ve muhtemelen başlatmanız gerekirdi (CB, dizilerin nedeni budur).
Ama dizilerimiz olduğu için tek yapmamız gereken onlara indeks numaraları ile başvurmak ve hesaplamayı yapmaktır.
çift fark;

fark = yüksek seviyeler [0] - yüksek seviyeler[149] // unutmayın // 0'dan sayıyoruz
0, şu anda oluşan çubuktur. Hesaplama için tamamlanmış bir çubuk kullanmak istiyorsak, bunun yerine yüksek seviye [1] kullanırız.

Şimdiye kadar sadece tek boyutlu dizilerden bahsettim. Tek sıralı bir tablo gibidir.

Mql4, henüz kafamı sarmadığım bir şey olan 4 boyutlu dizilere izin veriyor.

 
Bunu henüz gören var mı?
 

Hey Millet!

Ben kaybolduktan sonra bu başlıkta yazılar olduğunu görmek güzel. Bu forumdan oldukça istisnai birinden koçluk yaparak bir strateji üzerinde çalışarak arka plana geçtim. Bu nedenle, gerçekçi konuşmak gerekirse, korkarım ki yakın gelecekte bu konuya çok fazla katkıda bulunamayacağım, en azından daha önce yaptığım kadar 'derinlemesine' değil :)

Bu arada, oradaki tüm acemilere: ticaret tutkusunu sürdürün ve unutmayın, birine yardım ederseniz, ihtiyacınız olduğunda yardım sizi bulur :)

 
merhaba,

bir acemi olarak, yerleşik metastock işlevinin: ref() ve stochmomentum()'un metatrader'daki bazı işlevler tarafından uygulanıp uygulanmadığını sormak istiyorum.

teşekkürler
 
Huckleberry :

Merhaba Niko,

4 Temmuz. Türkiye'den döndün mü?

Saygılarımızla

yaban mersini


İçinde bir şey bulmak için bir belgede arama yapması gerekenler için, işte tüm Belgelerin PDF versiyonu...

Derlenmiş bir HTML Yardım dosyasından PDF'ye dönüştürüldü...

 
cloudbreaker :

8284 - İyi programcılar modülerlik için çabalar - ör. Her yeni programla yazılacak minimum yeni kod bırakarak tekrar tekrar birleştirilebilen yeniden kullanılabilir yapı taşlarının oluşturulması. Bu yaklaşımın eğitim materyalleri için de uygun olduğunu takdir etmelisiniz. Tüm teknolojilerde ortak olduğu için bahsettiğiniz programlama temellerini almak için birçok kaynak var. Bu öğrenme materyallerini her programlama dilinde çoğaltmak verimli değildir.


CB

Merhaba CB,

yukarıdakilerden bu yana çok şey oldu. Kod yazmada olabileceğimi düşündüğümden çok daha yetkin hale geldim (hala yapılacak çok fazla cilalama olmasına rağmen). Yukarıdaki alıntınızı çok anlayışlı buluyorum (o zamanlar takdir etmediğim bir şey).

Yardımınız için teşekkür etmek istiyorum (başkalarına yaptığınız yardımlardan da öğrendim) ve moderatör olarak atandığınız için tebrikler (bence fazlasıyla hakedilmiş) !

Gordon ve BB'yi de tebrik ederiz!