[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 27

 
volshebnik :
Evet detaylı anlatım için çok teşekkür ederim Tüm TF için optimizasyonu etkinleştirin. Optimizasyon + farklı alanlarda test ettikten sonra çıkan sonuçlara göre abonelikten çıkacağım.


Bir Expert Advisor'da onlardan gösterge değerleri elde etmek için olası TF'leri programlı olarak numaralandırma ve optimize etme olasılığını sordunuz. Bu şu şekilde mümkündür - örneğin -

dosyadaki kod parçaları - böyle bir işlemin yapıldığı dergiden bir uzman - her şey yorumlarla ayrıntılı olarak açıklanıyor

......
extern int t_trend_period= 7 ;
......

int trend_period=GetPeriod(t_trend_period); // это ф-ия для определения ТФ согласно заданному значению t_trend_period - заданному во внешней переменной (диапазон от 0 до 7)

double t_stoch_main= iStochastic ( NULL ,trend_period,t_Kperiod,t_Dperiod,t_slowing, MODE_SMA , 0 ,MODE_MAIN, 0 );
......

// сама ф-ия выбота ТФ для оптимизации по всем периодам 
int GetPeriod( int period)
{ int periodres;
 switch (period)
  {
   case 1 : periodres= 1 ; break ;
   case 2 : periodres= 5 ; break ;
   case 3 : periodres= 15 ; break ;
   case 4 : periodres= 30 ; break ;
   case 5 : periodres= 60 ; break ;
   case 6 : periodres= 240 ; break ;
   case 7 : periodres= 1440 ; break ;
   default : periodres= 1 ; break ;
  }
return (periodres);
}

Belki başka biri böyle bir şeyi faydalı bulur.

Dosyalar:
 

Lütfen bana söyle! Nasıl yapılır, diyelim ki saatlik zaman diliminde (H1) yeni bir çubuk açıldı ve böylece 50 dakika sonra bu çubukta yaklaşık 50 dakika süre iyi okunur. sinyal verecektir. Uyku'yu duydum.

 
anton777 :

Lütfen bana söyle! Nasıl yapılır, diyelim ki saatlik zaman diliminde (H1) yeni bir çubuk açıldı ve böylece 50 dakika sonra bu çubukta yaklaşık 50 dakika süre iyi okunur. sinyal verecektir. Uyku'yu duydum.

 int minutes= 50 ; 

if ( TimeCurrent ()>=iTime( NULL , PERIOD_H1 , 0 )+minutes* 60 ){

   /// 

}
 

Garip bir şey alıyorum - grafikteki ve danışmanın içindeki özel gösterge tamamen farklı rakamlar veriyor. Gösterge, MetaStock'tan LinearReg'in bir MQL analogudur. Böyle yazılır

 #property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Magenta

extern int   RPeriod = 20 ;

int shift = 0 , cnt = 0 ,loopbegin = 0 ;
bool first = True;
int prevbars = 0 ;
double sum = 0 , WT = 0 ;
int i = 0 ;

double val1[];

int init()
{
SetIndexBuffer ( 0 ,val1);
   return ( 0 );
}

int start()
{
   if (RPeriod< 1 ) 
   {
   return ( 0 );
   }
   loopbegin= Bars -RPeriod- 1 ;
   for (shift=loopbegin; shift>= 0 ; shift--)
   {
      sum= 0 ;
       for (i=RPeriod; i>= 1 ; i--)
      {
         sum=sum+(i-(RPeriod+ 1 )/ 3 )*Close[RPeriod-i+shift];
      }
      WT = sum* 6 /(RPeriod*(RPeriod+ 1 ));

           val1[shift] = WT;
        }
   return ( 0 );
}
Bir grafiğe uygulandığında, MetaStock'takiyle tamamen aynı şeyi gösterir. Ancak bunu bir ticaret danışmanına eklemeye değer, bu nedenle fiyatların 1,29 civarında olduğu EURUSD bölümünde değeri 1,4'ten fazla çıkıyor (gösterge_chart_window özelliği ile). Doğal olarak, MetaStock için yeniden üretilen ticaret sistemleri çalışamaz, her zaman bir pozisyonda oldukları ortaya çıkar. EA'nın sonuçlarına tıklarsam, bu göstergenin çizgisi çok uzakta kalır, ancak basitçe yeniden derlersem, MetaStock'ta olduğu gibi grafik hemen doğru olur. Neden böyle bir fark olduğunu anlayamıyorum.
 

Merhaba sevgili uzmanlar!

Senden yardım istemek istiyorum! Yani: İlk Uzman Danışmanımı görevlerle uydurmaya çalışmak istiyorum ...
1-pipser
2-M5
3-Durma ve kalkış parametrelerini ayarlayabilme özelliği ile
4-Böylece, belirli bir seviyeye ulaşıldığında her seferinde pozun tersine çevrilmesi (isteğe bağlı olarak) çekimlerin yerine mümkün olacaktır.
manuel olarak durdurmadan önce, diyelim ki kısayol tuşlarında.
5-Kesinlikle hindi yoktur.
Herşeye bak umarım yüklememişimdir
Aslında, en azından kaynak kodun bir parçasına ihtiyacım var, peki ya da bir düzen, peki, bu çok karmaşık olmazdı.
yardımın için umarım

 
Mr.Ross :

Merhaba sevgili uzmanlar!

Senden yardım istemek istiyorum! Yani: İlk Uzman Danışmanımı görevlerle uydurmaya çalışmak istiyorum ...
1-pipser
2-M5
3-Durma ve kalkış parametrelerini ayarlayabilme özelliği ile
4-Böylece, belirli bir seviyeye ulaşıldığında her seferinde pozun tersine çevrilmesi (isteğe bağlı olarak) çekimlerin yerine mümkün olacaktır.
manuel olarak durdurmadan önce, diyelim ki kısayol tuşlarında.
5-Kesinlikle hindi yoktur.
Herşeye bak umarım yüklememişimdir
Aslında, en azından kaynak kodun bir parçasına ihtiyacım var, peki ya da bir düzen, peki, bu çok karmaşık olmazdı.
yardımın için umarım

https://www.mql5.com/ru/articles/1413
 
Mr.Ross :

Senden yardım istemek istiyorum!

Programlama açısından anlaşılmaz anlar varsa yardım isteyin ama unutmayın: "Boğulmayı kurtarmak boğulanların kendi işidir" = Anlaşılmaz anların olduğu kodun bir kısmını gösteriyorsunuz, kod 1.5 bin satır - kendin boşver ;)
 
Ilya81 :

garip bir şey alıyorum

bazı basit göstergeleri ve EA'nın bu göstergeden iCustom() aracılığıyla aldığı verileri görsel olarak karşılaştırmaya çalışın, bence MovingAverage deneyler için uygun bir göstergedir

muhtemelen iCustom () işlevini yanlış kullanıyorsunuz

 
Integer :

Çok teşekkürler!
 

Herhangi biri instaforex MT4 üzerinde çalışıyorsa bir sorunla karşılaşmış olabilir:

demoda dört haneleri var, gerçekte beş hane var, ama çok garip - teklif ve talep dört haneye yuvarlanıyor.


işte kod:

   if (Poz_Up)
      {
         ticket= OrderSend ( Symbol (),OP_BUY, 0.01 ,Ask, 3 , NormalizeDouble (Bid- 300 * Point , Digits ), NormalizeDouble (Ask+ 300 * Point , Digits ),Komment, 0 , Green );
      }
   if (Poz_Dn)
      {
         ticket= OrderSend ( Symbol (),OP_SELL, 0.01 ,Bid, 3 , NormalizeDouble (Ask+ 300 * Point , Digits ), NormalizeDouble (Bid- 300 * Point , Digits ),Komment, 0 , Green );
      }

300pp veya 3000pp bir pozisyon açarken SL&TP verir, sanki her seferinde hangi Basamakların eşit olduğunu yeni bir şekilde belirliyormuş gibi.

Bu sorunun üstesinden nasıl gelinebileceğini önerebilecek olan var mı ve buna benzer bir durumla karşılaşan var mı, yoksa sadece ben miyim?