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

 
double func(double x1=0, double x2=0, ну и далее сколько надо аналогично, double x20=0)
{
   double s=0; int k=0;
   if(x1 != 0) { s+=x1; k++; }
   if(x2 != 0) { s+=x2; k++; }
ну и далее сколько надо аналогично
   if(x20 != 0) { s+=x20; k++; }
   if(!k)return 0;

   double rez=s/k;
   Alert("Количество = ", k, "   Результат = ", rez);
   return rez;
}
 
STARIJ :
Bu durumda iletilen tüm değerlerin ortalaması hesaplanamaz.
 
Artyom Trishkin :

Set ve sayıların sayısı önceden bilinmiyorsa, her yeni set için fonksiyon stoklamanız mümkün olmayacaktır.

Evet, burada gördüğüm gibi yine bazı eksiklikler var.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MQL4, yardım ve algoritmalar ve kodlar hakkında herhangi bir acemi sorusu

RomanRott , 2018.01.05 11:56


İşleve birkaç parametre iletmem gerekiyor, ancak farklı durumlarda önceden bilinen farklı bir sayı iletmem gerekiyor
ve bu parametreleri fonksiyonda daha fazla işleyin

si'de, örneğin, bu şekilde uygulanır

int işlev(int a, int b, ...)
Ve biz, her zaman olduğu gibi, telepatlar kulübünün üyeleriyle rekabet ediyoruz ...
 
Alexey Viktorov :

Evet, burada gördüğüm gibi yine bazı eksiklikler var.

Ve biz, her zaman olduğu gibi, telepatlar kulübünün üyeleriyle rekabet ediyoruz ...
Dürüst olmak gerekirse, görevi tam olarak anlamadım. Kendiniz tahmin edemeyeceğiniz birçok soyut sözleşme var.
Miktar ve sayılar önceden biliniyorsa, bu bir şeydir. Kaç tane olduğunu kimse bilmiyor ve çözüme yaklaşım buna bağlı.
 
Alexey Viktorov :

Evet, burada gördüğüm gibi yine bazı eksiklikler var.

Ve biz, her zaman olduğu gibi, telepatlar kulübünün üyeleriyle rekabet ediyoruz ...

Şu anda kahvemi kişisel olarak bitirecek olan ben değilim, kahve telvesi üzerine fal bakmaya çalışacağım, ancak kodu (en azından bir parçasını) böyle görmüyoruz, yani öyle. neden dans edileceği daha net =)

 

Bir şey tahmin etti...

 void OnTick ()
  {
     int num = MathRand ()% 10 + 1 ;
     double bars[];
     if ( CopyOpen ( Symbol (), 0 , 0 , num, bars ) == num )
          func(( int ) SymbolInfoInteger ( Symbol (), SYMBOL_DIGITS ), bars);
  }

int func( int digit, double &array[])
  {
     int num = 0 ;
     for ( int i= 0 ; i< ArraySize (array); i++)
     {
           /* что-то делаем */
     }
     return (num);
  }

Bu seçenek size uzun süredir teklif edilmiş olsa da, belki görünürlük yardımcı olacaktır.

 

Hepinize iyi günler. Lütfen sorunun ne olabileceğini söyle.

Danışmanı Alpari web sitesinden indirilen MT-4 test cihazında test ediyorum. Dün her şey yolundaydı, ancak bugün MetaEditor kodu derlemeyi aniden durdurdu (derleme sürecini başlatmıyor).

COMPILE düğmesine bastıktan sonra hiçbir şey olmuyor. Düğme basılı kalır. Düzenleyiciyi kapatmaya çalışıyorum... imleç bir saate dönüşüyor ve düzenleyicide YANIT VERMİYOR kelimesi görünüyor, ancak düzenleyici kapanmıyor. Görev Yöneticisinden bile kapanmıyor. Bilgisayarı yeniden başlatıyorum - her şey tamamen aynı.

Alpari sitesinden başka bir terminal kurdum, editörü açtım. Yerleşik Expert Advisor'ı derlemeye çalıştım. Her şey aynı .... ne hata ile ne de hatasız derlenir. Editör donuyor.

OS XP'm var

Yardım için teşekkürler.

 

XP veya sevgiyle Piggy - geçmişte kaldı. Yeni bilgisayar, yeni işletim sistemi, yeni zihniyet için yeni yatırım gerekiyor

 
STARIJ :

XP veya sevgiyle Piggy - geçmişte kaldı. Yeni bilgisayar, yeni işletim sistemi, yeni zihniyet için yeni yatırım gerekiyor

Ama neden dün normal olarak derlendi. Ve bugün durdu. Terminali güncellemedim. Sunucuyla bağlantım bile yoktu.
 

Selamlar. Lütfen bana bir grup grafik nesneden (çizgiler, daireler, vb.)

Neden: