[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 9

 
Her şey ters giderse kayıpları sınırlamak (EA'yı durdurmak) için mql4'te hangi güzel yollar var? Sadece, ini dosyasındaki AccountEquity'nin () maksimum değerini periyodik olarak sıfırlama fikrini buldum ve eğer AccountEquity'nin () mevcut değeri, kaydedilen değerden belirli bir yüzde ile düşükse, ticareti durdurun. Lütfen söyle.
 
igrok2008 писал(а) >>
Yukarıdaki örnekler, CCI, RSI ve WPR için alış ve satış kodlarını açıklamaktadır. Bu göstergeler neden kullanılıyor? Bence, Uzman Danışmanlar oluşturma ilkelerine hakim olmak için en basit olanlardır. Alım ve satım prensibi onlar için aynıdır. -100'den (CCI için), -70'den (RSI için) ve 20'den (WPR için) daha az, satış: +100, -30 ve 80 olacak. Bana öyle geliyor ki (birden fazla vaftiz oldum) alım satım şartlarında hatalar var ama anlamadığım yerde ..... Buradaki mesele alım satım şartlarının DOĞRU YAZILMASI ilkesidir (bence öyledir) ................ ...Size sormak istediğim buydu ........
 double CCI = NormalizeDouble ( iCCI ( NULL , 0 , Period , PRICE_CLOSE , 1 ) , Digits ) ;

if ( CCI [ 1 ] > - 100 )
Bir dakika, bu CCİ[1] nereden geliyor?
kodun derlemeyi geçmediği ortaya çıktı, yani. derleme eksikliği ve yanlış yemek?
 
MuruFigi писал(а) >>
Her şey ters giderse kayıpları sınırlamak (EA'yı durdurmak) için mql4'te hangi güzel yollar var? Sadece, ini dosyasındaki AccountEquity'nin () maksimum değerini periyodik olarak sıfırlama fikrini buldum ve eğer AccountEquity'nin () mevcut değeri, kaydedilen değerden belirli bir yüzde ile düşükse, ticareti durdurun. Lütfen söyle.

Cerrahın eşitlik ve denge göstergesine bakın. CodeBase'de bulunur.

 
Korey >> :
Bir dakika, bu CCİ[1] nereden geliyor?
kodun derlemeyi geçmediği ortaya çıktı, yani. derleme eksikliği ve yanlış yemek?

CCI[1], ilk çubuğun CCI'sidir.

derleme nedir? Bir danışmanı (gösterge, komut dosyası) derlemek, meta düzenleyicide F5 (derleme) düğmesiyle yaptığımız şeydir ??????????

Bence birinci çubuk henüz oluşmadığı için ilk çubuk üzerinden hesap yapılmalı. Bu nedenle, CCİ[1]. Neyi yanlış yapıyorum??????

 
igrok2008 >> :

..Neyi yanlış yapıyorum??????

Her şeyin içinde. Danışmanlar, temel kavramları öğrenmek için hala ders kitabını okumanız gerektiğinin farkına vararak çoktan kaçtılar. Aksi takdirde, konuşma çalışmayacaktır.

Örneğin, benim gibi bir "programcı" bile CCI[1]'yi, CCI adında ve [1] dizinli bir dizi hücresine çağrı olarak okur. Ne demek istedin?

 
granit77 >> :

Her şeyin içinde. Danışmanlar, temel kavramları öğrenmek için hala ders kitabını okumanız gerektiğinin farkına vararak çoktan kaçtılar. Aksi takdirde, konuşma çalışmayacaktır.

Örneğin, benim gibi bir "programcı" bile CCI[1]'yi, CCI adında ve [1] dizinli bir dizi hücresine çağrı olarak okur. Ne demek istedin?

Yaklaşık olarak aynı şey Ve ders kitabına bir bağlantı varsa? Yoksa MQL4 "MQL4Bookrussian" üzerine bir ders kitabı mı????????????????

 
igrok2008 >> :

Aşağı yukarı aynı.

Bir eğitim bağlantısına ne dersiniz? Yoksa MQL4 "MQL4Bookrussian" üzerine bir ders kitabı mı????????????????

1. Eğer aynıysa, bu diziyi nerede ve neden ilan ettiniz (oluşturdunuz)? Var olanı arayabilirsin.

2. Sayfanın üst kısmındaki öğretici bağlantı. Şahsen Rosh'un yazılarını daha çok beğendim.

 
granit77 >> :

1. Eğer aynıysa, bu diziyi nerede ve neden ilan ettiniz (oluşturdunuz)? Var olanı arayabilirsin.

2. Sayfanın üst kısmındaki öğretici bağlantı. Şahsen Rosh'un yazılarını daha çok beğendim.

1 kayıt CCI[1]>-100, alım satım koşuludur

2 (yüzeysel de olsa) bir ders kitabı okuyun, KimIV'ten 30 sayfaya kadar faydalı işlevler makalesini okuyun, "aptallar için" makaleleri okuyun VE HERHANGİ BİR YERDE, ticaret koşulunun NEDEN YAZILMALIDIR sorusuna CEVAP BULABİLİR. okuyun<*****&& bok bilir>******). neden olmalı

atık VE atık, sadece if(waste<******) değil. İşte benim için net olmayan şey. Tabii ki, vinin bana (MA için) neyin ne kadar olduğunu anlaşılır bir şekilde açıkladı, AMA NEDEN MANTIK KULLANMAK ZORUNLULUYOR VE ..... açıklamadı ..................

Rosha'nın yazılarına henüz ulaşamadım, ipucu için teşekkürler.............

 
igrok2008 >> :

1 kayıt CCI[1]>-100, alım satım koşuludur

Neden sadece if(waste<******) değil de bir israf VE israf olsun ki? İşte benim için net olmayan şey. Tabii ki, vinin bana (MA için) ne kadar önce anlaşılır bir şekilde açıkladı, AMA NEDEN mantıklı KULLANMAK ZORUNLU VE ..... açıklamadı ........

1. Durumun ne olduğuyla ilgili değil, neyi ve neyle karşılaştırdığınızla ilgili. CCI göstergesinin değerini seviye ile karşılaştırdığınızı düşünüyorsunuz, ancak gösterge değeri yerine, CCI[] özel dizisinin adıyla eşleşen, var olmayan ve gereksiz bir hücrenin bir hücresinin değerini yazdınız. , yani boş bir alan. Bu, derleyicinin derleyemeyeceği büyük bir hatadır.

2. Değerin yalnızca bir koşul oluştuğunda göründüğü bir kadranlı göstergeden sinyal alıyorsanız, şunu yazarsınız:

if(atık>0) girin; Bunun nedeni sinyalin kesikli olması, ok olmaması durumunda tamponun boş olması ve kontrol edilecek başka bir şey olmamasıdır.

Belirli bir seviyeyi geçen gösterge çizgisini izlerseniz (arabellek bir çizgi ile doldurulur, sinyal analogdur), bu durumda böyle bir if(waste>level) girişi, gösterge çizgisi yukarıda olduğu sürece sürekli bir giriş sinyaline yol açacaktır. Seviye. Ama bunu istemiyorsunuz, geçiş anında bir sinyal almak istiyorsunuz. Ve geçiş anı tam olarak tratata ve trututu aracılığıyla yakalanır.

Yani sıfır ve birinci çubuktaki CCI değerlerini okuyup değişkenlere giriyoruz. CCİ'nin ilk (son) çubuktaki seviyenin üzerinde olup olmadığını kontrol edin. Sıfır çubuğundaki CCI zaten seviyenin altındaysa, o zaman bir geçiş olmuştur. Bu iki koşulu mantıksal bir AND ile birleştiririz, kesişim için tek bir sinyal alırız.

 //объявляем переменную cci_0 и присваиваем ей значение индикатора CCI на нулевом (текущем) баре
double cci_0 = iCCI ( NULL , 0 , CCIperiod , CCIprice , 0 ) ;
//объявляем переменную cci_1 и присваиваем ей значение индикатора CCI на первом (предыдущем) баре
double cci_1 = iCCI ( NULL , 0 , CCIperiod , CCIprice , 1 ) ;
//если значение индикатора CCI на нулевом (текущем) баре уже меньше уровня 100
//а предыдущее его значение (на первом баре) было больше уровня 100
//значит произошло пересечение, и мы даем сигнал на продажу
if ( cci_0 < 100 & & cci_1 > 100 ) SignalSell = true ;
 
granit77 >> :

1. Durumun ne olduğuyla ilgili değil, neyi ve neyle karşılaştırdığınızla ilgili. CCI göstergesinin değerini seviye ile karşılaştırdığınızı düşünüyorsunuz, ancak gösterge değeri yerine, CCI[] özel dizisinin adıyla eşleşen, var olmayan ve gereksiz bir hücrenin bir hücresinin değerini yazdınız. , yani boş bir alan. Bu, derleyicinin derleyemeyeceği büyük bir hatadır.

2. Değerin yalnızca bir koşul oluştuğunda göründüğü bir kadranlı göstergeden sinyal alıyorsanız, şunu yazarsınız:

if(atık>0) girin; Bunun nedeni sinyalin kesikli olması, ok olmaması durumunda tamponun boş olması ve kontrol edilecek başka bir şey olmamasıdır.

Belirli bir seviyeyi geçen gösterge çizgisini izlerseniz (arabellek bir çizgi ile doldurulur, sinyal analogdur), bu durumda böyle bir if(waste>level) girişi, gösterge çizgisi yukarıda olduğu sürece sürekli bir giriş sinyaline yol açacaktır. Seviye. Ama bunu istemiyorsunuz, geçiş anında bir sinyal almak istiyorsunuz. Ve geçiş anı tam olarak tratata ve trututu aracılığıyla yakalanır.

Yani sıfır ve birinci çubuktaki CCI değerlerini okuyup değişkenlere giriyoruz. CCİ'nin ilk (son) çubuktaki seviyenin üzerinde olup olmadığını kontrol edin. Sıfır çubuğundaki CCI zaten seviyenin altındaysa, o zaman bir geçiş olmuştur. Bu iki koşulu mantıksal bir AND ile birleştiririz, kesişim için tek bir sinyal alırız.

IN ...... IN ....... IN ...... Anlıyorum .... Anlıyorum ..... Shaz yemekten sonra cevap vereceğim TEŞEKKÜRLER granit77. İlk bakışta bile meleksi bir sabrınız olduğunu görebilirsiniz,

okuldaki bugünün ÖĞRETMENLERİ gibi değil .....