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

 
Igor Makanu :

bu kod çalışır, benzetme ile yapın:

Minimal değişiklikler yapıldı - OrderMagicNumber() analizi kaldırıldı ve üç günlük eklendi.
Sonuç maalesef aynı - bkz. pr. - ilk ekran görüntüsünde, başlangıç (neden 0'dan başlamadığı açık değil), ancak ikinci sırada, 124'ten 99'a atladığı yer.

intSipariş Sayısı()
{
int i,res=0,k=SiparişToplam(); string sy=Sembol();

için(i=0; i<k; i++)
{
log("k = " + k +"; ");
log("i = " + ben +"; ");
if( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
{
if((OrderSymbol()==sy)) res++; //if((OrderMagicNumber()==magic_) && (OrderSymbol()==sy)) res++;
log("res = " + öz +"; ");

}
}
dönüş(ler);
}

Dosyalar:
test_1.png  6 kb
test_2.png  6 kb
 
Alexey Viktorov :
Bu kod hatasız derleniyor mu? İnanmıyorum...
şüpheli olan nedir? Her durumda, MQL4'te herhangi bir hata vermiyor.
 
Algotrader18 :

(neden 0'dan başlamadığı belli değil), ancak ikinci sırada, 124'ten 99'a atladığı yer.

terminal print()'in bir kısmını "yediğinden", MQL'de bilgi çıktısı en düşük önceliğe sahip olduğundan, Print() 'ten önce Slepp(123) ekleyin ve boşluk kalmayacak

mahkeme günlüğü olmasına rağmen, sadece döngü sayacını yazdırıyorsunuz

 
Igor Makanu :

terminal print()'in bir kısmını "yediğinden", MQL'de bilgi çıktısı en düşük önceliğe sahip olduğundan, Print()'ten önce Slepp(123) ekleyin ve boşluk kalmayacak

deneme günlükte olmasına rağmen, sadece döngü sayacını yazdırıyorsunuz

Bu çok ilginç - biraz daha detaylandırabilir misin? Bu "yeme" süreci nasıl gerçekleşir?

Cevabınızdan, onu “yediğim” izlenimini edindim - sadece günlükte görünmüyordu, çünkü daha öncelikli şeyler vardı, ama benim asıl görevim, tüm siparişleri sıralamak, bazılarını silmek, ve danışmanın bazılarını atladığını fark ettim (bu artık en düşük önceliğe sahip bilgilerin çıktısı değil). Sebebini anlamak için görevi basitleştirmeye başladım ve sonuç olarak yalnızca numaralandırmanın kendisi ve günlüğün çıktısı kaldı, ancak burada ayrıca sipariş atlamalarını da görüyorum - yani. danışman birkaç siparişin üzerinden atlar. En düşük bilgi çıktı önceliği, çıktıyı 0'dan başlamadığını iyi açıklar, ancak bu, örneğin 124'ten 99'a atlama durumunda, tutarsız çıktıyı nasıl açıklayabilir.

"Yemek" ile başka bir şey kastediliyorsa, o zaman ne anlamak isterim?
Dosyalar:
test_2.png  6 kb
 
neverness :

Bu harika!

Roman!

Örneğin, 20 yıllık deneyime sahip başarılı bir tüccarım.

"Girilen çiftlerin kapanışları ile onlar için hareketli ortalama arasındaki farka" neden ihtiyacınız olduğunu anlamıyorum.

Ayrıca, bu farklılıklara dayalı olarak hareketli bir ortalama oluşturabilir misiniz? - Fantezi!

Alıntılara dayalı hareketli bir ortalamanın nasıl oluşturulacağını biliyor musunuz? - Ayrıca hayır?

Sorun nedir?

kapanış ortalamalarının farkı, kapanış, ne yazık ki ve ah farkının ortalamasına eşit değil

 
Algotrader18 :
şüpheli olan nedir? Her durumda, MQL4'te herhangi bir hata vermiyor.

1. Kodu gömmeyi öğrenin.

Algotrader18 :

Minimal değişiklikler yapıldı - OrderMagicNumber() analizi kaldırıldı ve üç günlük eklendi.
Sonuç maalesef aynı - bkz. pr. - ilk ekran görüntüsünde, başlangıç (neden 0'dan başlamadığı açık değil), ancak ikinci sırada, 124'ten 99'a atladığı yer.

 int NumberOfOrders()
  {
   int i,res= 0 ,k= OrdersTotal (); string sy= Symbol ();
  
   for (i= 0 ; i<k; i++)
     {
       log ( "k = " + k + "; " );
       log ( "i = " + i + "; " );
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
        {
         if (( OrderSymbol ()==sy)) res++;   //if((OrderMagicNumber()==magic_) && (OrderSymbol()==sy)) res++;
         log ( "res = " + res + "; " );
        
        }
     }
   return (res);
  }

2. log bir logaritmadır???

Not

MathLog() işlevi yerine işlevi kullanabilirsiniz. günlüğü () .

MathLog - Математические функции - Справочник MQL4
MathLog - Математические функции - Справочник MQL4
  • docs.mql4.com
MathLog - Математические функции - Справочник MQL4
 
Roman Sharanov :

Ayrıca ciddi bir kusur buldum, çok sayıda CopyClose () çağrısı

Bir döngüdeki bir dizi döviz çiftinden alıntılarını nasıl kopyalayacağımı söyleyebilir misiniz?

Bir çift dizinin olması gerektiği ortaya çıktı, ancak MQL bunu desteklemiyor, % gibi

"Çift dizi" ne anlama geliyor?

 
Alexey Viktorov :

"Çift dizi" ne anlama geliyor?

iyi iki boyutlu

 
Roman Sharanov :

iyi iki boyutlu

Ve CopyClose'un verileri iki boyutlu bir diziye kopyaladığı nerede yazıyor? Genel olarak, neden iki boyutlu bir diziden bahsedildi?

 
Alexey Viktorov :

Ve CopyClose'un verileri iki boyutlu bir diziye kopyaladığı nerede yazıyor? Genel olarak, neden iki boyutlu bir diziden bahsedildi?

Ek olarak, bir dizide tırnak dizileri depolamam gerekiyor

Bir döngüde bir kez kopyalamak ve ardından hesaplamaları CloseCopy yerine ArrayCopy aracılığıyla gerçekleştirmek için