MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 297

 
Dmitriy Voevodkin :

aracılığıyla işlem geçmişi ile çalışın

SiparişlerGeçmişiToplam()

OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)


Cevap için teşekkürler. Sipariş kapalıysa tarihten seçilmesi gerektiğini anlıyorum (tarihte sonuncusu olarak) Sadece bu şartı nasıl yazacağımı bilmiyorum ve en önemlisi nasıl belirtileceğini (bulduktan sonra) ) eğer kar al ile kapatılmışsa, o zaman ..., eğer zararı durdur o zaman...?

 

İyi günler, bu soruyu biliyorum .... Nedense, Init () danışmanındaki işlevin yalnızca danışmanı veya derlemeyi ekleme anında değil, aynı zamanda bağlantı kopması sırasında da başlatıldığını düşündüm. bağlantı koptuktan sonra geri yüklenir, ancak bu böyle değildir. Bağlantı geri yüklendikten sonra init () işlevini yetkin bir şekilde nasıl başlatacağımı söyle????

 
Lütfen bana burada nasıl doğru olduğunu ve hangi parantezlerin nereye yerleştirileceğini söyleyin. Ve belirtilen bool doğru mu? Harici bool'den farkı nedir? (ya da böyle bir şey)

"
Bool Hacimleri

if (Hacim[1]>Hacim[2]) f=true; başka f=yanlış ;
(f) ticaret ise; yoksa ticaret yapmayın
"
Dosyalar:
 
Tigerfreerun :
Lütfen bana burada nasıl doğru olduğunu ve hangi parantezlerin nereye yerleştirileceğini söyleyin. Ve belirtilen bool doğru mu? Harici bool'den farkı nedir? (ya da böyle bir şey)

"
Bool Hacimleri

if (Hacim[1]>Hacim[2]) f=true; başka f=yanlış ;
(f) ticaret ise; yoksa ticaret yapmayın
"

imleci Volume üzerine getirin ve F1 tuşuna basın.

Hacim bir operatördür.

değişken bool f;

Prensip olarak, herhangi bir operatörün üzerine gelip F1'e basabilirsiniz - her şey orada ayrıntılı olarak açıklanmaktadır.
 
Dmitriy Voevodkin :

imleci Volume üzerine getirin ve F1 tuşuna basın.

Hacim bir operatördür.

değişken bool f;

Prensip olarak, herhangi bir operatörün üzerine gelip F1'e basabilirsiniz - her şey orada ayrıntılı olarak açıklanmaktadır.
Soru parantezlerle ilgiliydi, "{,}" nereye yazılacak? Bu parantez yerleştirme algoritmasını anlamıyorum. Her şeyi aynen dediğin gibi yazdım ve "küresel kapsam" kelimesiyle 4 yanlış
 
Mihail Marchukajtes :

İyi günler, bu soruyu biliyorum .... Nedense, Init () danışmanındaki işlevin yalnızca danışmanı veya derlemeyi ekleme anında değil, aynı zamanda bağlantı kopması sırasında da başlatıldığını düşündüm. bağlantı koptuktan sonra geri yüklenir, ancak bu böyle değildir. Bağlantı geri yüklendikten sonra init () işlevini yetkin bir şekilde nasıl başlatacağımı söyle????


Init hiçbir şekilde başlatılamaz, tıpkı DeInit gibi gösterge/EA başlatıldığında bir kez otomatik olarak başlatılır.

Alternatif olarak, statik bir boole değişkeni yapabilir ve bunu IsConnected() ile birlikte kullanabilirsiniz. Ve yeni bir onay işaretinin gelmesiyle bağlantı yeniden kurulduğunda, önce bir tür kendi başlatma işlevini çalıştırın. True , IsConnected() öğesinin OnCalculate() içinde değil, OnTimer() içinde kullanılması gerekir , ancak OnCalculate() öğesinin en başında kendi başlatma işlevinin kullanılması gerekir.

 
Dmitriy Voevodkin :

imleci Volume üzerine getirin ve F1 tuşuna basın.

Hacim bir operatördür.

değişken bool f;

Prensip olarak, herhangi bir operatörün üzerine gelip F1'e basabilirsiniz - her şey orada ayrıntılı olarak açıklanmaktadır.
Hatanın ekran görüntüsü
Dosyalar:
 
Tigerfreerun :
Hatanın ekran görüntüsü

İlk defa böyle bir ekran görüntüsü görüyorum =)

Normal Windows araçlarıyla ekran görüntüsü alma olanağınız yok mu?

 

Kodla.

Hacim küçükse sadece bir dönüş yapın, yani daha fazla kodun yürütülmesini durdurun

 if ( Volume [ 0 ] < 1000) return ;
 
Tigerfreerun :
Hatanın ekran görüntüsü

bozuk MQL sözdizimi. Bu durumda, bool Volume'den sonra fazladan bir noktalı virgül vardır ve derleyici ayrıca parantez () isteyecektir, ancak size zaten bu durumda bunun mantık olduğunu yazdım, bir uzman için kod değil.