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

 
Alexey Viktorov :

Peki bu durumda genel olarak bu samopisny işlevleri ne için?

Dünün maksimum ve minimum fiyatlarını aldım ve bu değerlerden ortasını belirledim.

Bilmiyorum ... Hiç düşünmedim ... Bu saati yeniden yazacağım ... bu şekilde daha da kolay ... Teşekkürler!

 
Igor Makanu :

para yönetimi

bu tam olarak optimizasyon değil, hedeflere henüz ulaşılmadı, bekleyen emirler fiyatı rastgele girişlerle takip ediyor, optimize edicide seçim, izin vermemek için genel olarak y=kx+b satır formülü ilkesine dayanmaktadır. sis içinde - bu bir ızgara, neredeyse, ama hedeflere henüz ulaşılmadı

işe yarayacak, ne aradığımı biliyorum, foruma üye olduğumdan beri (uzun bir ara da olsa) piyasalarla uğraşıyorum, tabii ki MQL altında programlama seviyesini yükseltmek çok zaman aldı, ama genel olarak, fikirlerim bir yıl boyunca işçilerin talebi üzerine yazı uzmanlarını geçerek toplandı )) )

sorun değil hadi

Açık, çok açık, çünkü bunu zaten yaşadım.
Yine de, her şey bazı parametreleri bulmaya dayanır (bu durumda en azından y=kx+b doğrusal bağımlılığındaki k ve b katsayıları veya üstel y=ax²+kx+b'deki a,k,x). Bu katsayılar her bir onay işaretiyle değişmeli, bu yüzden optimizasyonun programın kendisinde oturması ve otomatik ve sürekli olarak gerçekleşmesi gerektiğini ve zaman zaman manuel modda harici bir test cihazında (günde veya haftada bir veya yılda bir kez) olmaması gerektiğini söyledim. ay ...). Ayrıca gözlemlenen regresyonun lineer veya parabolik (üstel) olduğu dönemi de kontrol etmeniz gerekir. Bu süre de her tik ile değişmelidir. Her ne kadar bir doğru veya parabol bulmak, belirli bir anda doğrusal veya parabolik bir regresyonun optimal periyodunu bulmakla aynıdır.
Ancak harici bir test cihazı, yalnızca testin yapıldığı tarihsel veri kümesine uyması evrensel olarak garanti edilecek bu tür sabit statik parametreleri her zaman seçebilecek ve elbette bu zaten geçmiş tarihsel dönemde istikrarlı kârlar olacaktır. izlenen ve güzel kazanç çizgileri çizilecek ama bizim bugüne ve geleceğe ihtiyacımız var.

Aynı şekilde, her şey kanal genişliğinin, kanal uzunluğunun, kanal arızasının, doğrusal veya daha yüksek dereceli kanalların arıza çizgisine dönüşün siyah beyaz kontrolüne dayanır. Ve bu, örüntü tanıma sorunudur ve sadece içeride çözülmelidir, dışarıda değil.

 
Nikolai Semko :

Açık, çok açık, çünkü bunu zaten yaşadım.

ben de ve bir kereden fazla

Nikolay Semko :

Ancak harici bir test cihazı, yalnızca testin yapıldığı tarihsel veri kümesine uyması evrensel olarak garanti edilecek bu tür sabit statik parametreleri her zaman seçebilecek ve elbette bu zaten geçmiş tarihsel dönemde istikrarlı kârlar olacaktır. izlenen ve güzel kazanç çizgileri çizilecek ama bizim bugüne ve geleceğe ihtiyacımız var.

sorun şu ki öyle değil, her şey bir test ve bir forvet gibi, grafikler farklı, ama anladığım kadarıyla şu anda EA'mı araştırıyorum fikrinde bir eğilim var, oldukça iyi gelecekteki fiyatın kendisine değil, tam olarak gelecekteki fiyatların yörüngesine düştüğünü

 
Arkadaşlar bu bir soru. Bakın, bir önek artışı ++q ve bir q++ son eki var, onların yeteneklerini kullanarak oldukça farklı ve ilginç bir etki elde edebilirsiniz, örneğin, bu q++ artışını yürütme önceliği, eklemeyi geç / eski tarihlendirmeyi gerçekleştirir. sonra ve hemen değil, bu asal sayılarla nasıl yapılabilir ve mümkün mü, örneğin, böyle bir q + 5 eklemesi istiyorum, önce q kullanmam ve sonra 5 eklemem gerekiyor mu?
 
Seric29 :
Arkadaşlar bu bir soru. Bakın, bir önek artışı ++q ve bir q++ son eki var, onların yeteneklerini kullanarak oldukça farklı ve ilginç efektler elde edebilirsiniz, örneğin, bu q++ artışını yürütmenin önceliği, eklemeyi geç/geri tarihlendirme gerçekleştirir. sonra ve hemen değil, bu asal sayılarla nasıl yapılabilir ve mümkün mü, örneğin, böyle bir q + 5 eklemesi istiyorum, önce q kullanmam ve sonra 5 eklemem gerekiyor mu?

Peki, bunu bir döngü sayacı olarak kullanırsanız, o zaman sadece

 for ( int q = 0 ; q <= 25 ; q+= 5 )
 
Alexey Viktorov :

Peki, bunu bir döngü sayacı olarak kullanırsanız, o zaman sadece

Ve q + 5 ifadesini bir fonksiyona iletirseniz ve önce q'yu çalıştırır, sonra 5k eklerseniz, bunu yapmak imkansızdır, değil mi?

 int q
void Funk( int pr){}
вызвов Funk(...q+ 5 ...) сначала используем q а после прибавляем 5
как здесь например Funk(q++) сначала используем q а после прибавляем 1
 
Bu konu ile ilgili olmayan yorumlar " OOP, mql5'te şablonlar ve makrolar, incelikler ve kullanım teknikleri " bölümüne taşınmıştır.
 
Seric29 :

Ve q + 5 ifadesini bir fonksiyona iletirseniz ve önce q'yu çalıştırır, sonra 5k eklerseniz, bunu yapmak imkansızdır, değil mi?

5 sabit mi yoksa değişken mi? Bu bir sabitse, sorun değil: q'yu fonksiyona iletin ve kullandıktan sonra artı 5'i iletin. Eğer bir değişken ise, iki değişken iletin ve q artı ikinci değişkeni kullandıktan sonra. Diğer bir seçenek de değişkenleri global düzeyde bildirmektir. O zaman hiçbir şey göndermenize gerek yok.
 

Merhaba. Kar =0 olduğunda çok yönlü pozisyonları kapatmak istiyorum Farklı sayıda alış, satış pozisyonu, farklı lot hacimleri.

Ortalama fiyat, yani sıfır kâr noktası için arama fonksiyonunda yanlış olan nedir?

 double AveroProf( string sy= "" , int op=- 1 , int mn1=- 1 ) 
   {
   int i= 0 ;
   int kol= 0 ;
   double lots= 0 ;
   double sum= 0 ;
   double sum1= 0 ;
   double zeroprice= 0 ;
   double tick_value;
   for (i= 0 ; i< OrdersTotal (); i++)
   {
       if (! OrderSelect (i,SELECT_BY_POS,MODE_TRADES)) continue ;
       if (OrderSymbol()!= Symbol ()) continue ;
       if (OrderMagicNumber()!=mn1) continue ;
       if (OrderType()==OP_BUY)
      {
       lots=lots+OrderLots();
       sum=sum+OrderLots()*OrderOpenPrice();
       sum1=sum1+OrderProfit()+OrderSwap()+OrderCommission()  ; 
      }
       if (OrderType()==OP_SELL)
      {
       lots=lots+OrderLots();
       sum=sum+OrderLots()*OrderOpenPrice();
       sum1=sum1+OrderProfit()+OrderSwap()+OrderCommission()  ;
       kol=kol+ 1 ;
      }
   
   }
   if (lots> 0 )
   { 
   zeroprice=sum/lots;
   zeroprice= NormalizeDouble (zeroprice, _Digits );
   zeroprice = ( MathRound (zeroprice* MathPow ( 10 , Digits )))/ MathPow ( 10 , Digits );
    }   
   return ( zeroprice);
   }
 
Lütfen biri bana bu sorunla ilgili yardım etsin: https://www.mql5.com/en/forum/322133
Как использовать WinApi для преобразования времени в StrategyTester MT5?
Как использовать WinApi для преобразования времени в StrategyTester MT5?
  • 2019.09.12
  • www.mql5.com
Я успешно создал CustomSymbol в MT5, и я получаю эту таблицу в приложении...