[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 489

 
DOCTORS :


Muhtemelen tatilden sonra beyin fonksiyonlarım kısmen düzeldi, bu da kendi düşüncelerimi aktarmada düşük düzeyde ifade ediliyor :(

Mesele biraz farklı:

1. Danışman başlar başlamaz, depozitonun başlangıç değerini bir değişkene atadım (sadece bir atama işlevi arıyorum, elbette, ilk ayarlarda belirterek manuel olarak yazabilirsiniz, ancak Programlama yeteneklerimin beceriksizliğiyle zaten suçlandım, ama beyaz insanlar gibi istiyorum).

2. Çünkü sistemim beceriksiz ve sadece bir lotla çalışıyor, o zaman lotun başlangıç değeri (diyelim ki) 1.0...

3. Ve asıl sorunun kendisi - Her karlı işlemden sonra depozitonun ilki ile karşılaştırılmasını istiyorum ve eğer yeni değer (diyelim ki) %30 daha büyük olursa, lot büyüklüğünün değerini 0.1 olarak değiştiririm, yani. 1.0+0.1 ve çünkü sürekli (nüans, değişkenin eski değerini ve yine depozito değerini değişkene atamak için operatörü sürekli olarak değiştirmeniz gerektiği açıktır).

genel olarak böyle bir şey.


Para yönetimi işlevlerini ve çalışmalarını iyice anlayın - kitaplıkta I. Kim'in cilt yönetimi işlevlerine bakın, size bağlantıyı veren ders kitabının versiyonu da dahil olmak üzere diğer seçenekler - işlerinin sırasını anladığınızda, sonra emek Kendin yapamayacak, hangisine ihtiyacın var... Bunun gibi bir şey. Bu olmadan - herhangi bir şekilde - tipik problemleri uygulayın ve çözün - ilk etapta IMHO. Fragmana bakın - Igor Kim'den para yönetimi işlevleri.
Dosyalar:
b-lots.mqh  3 kb
 
sss2019 :

Söylesene, başarılı açılışta dosya tanıtıcısı her zaman sıfırdan büyük mü?

Lütfen dosyayı yazmak için açan bu koddaki mantığın doğru olup olmadığına bakın.

yanlış, ve dosya yoksa oluşturulduktan sonra kim kapatacak?

ve sonra, bu durumda terminal size bir açılış hatası verecektir, bu nedenle FILE_CSV | FILE_READ , bu durumda dosya yoksa terminal sessiz olacaktır

 
FAQ :

yanlış, ve eğer mevcut değilse, oluşturulduktan sonra dosyayı kim kapatacak?

ve sonra, bu durumda terminal size bir açılış hatası verecektir, bu nedenle FILE_CSV | FILE_READ, bu durumda dosya yoksa terminal sessiz olacaktır.


İşte orada. Dosya açılmışsa

   if (Handle > 0 )
   FileClose (Handle);

Dosyaya bir giriş yaptım ancak sondaki ayırıcı eklenmemiş ve öğretici otomatik olarak eklendiğini söylüyor.

 FileWrite (Handle, "Pair, Min, Max, Open, Close, Moment" );
 

Ve orada değilse, siz yaratırsınız ve kapatmayın. ya da fazladan bir kapanışınız var (kodun altında)

ayırıcı hakkında - dosyayı hangi ayırıcıyla açarsanız (ve oluşturmayın), bu

 


Hehe, konuyla ilgili avatar. :)

2 Roman - teşekkürler, inceleyeceğiz.

 

SSS :

Ve orada değilse, siz yaratırsınız ve kapatmayın. ya da fazladan bir kapanışınız var (kodun altında)

ayırıcı hakkında - dosyayı hangi ayırıcıyla açarsanız (ve oluşturmayın), bu


Öyleyse neden fazlalığı anlamıyorum, hemen kapatmazsam daha sonra kapatıyorum. Göster sonra lütfen doğru açma ve kapama işlemini gerçekleştirin.

 
göstergede, geçerli çubukta yalnızca bir kez bir Uyarı sinyalinin nasıl görüneceğini söyle. Bir değişken yapmaya çalıştım ve bu değişken 0 değerine sahipken sinyale izin veriliyor, sinyal duyulduğu anda değişken 1 değerini alıyor. Ama bu işe yaramıyor.
 
sss2019 :
göstergede, geçerli çubukta yalnızca bir kez bir Uyarı sinyalinin nasıl görüneceğini söyle. Bir değişken yapmaya çalıştım ve bu değişken 0 değerine sahipken sinyale izin veriliyor, sinyal duyulduğu anda değişken 1 değerini alıyor. Ama bu işe yaramıyor.

https://docs.mql4.com/en/basis/variables/static
 
sss2019 :
göstergede, geçerli çubukta yalnızca bir kez bir Uyarı sinyalinin nasıl görüneceğini söyle. Bir değişken yapmaya çalıştım ve bu değişken 0 değerine sahipken sinyale izin veriliyor, sinyal duyulduğu anda değişken 1 değerini alıyor. Ama bu işe yaramıyor.
Dosyalar:
 
sss2019 :
göstergede, geçerli çubukta yalnızca bir kez bir Uyarı sinyalinin nasıl görüneceğini söyle. Bir değişken yapmaya çalıştım ve bu değişken 0 değerine sahipken sinyale izin veriliyor, sinyal duyulduğu anda değişken 1 değerini alıyor. Ama bu işe yaramıyor.


Genellikle bir LastBarAlert değişkeni yaparım ve alarm tetiklendiğinde buna Time[0] yazarım.

Peki, o zaman temel, LastBarAlert!=Time[0] ise uyarı görüntülenir.

if (Signal && LastBarAlert!=Time[0]){
  Alert('Signal detected');
  LastBarAlert=Time[0];
}