Kimin stratejiye ihtiyacı var? Çok ve ücretsiz - sayfa 50

 

"Barlara Göre Günlük" ile "Pozisyona Göre Günlük" arasında hiçbir fark yoktur. Bilgileri yalnızca farklı bir şekilde görüntülerler.


*Ve Veri Çubukları Filtresi "filtreler" "Konuma Göre Günlüğü"* öyle görünür çünkü "En eski 'm' çubuklarından" önce giriş yoktur. "Journal by Bars", programda yüklü oldukları için çubukları gösterir, ancak "En Eski" çubuklarda işlem yapılmaz.


"Veri Çubukları Filtresi" ve "Tarih Filtresi" tam olarak budur - filtrelerdir. Belirtilen aralık için piyasaya girişe izin vermek (veya yasaklamak) için kullanılırlar. Bu strateji mantığını değiştirmez.


Bir "Kapanış mantığı Koşulu" yuvasında "Veri Çubukları Filtresi" veya "Tarih Filtresi" kullanamayız. Bu, stratejiden çıkış mantığını değiştirirdi.

 
Miroslav_Popov писал(а) >>

"Barlara Göre Günlük" ile "Pozisyona Göre Günlük" arasında hiçbir fark yoktur. Bilgileri yalnızca farklı bir şekilde görüntülerler.

*Ve Veri Çubukları Filtresi "filtreler" "Konuma Göre Günlüğü"* öyle görünür çünkü "En eski 'm' çubuklarından" önce giriş yoktur. "Journal by Bars", programda yüklü oldukları için çubukları gösterir, ancak "En Eski" çubuklarda işlem yapılmaz.

"Veri Çubukları Filtresi" ve "Tarih Filtresi" tam olarak budur - filtrelerdir. Belirtilen aralık için piyasaya girişe izin vermek (veya yasaklamak) için kullanılırlar. Bu strateji mantığını değiştirmez.

Bir "Kapanış mantığı Koşulu" yuvasında "Veri Çubukları Filtresi" veya "Tarih Filtresi" kullanamayız. Bu, stratejiden çıkış mantığını değiştirirdi.

Bütün bunları mükemmel bir şekilde anladım.

Başvurmaya çalıştığım bu "sapıklıklar"

1. Optimizasyon alanını sol ve sağ tarafta sınırlayın.

2. Optimizasyon alanının dışından sonra stratejinin davranışını görün.

3. Kademeli eğriler, grafiğin nispeten gerçek kısmına bakmayı engellemedi. (madde 1 - sol ve sağla sınırlı tarihin planına bakın)

4. Düğmeye basma sayısının en aza indirilmesi.

(Evet, aslında çoğu zaman geçmişin bir kısmına daha yakından "bakmak" gerekir. Aynı zamanda ayrı bir (tam grafik) "Dengeler/Özkaynak Tablosu" penceresinin açılması uygun değildir)

Ve tüm bunlar, Data Horizont'ta "Daha eski verileri kaldır" bölümündeki bir onay işaretiyle hatayı düzeltmeden önce .

Onlar. Bir Data Horizont düzeltmesi bekleyen patlama! !!!

 

Pozisyonlardaki ilk çubuk log ... 12 54 . Hangi, IMHO, değişmemeli.


Forex Strateji Oluşturucu minimum 300 çubuk istiyor. UTB için 15 54 - 300 = 12 54

 
/// <summary>
/// Data Horizon - Cuts some data
/// </summary>
int DataHorizon ( )
{
	if ( iBars < MINIMUMBARS ) return 0 ;

	int   iTempBars     = iBars ;
	int   iTempStartBar = 0 ;
	int   iTempEndBar   = iBars - 1 ;
	bool bChange       = false ;

	// Set the maximum nuber of bars
	if ( iBars > iMaxBars & & iMaxBars > = MINIMUMBARS )
	{    // We need to cut out the oldest bars
		iTempBars     = iMaxBars ;
		iTempStartBar = iBars - iMaxBars ;
		bChange       = true ;
	}
	

	// Set the starting date
	DateTime dtStartingDate = new DateTime ( iStartYear , iStartMonth , iStartDay ) ;
	if ( bUseStartDate & & aBar [ iTempStartBar ] . Time < dtStartingDate )
	{    // We need to cut out the oldest bars
		for ( int iBar = iTempStartBar ; iBar < iTempBars - MINIMUMBARS ; iBar + + )
		{
			if ( aBar [ iBar ] . Time > = dtStartingDate )
			{
				iTempStartBar = iBar ;
				iTempBars     = iTempEndBar - iTempStartBar + 1 ;
				bChange       = true ;
				break ;
			}
		}
	}

	// Set the end date
	DateTime dtEndingDate   = new DateTime ( iEndYear , iEndMonth , iEndDay ) ;
	if ( bUseEndDate & & aBar [ iTempEndBar ] . Time > dtEndingDate )
	{    // We need to cut out the newest bars
		for ( int iBar = iTempStartBar + MINIMUMBARS ; iBar < iTempEndBar ; iBar + + )
		{
			if ( aBar [ iBar ] . Time > = dtEndingDate )
			{
				iTempEndBar = iBar - 1 ;
				iTempBars   = iTempEndBar - iTempStartBar + 1 ;
				bChange     = true ;
				break ;
			}
		}
	}

	// Cut the data
	if ( bChange )
	{
		Bar [ ] aBarCopy = new Bar [ iBars ] ;
		aBar . CopyTo ( aBarCopy , 0 ) ;

		aBar = new Bar [ iTempBars ] ;
		for ( int iBar = iTempStartBar ; iBar < = iTempEndBar ; iBar + + )
			aBar [ iBar - iTempStartBar ] = aBarCopy [ iBar ] ;

		iBars    = iTempBars ;
		dtTime = aBar [ iTempBars - 1 ] . Time ;
		bCut   = true ;
	}

	return 0 ;
}

MİNİMUMBARLAR = 300

iMaxBars - "Data Horizon"da belirlediklerimiz

 

:( Kodu düzgün yayınlayamıyorum. Öndeki sekmeleri kaldırıyor.

 
Miroslav_Popov писал(а) >>

// Set the starting date
DateTime dtStartingDate = new DateTime(iStartYear, iStartMonth, iStartDay);
if (bUseStartDate && aBar[iTempStartBar].Time < dtStartingDate)
{ // We need to cut out the oldest bars
for (int iBar = iTempStartBar; iBar < iTempBars - MINIMUMBARS; iBar++)
{
if (aBar[iBar].Time >= dtStartingDate)
{
iTempStartBar = iBar;
iTempBars = iTempEndBar - iTempStartBar + 1;
bChange = true;
break;
}
}
}

onlar. (metin biçimlendirmesi değil, "simge" Ctrl+Alt+M kullanılmalıdır)

 if ( bUseStartDate & & aBar [ iTempStartBar ] . Time < dtStartingDate )
{ // We need to cut out the oldest bars
 for ( int iBar = iTempStartBar ; iBar < iTempBars - MINIMUMBARS ; iBar + + )
 {
  if ( aBar [ iBar ] . Time > = dtStartingDate )
  {
   iTempStartBar = iBar ;
   iTempBars = iTempEndBar - iTempStartBar + 1 ;
   bChange = true ;
   break ;
  }
 }
}

ilk if için başka nerede?

ya da istedi

if (bUseStartDate && aBar[iTempStartBar].Time < dtStartingDate)
 iTempStartBar = Какая_там_функция_пересчета_времени_в_бары(dtStartingDate)

Benzer şekilde "bitiş tarihi" için

 

** eğer ilki için else nerede?**

Verileri şu durumlarda keseriz:

1. Onay kutusu işaretli: buseStartDate == true

2. Seçilen tarih, geçmiş verilerimizin başlangıcından sonra (daha yeni): aBar[iTempStartBar].Time < dtStartingDate


Tersi durumda, basitçe kesme yoktur.


-------

Düzenlemek:

30 Eylül 2008'den daha eski bir tarihi kaldıramazsınız. Bunun nedeni, bunları kaldırırsanız 300'den az çubuk kalmasıdır. (günlük grafik)


için (int iBar = iTempStartBar; iBar < iTempBars - MINIMUMBARS ; iBar++)

 
Miroslav_Popov писал(а) >>

** eğer ilki için else nerede?**

Evet. acele et, üzgünüm. :(

H4'te bir strateji oluşturmak için 2,5 aydan (300/6=50 gün - çubuksuz izin günleri ~ 2,5 ay) daha kısa bir süre kullanamayacağım ortaya çıktı, ancak strateji kontrol aralığı (OOS) başlamalıdır. geçerli tarihten en geç 2,5 ay önce (uygun değil, çünkü ayarlanmış stratejinin bu kadar uzun süre dayanacağından şüpheliyim ve “dünden önceki gün optimize edilen stratejinin bugün nasıl davranacağını” izlemek daha ilginç) veya “ kesişen bölüm” veya .. .dosyaya boş çubuklar ekleyin (umarım bilgisayar zamanı kontrol edilmez)

:)

Özet - Çubuk sayısını her zaman maksimuma ayarlıyorum (nesil donmasın diye) ve optimizasyon/doğrulama aralıklarını tarihlerle birlikte belirliyorum.

 

. добавлять пустые бары в файл (надеюсь, что время компьютера не проверяется)


Onları yakalayacaktır. "Piyasa" - "Verileri Kontrol Et" onay işaretini kaldırın

 
voltair >> :

Doğru seçimi yapmak için hangi bilgilere ihtiyaç var? Neyin keşfedilmesi gerekiyor?

Pekala, örneğin... stratejinin farklı piyasa türlerinde nasıl davrandığı, peki, şimdi bile... Sık sık yılda 2'den fazla karla karşılaşıyorum ve geçen ay düşüşler var ve trend devam ediyor.