Ubzen Sistem Geliştirme Süreci - sayfa 4

 
sakis :


piyasa yön değiştirdiğinde satması gereken her iki sisteme de müdahale ediyorum

3WLMA ve 100SMA 30 dakikalık EUR/USD tp 150pip arasında basit bir geçiş yaparsanız ve geçiş SL değilken çıkarsanız, sonunda aşırı uçlarla karşılaşacaksınız.

bir süre kullandığım karlı sistem sonuçlara bak ve %13 geri çekilme ile bana yaz

Bu sistem (3LWMA 100SMA cross) EURUSD H1,H4 ve Daily grafiğinde çalışmaz.
 
zzuegg :
Bu sistem (3LWMA 100SMA cross) EURUSD H1,H4 ve Daily grafiğinde çalışmaz.

merhaba zzuegg 30 dakikalık çizelgede çalıştığını ve sadece euro dakikalık çizelgede çalıştığını biliyorum, sistemi macd ile kendi kendine koyun
 

sakis :

hi zzuegg i know that,

30 dakikalık grafikte çalışır ve sadece euro ile çalışır

sadece sistemi macd ile kendi kendine koy
 
sakis :


bazen sistem canlı ticarette otomatikten daha iyi çalışır çünkü insan gözü 6. tuştan önce bir konsolidasyona asla giremezsiniz

Chanel'in ve aynı zamanda bir itme olayının öncesinde

üst üste binen dalgalar meydana gelmeden önce asla bir karşı trend hareketi yapmadığınız için, kanal aşma ani artışının ardından

ayrıca 1 veya 2 günlük kısa bir süre içinde 3. veya 4. hamlede ve yüksek tik değerleri gerçekleştiğinde, fiyatların güçlü ellerde olduğu anlamına geldiğinden, her şekilde bir kırılma yaşarsınız.

bu yüzden bu insan gözünü kontrol etmek için filtrelere ihtiyacımız var

 

Tamam, işte bahsettiğim kötü dönem. Şimdi, bunu geriye doğru çalıştıracağım, her seferinde 1 yıl. 2009,2008 vb.

İşte yıllık sonuçlar:

2010--Max-DD= 6.47____Rel-DD= 6.47____Net_Profit=4588____Faktör=2.48
2009--Max-DD=26.76____Rel-DD=26.76____Net_Profit=-380____Faktör=0.94
2008--Max-DD=19.79____Rel-DD=19.79____Net_Profit=1096____Faktör=1.20
2007--Max-DD= 7.10____Rel-DD= 7.10____Net_Profit=1506____Faktör=1.62
2006--Max-DD=20.46____Rel-DD=20.46____Net_Profit=-1612____Faktör=0.63
2005--Max-DD= 8.79____Rel-DD= 8.79____Net_Profit= -23____Faktör=0.99

2005----------------

2006-----------------

2007-----------------

2008 --------------

2009 ------------------

2010----------------

Birkaç gözlem.

1) Sistem, çoğu zaman rastgele yerine bir Satırda kaybetme eğilimindedir. Makaleden alınan Z-Skoru bu konuda yardımcı olabilir.

Bu, Profesyonel yatırımcıların neden yılda %20-30 getiri aradığı gerçeğinin altını çizmeye yardımcı olur.

 

Şimdilik sadece 2005'e geri dönebiliyorum çünkü Fxdd'nin burada bulunan verilerini kullanıyorum. Bu verileri kullanmamın nedeni, Fxdd'nin tıpkı brokerim gibi hafta sonu için kapanması ve varsayılan olarak hafta sonu boşluklarına sahip olmasıdır. Ayrıca, zaman ayarları aracımınkine daha yakın. Vaktim olursa 2000-2005 verilerini buradan test edebilirim. Haftalık açıkları Çarşamba günü başlar ve haftanın 6 günü çalışırlar.

Tho, görsel olarak baktığım tek dönem Ocak-Mart 2010 dönemi, En iyi tahminim bu sistem Dar veya Çok Uçucu Aralıklarda olduğu için sırayla kaybediyor. Ancak bu yalnızca 2008 için geçerlidir ve grafiklere bakma deneyiminiz sınırlı olsa bile, bunun Küresel Mali Krizle bir ilgisi olabileceğini ve piyasaların o sırada Korku'ya daha fazla hareket ettiğini tahmin edebilirsiniz.

Peki şimdi ne yapmalı?

-Sonuçları kabul edin (kaybedilen bir yıl olması gibi), Kelly'mizi hesaplayın ve açgözlü olmayın?

-Z-Score gibi daha fazla İstatistiksel Analiz ile ilerlemeye devam edin. Fakat kayıplar arasındaki korelasyon hakkında bir onay alsam bile, o zaman ne olacak? Verileri filtrelemek için hala aşağıdaki gibi diğer yöntemlerle sonuçlanmam gerekebilir.

-Kötü dönemlerde bu şeye görsel modda bakın ve onu öldüren şeyden kaçınmaya çalışın? Dezavantajı, bunun eğri uydurmaya yol açabilmesidir ... eğer çok fazla geçmiş bilgiden kaçınmak sadece geriye dönük testin iyi görünmesini sağlamak için kullanılıyorsa.

-Aralık, oynaklık, zaman, hacim vb. gibi bazı Kör filtreler uygulansın mı? Buradaki dezavantaj, filtrelerin işlem sayısını sınırlamasıdır. Örnek: Bir seferde 1 yönlü ticaret yapmak veya uzun trendlere bağlı kalmak, çoğu insanın bir filtre gibi davrandığının farkında olmadığı bir filtredir. Bu sistemle ilgili tek sıkıntım, çoğu insanı mutlu etmek için makul bir süre içinde 1000 doları mutluluğa dönüştürecek kadar aktif olmaması. Ancak hesaba başka kararlı sistemler eklenerek bunun üstesinden gelinebilir.

-Son fakat en az sevdiğim seçenek: Sistemi çok daha fazla değiştirin. Misal:

a) Yönde Saç Derisi - Dezavantaj, kene verilerine ihtiyacımız olacak. Solid MM ilkeleri bu tür eklentilerle çalışabilir mi?

b) Yön Piramidi - fiyat istediğimiz gibi lot ekleyin - Dezavantajı bize karşı giderken onları nasıl kapatabiliriz?

c) Dolar Maliyet Ortalaması -Zaman aralıkları ile ancak kar almadan önce ekleyin. Dezavantajı, durumsal olarak dikkate alınmamasıdır.

d) Izgara - Konum bize karşı sabit mesafe gittiğinde aynı boyutu ekleyin - Dezavantaj, RRR'nin baş aşağı olmasına neden olur ve MM yetişemez.

e) Yukarıdaki yöntemlerden herhangi birinde Martingale/Progression (ha.ha.ha.ha). Küçük hesapları büyük hesaplara dönüştürmek isteyen biri için bu kulağa çekici gelebilir. Dezavantajı, kesinlikle uygun MM'yi takip edemez.

Ben şahsen bunu olduğu gibi adlandırmaya ve MM ile ilerlemeye eğilimliyim.

Başkalarının ne düşündüğünü bilmek isterim, çünkü diğerleri "Olmaz, daha iyi bir şeye ihtiyacım olacak" gibi hissedebilir.

 
ubzen :

Şimdilik sadece 2005'e geri dönebiliyorum çünkü Fxdd'nin burada bulunan verilerini kullanıyorum. Bu verileri kullanmamın nedeni, Fxdd'nin tıpkı brokerim gibi hafta sonu için kapanması ve varsayılan olarak hafta sonu boşluklarına sahip olmasıdır. Ayrıca, zaman ayarları aracımınkine daha yakın. Vaktim olursa 2000-2005 verilerini buradan test edebilirim. Haftalık açıkları Çarşamba günü başlar ve haftanın 6 günü çalışırlar.

Tho, görsel olarak baktığım tek dönem Ocak-Mart 2010 dönemi, En iyi tahminim bu sistem Dar veya Çok Uçucu Aralıklarda olduğu için sırayla kaybediyor. Ancak bu yalnızca 2008 için geçerlidir ve grafiklere bakma deneyiminiz sınırlı olsa bile, bunun Küresel Mali Krizle bir ilgisi olabileceğini ve piyasaların o sırada Korku'ya daha fazla hareket ettiğini tahmin edebilirsiniz.

Peki şimdi ne yapmalı?

-Sonuçları kabul edin (kaybedilen bir yıl olması gibi), Kelly'mizi hesaplayın ve açgözlü olmayın?

-Z-Score gibi daha fazla İstatistiksel Analiz ile ilerlemeye devam edin. Fakat kayıplar arasındaki korelasyon hakkında bir onay alsam bile, o zaman ne olacak? Verileri filtrelemek için hala aşağıdaki gibi diğer yöntemlerle sonuçlanmam gerekebilir.

-Kötü dönemlerde bu şeye görsel modda bakın ve onu öldüren şeyden kaçınmaya çalışın? Dezavantajı, bunun eğri uydurmaya yol açabilmesidir ... eğer çok fazla geçmiş bilgiden kaçınmak sadece geriye dönük testin iyi görünmesini sağlamak için kullanılıyorsa.

-Aralık, oynaklık, zaman, hacim vb. gibi bazı Kör filtreler uygulansın mı? Buradaki dezavantaj, filtrelerin işlem sayısını sınırlamasıdır. Örnek: Bir seferde 1 yönlü ticaret yapmak veya uzun trendlere bağlı kalmak, çoğu insanın bir filtre gibi davrandığının farkında olmadığı bir filtredir. Bu sistemle ilgili tek sıkıntım, çoğu insanı mutlu etmek için makul bir süre içinde 1000 doları mutluluğa dönüştürecek kadar aktif olmaması. Ancak hesaba başka kararlı sistemler eklenerek bunun üstesinden gelinebilir.

-Son fakat en az sevdiğim seçenek: Sistemi çok daha fazla değiştirin. Misal:

a) Yönde Saç Derisi - Dezavantaj, kene verilerine ihtiyacımız olacak. Solid MM ilkeleri bu tür eklentilerle çalışabilir mi?

b) Yön Piramidi - fiyat istediğimiz gibi lot ekleyin - Dezavantajı bize karşı giderken onları nasıl kapatabiliriz?

c) Dolar Maliyet Ortalaması -Zaman aralıkları ile ancak kar almadan önce ekleyin. Dezavantajı, durumsal olarak dikkate alınmamasıdır.

d) Izgara - Konum bize karşı sabit mesafe gittiğinde aynı boyutu ekleyin - Dezavantaj, RRR'nin baş aşağı olmasına neden olur ve MM yetişemez.

e) Yukarıdaki yöntemlerden herhangi birinde Martingale/Progression (ha.ha.ha.ha). Küçük hesapları büyük hesaplara dönüştürmek isteyen biri için bu kulağa çekici gelebilir. Dezavantajı, kesinlikle uygun MM'yi takip edemez.

Ben şahsen bunu olduğu gibi adlandırmaya ve MM ile ilerlemeye eğilimliyim.

Başkalarının ne düşündüğünü bilmek isterim, çünkü diğerleri "Olmaz, daha iyi bir şeye ihtiyacım olacak" gibi hissedebilir.


Merhaba,

Yönlerde piramit yapmak güçlü görünüyor, benim versiyonum tam olarak bunu yapıyor. İkincil işlemlerle piramit yapıyorum.

Maalesef MAE bize ortalama almanın bu stratejide işe yaramayacağını gösteriyor, maalesef diyorum çünkü bunu seviyorum ;)


Ama başka bir sorum da Phillip'e.

Komut dosyanızda OrderOpen ve OrderClose arasındaki süreyi araştırıyorsunuz, ancak diyagramın gösterdiği gibi, genel bir bakış ve doğru bir MAE/MFE hesaplaması elde etmek için açma/kapama öncesi ve sonrası bir süre araştırmanız mı gerekiyor? yanlış yolda mıyım?

 
zzuegg :

Ama başka bir sorum da Phillip'e.

Komut dosyanızda OrderOpen ve OrderClose arasındaki süreyi araştırıyorsunuz, ancak diyagramın gösterdiği gibi, genel bir bakış ve doğru bir MAE/MFE hesaplaması elde etmek için açma/kapama öncesi ve sonrası bir süre araştırmanız mı gerekiyor? yanlış yolda mıyım?


Doğru. Ticaret bazında, MAE zamanının MFE zamanına göre ilk mi yoksa son mu gerçekleştiğini hesaplamanız gerekir. MAE'nin MFE'den önce gerçekleştiği işlemlere "Tip 1" denir. MFE'nin MAE'den önce gerçekleştiği işlemlere "Tip 2" denir.

Stratejinizin piyasa tahmini yeteneğini ifade etmek için kolay bir ölçüm, Tip 1 işlemlerin oluşumlarını toplam işlem sayısıyla basitçe oranlamak ve %100 ile çarpmaktır. Bir yılda 100 işleminiz olduğunu varsayalım, bunlardan 90'ı Tip 1 ve 10'u Tip 2'dir. Yani "tahmin başarı oranınız" 90/100 x %100 = %90'dır.

Daha iyi bir yakın vadeli piyasa tahmin oranına sahip stratejiler, kısa vadeli piyasa yönünü doğru bir şekilde tahmin edemeyen stratejilerden daha fazla arzu edilir. (tüm bariz sebeplerden dolayı)
 

Tamam, bunu anladınız, ancak TimeToMAE'nin açık zaman ile ilgili gerçekliğinin olumsuz ve olumlu olmasına da izin vermeli misiniz? Ticarete erken girdiğinizde pozitif tToMAE ve geç girdiğinizde negatif. Elbette değerlerin ortalamasını almak mükemmel bir stratejiyle sonuçlanabilir, dolayısıyla tToMAE'nin StdDev'ine de bakmanız gerekir.

Gördüğüm kadarıyla negatif tToMAE'lere izin vermiyorsunuz.

WatchBarsBeforeOpen ve WatchBarsAfterClose değişkenlerini tanıtarak bu sorunun üstesinden geldiğimi düşünüyorum. Bunun hala erken bir çalışma olduğunu unutmayın. tToMAE ve tToMFE, kullanılan zaman çerçevesinin izin verdiği kadar dakika cinsinden kesindir.

Henüz hiçbir analiz dahil edilmedi, sadece ham veriler

 //+------------------------------------------------------------------+
//|                                      AdvancedReport_03_04_11.mq4 |
//|                                                           zzuegg |
//|                                       when-money-makes-money.com |
//+------------------------------------------------------------------+
#property copyright "zzuegg"
#property link       "when-money-makes-money.com"

extern int WatchBarsBeforeOpen= 10 ;
extern int WatchBarsAfterClose= 10 ;
extern int WatchPeriod= 0 ;

int ticket[];
int mae[];
int mae.time[];
int mfe[];
int mfe.time[];
int mfee[];
int profit[];
int missed[];

void reportTrade( int trade){
   OrderSelect (trade,SELECT_BY_TICKET,MODE_HISTORY);
   int start   =(iBarShift(OrderSymbol(),WatchPeriod,OrderOpenTime(),false) +WatchBarsBeforeOpen)+ 1 ;
   int end     =iBarShift(OrderSymbol(),WatchPeriod,OrderCloseTime(),false) -WatchBarsAfterClose;
   int highest =iHighest (OrderSymbol(),WatchPeriod,MODE_HIGH,(start-end)+ 1 ,end);
   int lowest  =iLowest  (OrderSymbol(),WatchPeriod,MODE_LOW,(start-end)+ 1 ,end);
   // Print(OrderTicket()+"  "+start+"  "+end+"  "+highest+"  "+lowest);
   ArrayResize (ticket, ArraySize (ticket)+ 1 );   
   ArrayResize (mae, ArraySize (mae)+ 1 );
   ArrayResize (mae.time, ArraySize (mae.time)+ 1 );
   ArrayResize (mfe, ArraySize (mfe)+ 1 );
   ArrayResize (mfe.time, ArraySize (mfe.time)+ 1 );
   ArrayResize (mfee, ArraySize (mfee)+ 1 );
   ArrayResize (profit, ArraySize (profit)+ 1 );
   ArrayResize (missed, ArraySize (missed)+ 1 );
   
   //Print(TimeMinute(OrderOpenTime())+"  "+TimeMinute(OrderCloseTime())+"  "+TimeMinute(iTime(OrderSymbol(),WatchPeriod,lowest))+"  "+TimeMinute(iTime(OrderSymbol(),WatchPeriod,highest)));
   ticket[ ArraySize (ticket)- 1 ]            =OrderTicket();
   switch (OrderType()){
       case OP_BUY:{
         mae[ ArraySize (mae)- 1 ]            =(OrderOpenPrice()-iLow(OrderSymbol(),WatchPeriod,lowest))/MarketInfo(OrderSymbol(),MODE_POINT);
         mae.time[ ArraySize (mae.time)- 1 ]  =(OrderOpenTime()-iTime(OrderSymbol(),WatchPeriod,lowest))/ 60 ;
         mfe[ ArraySize (mae)- 1 ]            =(iHigh(OrderSymbol(),WatchPeriod,highest)-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT);
         mfe.time[ ArraySize (mae.time)- 1 ]  =(OrderOpenTime()-iTime(OrderSymbol(),WatchPeriod,highest))/ 60 ;
         profit[ ArraySize (profit)- 1 ]      =(OrderClosePrice()-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT);
         missed[ ArraySize (missed)- 1 ]      =(mae[ ArraySize (mae)- 1 ]+mfe[ ArraySize (mfe)- 1 ])-profit[ ArraySize (profit)- 1 ];
         mfee[ ArraySize (mfee)- 1 ]          =(mfe[ ArraySize (mfe)- 1 ])-profit[ ArraySize (profit)- 1 ];
       break ;
      }
       case OP_SELL:{
         mae[ ArraySize (mae)- 1 ]            =(iHigh(OrderSymbol(),WatchPeriod,highest)-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT);
         mae.time[ ArraySize (mae.time)- 1 ]  =(OrderOpenTime()-iTime(OrderSymbol(),WatchPeriod,highest))/ 60 ;
         mfe[ ArraySize (mae)- 1 ]            =(OrderOpenPrice()-iLow(OrderSymbol(),WatchPeriod,lowest))/MarketInfo(OrderSymbol(),MODE_POINT);
         mfe.time[ ArraySize (mae.time)- 1 ]  =(OrderOpenTime()-iTime(OrderSymbol(),WatchPeriod,lowest))/ 60 ;
         profit[ ArraySize (profit)- 1 ]      =(OrderOpenPrice()-OrderClosePrice())/MarketInfo(OrderSymbol(),MODE_POINT);
         missed[ ArraySize (missed)- 1 ]      =(mae[ ArraySize (mae)- 1 ]+mfe[ ArraySize (mfe)- 1 ])-profit[ ArraySize (profit)- 1 ]; 
         mfee[ ArraySize (mfee)- 1 ]          =(mfe[ ArraySize (mfe)- 1 ])-profit[ ArraySize (profit)- 1 ];      
       break ;
      }
   }  
}

void writeCSV( string EA.name, string EA.parameter= "" ){
   int hnd= FileOpen (EA.name+ "-" +EA.parameter+ ".csv" , FILE_CSV | FILE_WRITE , ";" );
   FileWrite (hnd, "Ticket" , "MAE" , "TimeToMAE" , "MFE" , "TimeToMFE" , "MFEE" , "Profit" , "Missed" );
   for ( int i= 0 ;i< ArraySize (mae);i++){
       FileWrite (hnd,ticket[i],mae[i],mae.time[i],mfe[i],mfe.time[i],mfee[i],profit[i],missed[i]);
   }
   FileClose (hnd);
}


void AdvancedReport.doStatistics( string EA.name, string EA.parameters= "" , int EA.limitMagicNumber=- 1 ){
   for ( int i= 0 ;i<OrdersHistoryTotal();i++){
       OrderSelect (i,SELECT_BY_POS,MODE_HISTORY);
       if (OrderMagicNumber()==EA.limitMagicNumber || EA.limitMagicNumber==- 1 ){
         reportTrade(OrderTicket());
      }
   }
   
   
   writeCSV(EA.name,EA.parameters);
}
 
ubzen :

Tamam, işte bahsettiğim kötü dönem. Şimdi, bunu geriye doğru çalıştıracağım, her seferinde 1 yıl. 2009,2008 vb.

İşte yıllık sonuçlar:

2010--Max-DD= 6.47____Rel-DD= 6.47____Net_Profit=4588____Faktör=2.48
2009--Max-DD=26.76____Rel-DD=26.76____Net_Profit=-380____Faktör=0.94
2008--Max-DD=19.79____Rel-DD=19.79____Net_Profit=1096____Faktör=1.20
2007--Max-DD= 7.10____Rel-DD= 7.10____Net_Profit=1506____Faktör=1.62
2006--Max-DD=20.46____Rel-DD=20.46____Net_Profit=-1612____Faktör=0.63
2005--Max-DD= 8.79____Rel-DD= 8.79____Net_Profit= -23____Faktör=0.99

2005----------------

2006-----------------

2007-----------------

2008 --------------

2009 ------------------

2010----------------

Birkaç gözlem.

1) Sistem, çoğu zaman rastgele yerine bir Satırda kaybetme eğilimindedir. Makaleden alınan Z-Skoru bu konuda yardımcı olabilir.

Bu, Profesyonel yatırımcıların neden yılda %20-30 getiri aradığı gerçeğinin altını çizmeye yardımcı olur.



Aylara ve yıllara yayılan yatırım getirisi verileriniz olduğunda, ileriye dönük yıkım riskinizi değerlendirmek için ihtiyaç duyduğunuz verilere sahip olursunuz.

http://www.futuresmag.com/Issues/2009/August2009/Pages/Minimizing-your-risk-of-ruin.aspx

Bu geriye dönük test verileri, tam olarak, gelecekteki sonuçları belirtmek için kullanılabilecek geriye dönük test sonuçlarından bir şeyler hesaplamak için gereken verilerdir.

Z-skorları, zaman serisine bağlı oldukları için gelecekteki sonuçları öngörmezler, 2009'dan gelen bir z-skorunun 2011 ile ilgili olmasının tek yolu, 2011'deki piyasa fiyat aktivitesinin esasen 2009'un tekrarı olup olmadığıdır.

Z-skoru, değerlendirilmesi ilginç bir istatistiktir, ancak stratejinizin ileride nasıl performans göstereceğine dair hiçbir değer veya fikir katmaz. CTA'ların, para yöneticilerinin, Morningstar'ın vb. profesyonelce yönetilen hesaplar için Z-skorunu izlememesinin ve raporlamamasının bir nedeni vardır. Bu değersiz bir başarı ölçüsüdür.

Hesaplamanın mahvolma riski ve ortalama düşüş, bunlar yalnızca forex endüstrisinde değil, profesyonellerin yaptığı şeylerdir.

Ayrıca, aracılar açısından... geriye dönük test için farklı aracılar kullanmak, fakir adamın stratejilerini temeldeki zaman serisinden ayırma çabasına benzer. Gelecekteki zaman serisinin nasıl görüneceğini bilmiyorsunuz, ancak iki aracının geçmiş zaman serisi aynı değildir, bu nedenle farklı kaynaklardan çok çeşitli geçmiş veri kümelerinde geriye dönük test yapmak ve ardından stratejinizin ne kadar sağlam performans gösterdiğini analiz etmek iyi bir fikirdir. çünkü bu sağlamlık, stratejinizin gelecekteki zaman serilerinde ne kadar iyi performans gösterebileceğini gösterir.

Profesyoneller, değişen tarihsel piyasa oranlarına karşı da geriye dönük testler yapıyor. Bazı durumlarda, sadece geriye dönük testlerini desteklemek için gerçek piyasa verilerine istatistiksel olarak eşdeğer olan tamamen hayali piyasa verileri oluşturmak için Monte Carlo yöntemlerini kullanırlar.

Sadece düşünce için yiyecek, tüm bunların farkında olabilirsiniz ve alternatif analiz yöntemlerini seçmeyi seçmek için eşit derecede geçerli nedenleriniz olabilir.
Neden: