[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 359

 
sergeev :
herkesin var
normalden bahsediyorum
 
drm1 :
normalden bahsediyorum

normal nedir?
 
Zhunko :
Bir şekilde kafanız karıştı... Tikler ile çalışacak kodu gösterin, start fonksiyonu olmadan pozisyonları açın/kapatın. Strat işlevi olmayan tam teşekküllü bir Uzman Danışman kodu mu?

Aslında portfolyonuza bakılırsa size bir şey açıklamak bana düşmez! ..-) Önce start() işlevinden anladığım şeyi ve neden bir organize etme fikrinden hoşlanmadığımı açıklayayım. içinde döngü. Başlatma fonksiyonunun, terminal programının dahili kesme sisteminden kullanıcıya (veya daha doğrusu onun programına - Expert'e) tahsis edilmiş bir prosedür olduğunu düşünüyorum. Pekala, bu kesintinin içinde döngüler halinde gitmek veya orada kendi kesinti sisteminizi düzenlemek - peki, muhtemelen elim kalkmayacak. MQ bilginleri belgelerde yazıyor olsa da, lütfen - while () döngüsü sizin elinizde, başla ()'da sağlığa sarılın. Ve kim bizi aynı aşağılık döngü boyunca init () ? Tüm değişkenler ve sabitler mevcuttur, tüm fonksiyonlar aynı şekilde çalışır. Fiyat teklifi almak ister misiniz?, ne sıklıkla? Pekala, işte bir kod örneği, 5 saniyelik sıklıkta son onayda alınan ve Close [0] dizisinde saklanan TAZE bir fiyat teklifi alacaksınız:

//----------------------------------------------------------
int init()
{
bool sonu;
süre(!son)
{
uyku(5000);
Yazdır ("Alıntı = ", Kapat[0]);
}
dönüş(0);
}
//------------------------------------------------ -----
int start() {return(0);}
//------------------------------------------------ -----
int deinit() {dönüş(0);}
//------------------------------------------------ -----

Bu arada, MT5'te geliştiriciler, kullanıcılara şimdiden çok müteşekkir olduğumuz birkaç kesinti verdi! Alıntı yapmadan duramıyorum:

MQL5'teki uzmanlar, çeşitli olay türleri için önceden tanımlanmış işleyici işlevleri içerebilir

OnTick - yeni bir kene gelişi;

OnTimer – zamanlayıcı olayı;

OnTrade - ticaret olayı;

OnChartEvent – Klavye ve fare giriş olayları, grafik nesne hareketi olayları, LabelEdit nesnesinin giriş alanındaki metin düzenleme bitiş olayı;

OnBookEvent – Pazar Derinliği (Pazar Derinliği) durumunu değiştirme olayı.


 
Vinin :

normal nedir?
çalışmak için standart dönüştürücü hiç çalışmıyor
 
drm1 :
çalışmak için standart dönüştürücü hiç çalışmıyor

herkes çalışır.
 
sergeev :

herkes çalışır.
herkes için işe yaraması iyi, bu yüzden yavaşlıyorum
 
Grein :

Pekala, aslında portföyünüze bakılırsa, size bir şey açıklamak bana düşmez! ..-) Önce start () işlevinden anladığım ve neden bir organize etme fikrinden hoşlanmadığımı açıklayayım. içinde döngü. Başlatma fonksiyonunun, terminal programının dahili kesme sisteminden kullanıcıya (veya daha doğrusu onun programına - Expert'e) tahsis edilmiş bir prosedür olduğunu düşünüyorum. Pekala, bu kesintinin içinde döngüler halinde gitmek veya orada kendi kesinti sisteminizi düzenlemek - peki, muhtemelen elim kalkmayacak. MQ bilginleri belgelerde yazıyor olsa da, lütfen - while () döngüsü sizin elinizde, başla ()'da sağlığa sarılın. Ve kim bizi aynı aşağılık döngü boyunca init () ? Tüm değişkenler ve sabitler mevcuttur, tüm fonksiyonlar aynı şekilde çalışır. Fiyat teklifi almak ister misiniz?, ne sıklıkla? Pekala, işte bir kod örneği, 5 saniyelik sıklıkta son onayda alınan ve Close [0] dizisinde saklanan TAZE bir fiyat teklifi alacaksınız:

 //-------------------------------------------
int init()
{
bool end;
while (!end)
{
Sleep ( 5000 );
Print ( "Котировка = " , Close[ 0 ]);
}
return ( 0 );
}
//--------------------------------------------
int start() { return ( 0 );}
//--------------------------------------------
int deinit() { return ( 0 );}
//--------------------------------------------

En sonunda! Bunun hakkında burada okuyun. Sadece bir Expert Advisor ve bir scriptin başlangıcında, beklenti ile çalışır. Diğer tüm yerlerde kesinlikle bastırılır.

Kodunuz MQL4 dil standartlarına uymuyor. Ayrıca bir yerde sistem çağrısı sırasında init ve deinit fonksiyonlarında bekleme süresinin 2,5 saniye ile sınırlı olduğu yazıyordu. Ardından, işlev çıkmaya zorlanır.

 

Bilenler, söyle bana! Nasıl uygulamaya geçirilir? " Bollinger Bantları " göstergesi ile çalışıyorum, ortadaki çizgiyi geçtikten sonra aktivasyon eşiğinin etkinleştirilmesi gerekiyor.

1. Her şey standarda göre, eğer fiyat < alt çizgi olduysa, o zaman Bay

2. > üst ise, Sat

3. Fiyat ortadaki çizgiyi kırarsa, TrailingStop'u açın

Dikkat soru! Sondaki durdurma eşiği ortadaki çizgiye nasıl bağlanır?

 
Top2n :

Bilenler, söyle bana! Nasıl uygulamaya geçirilir? "Bollinger Bantları" göstergesi ile çalışıyorum, ortadaki çizgiyi geçtikten sonra aktivasyon eşiğinin etkinleştirilmesi gerekiyor.

1. Her şey standarda göre, eğer fiyat < alt çizgi olduysa, o zaman Bay

2. > üst ise, Sat

3. Fiyat ortadaki çizgiyi kırarsa, TrailingStop'u açın

Dikkat soru! Sondaki durdurma eşiği ortadaki çizgiye nasıl bağlanır?


Aklıma gelen ilk şey:
Alt çizgi 20. seviyede ve üst sıra 40. seviyede ise, o zaman çizgi tam olarak aralarında ortada bulunur, hangi seviyede yer alacaktır?

30. seviyede çabucak cevap vereceğinizden eminim. Ve şimdi, umarım, hepsini nasıl hesaplayacağınızı bulabilirsiniz. Gerçi ... belki başka bir yöntem bulacaksınız ... :)

 
Top2n :

Bilenler, söyle bana! Nasıl uygulamaya geçirilir? "Bollinger Bantları" göstergesi ile çalışıyorum, ortadaki çizgiyi geçtikten sonra aktivasyon eşiğinin etkinleştirilmesi gerekiyor.

1. Her şey standarda göre, eğer fiyat < alt çizgi olduysa, o zaman Bay

2. > üst ise, Sat

3. Fiyat ortadaki çizgiyi kırarsa, TrailingStop'u açın

Dikkat soru! Sondaki durdurma eşiği ortadaki çizgiye nasıl bağlanır?



1. "Her şey standarda göre, eğer fiyat < alt satırdaysa , Bay" - evet, ve daha yüksekse, depozito satın alın ... :-))) Okumayı ve yazmayı öğrenin. start - Bay şimdilik İngilizce'den... Nedense yazım hatası olmadığına eminim...

2. Bolenger'e göre, onun üst ve alt sınırlarına doğrudan erişiminiz var... daha doğrusu değerlerine... bu değerleri alıyorsunuz.

"Alt çizgi 20. seviyedeyse ve üst sıra 40. seviyedeyse, o zaman çizgi tam olarak aralarında ortada, hangi seviyede yer alacak?" -

İnsanların zaten önerdiği gibi ...

Elde edilen değerleri toplayın, ardından bunları ikiye bölün - sonuç olarak, bu göstergenin orta çizgisine sahipsiniz - bu değerden ve trolün açılması için eşiği örün.

not Artem, cevabının başlatıcısının "iyileşmesi" için özür dilerim - Bay gerçekten beğendi ... ve bu konudaki yorumumdan sonra - bu "sondaki durağı çizgiye geçirmek için eşiği bitirmem gerekiyordu" ortada."