Diğer "Ticaret Stratejileri" hakkında daha fazla bilgi edinin - sayfa 4

 
doshur : ortalama giriş her zaman iyidir, çok büyük bir lot büyüklüğünüz olduğunda ve çıkmak istediğinizde, istediğiniz fiyattan çıkış yapmanız için hacim olmayabilir.

Haber yayınlandığında, bu sistemin bugünlerde aud gibi hayatta kalıp kalamayacağını merak ediyorum.

Imo, lot_size yeterince küçükse her şey hayatta kalabilir. Sizin için buna değecek mi, tamamen başka bir soru. Bu günlerde Aud'da daha iyisini yapabilecek bir sistem gönderebilir misiniz? Sadece bir hatırlatma olarak, bu diğer insanların karlı sistemleri hakkında bir konu değil. Bu, insanların farklı uzmanlar göndermesini ve strateji hakkında iyi ve kötüyü gözden geçirmesini istediğim bir konu. Kârlı veya Değil önemli değil.
 

YesLstTrdWin() işlevinde bir hata buldum.

 bool YesLstTrdWin(){
     if (! PositionSelect (CurSetSymbol)){ return ( false );}
     ulong    PosType= PositionGetInteger ( POSITION_TYPE );
     ulong    PosOpTime= PositionGetInteger ( POSITION_TIME );
     double   PosPrice= PositionGetDouble ( POSITION_PRICE_CURRENT );
     HistorySelect (PosOpTime, TimeCurrent ());
     int DealsTotal= HistoryDealsTotal ();
     for ( int i=DealsTotal- 1 ; i>= 0 ; i--){
         ulong DealTicket= HistoryDealGetTicket (i);
         ulong DealEntry= HistoryDealGetInteger (DealTicket, DEAL_ENTRY );
         if (DealEntry!= DEAL_ENTRY_IN ){ continue ;}
         ulong DealMagic= HistoryDealGetInteger (DealTicket, DEAL_MAGIC );
         if (DealMagic!=SystemMagic1){ continue ;}
         string DealSymb= HistoryDealGetString (DealTicket, DEAL_SYMBOL );
         if (DealSymb!=CurSetSymbol){ continue ;}
         ulong   DealType= HistoryDealGetInteger (DealTicket, DEAL_TYPE );
         double DealPrice= HistoryDealGetDouble (DealTicket, DEAL_PRICE );
         if (DealType== DEAL_TYPE_BUY   && PosPrice>DealPrice){ return ( true );}
         if (DealType== DEAL_TYPE_SELL && PosPrice<DealPrice){ return ( true );} //This Line Was Left Out.
         return ( false );
    }   return ( false );
}

Pozisyon aralığının ortalamasını almasını sağlayan son satış anlaşması denetleyicisini unuttum.

*Başka bir notta: iç ve/veya ızgaraların ortalamasını almak, trend olan sistemler için etkili bir strateji olabilir.

 
Ubzen :

YesLstTrdWin() işlevinde bir hata buldum.

Pozisyon aralığının ortalamasını alan son satış anlaşması denetleyicisini unuttum.

*Başka bir notta: iç ve/veya ızgaraların ortalamasını almak, trend olan sistemler için etkili bir strateji olabilir.

Merhaba Ubzen,

Bu konuyu bir süre önce gördüm ve katkıda bulunmak niyetindeydim, özür dilerim erteledim, umarım bu mql5 içindeki mini forum başlıklarından biri olur. Sabit kazançlar için optimize edilmemiş rastgele bir sinyal kullanmanız kesinlikle umut verici. Henüz sinyali gerçekten incelemedim, aslında kodu bugün gördüm ve doğrudan MaxDDCurrency() işlevinize yakınlaştırdım. Hata olabileceğini düşündüğüm bir çizgi var ...

Bu

 if (TempDD>MaxDDCurency){ return ;}

bu mu?

 if (TempDD<=MaxDDCurency){ return ;}

Başka bir genel notta. Strateji test cihazındaki fiyat verilerinin özellikle spread söz konusu olduğunda ne kadar güvenilir olduğunu düşünüyorsunuz?

Not: Yakında benimkilerden birini de yayınlayacağım.

 

sen de arıyor gibisin

BrkEveEquity();

Kene üzerinde. Bunu HighestEquity() işlevinden, yani yeni bir öz sermaye yüksek ayarlandığında çağırmanız gerekmez mi? Yorumlarım kapalı görünüyorsa özür dilerim, henüz EA'yı strateji test cihazında kendim test etmedim ama bunu yazarken ne düşündüğünüzü hissedeceğimi düşündüm.

 
ssn : Merhaba Ubzen, bu konuyu bir süre önce gördüm ve katkıda bulunmayı planlıyordum, kusura bakmayın erteledim umarım bu mql5 içindeki mini forum başlıklarından biri olur. Sabit kazançlar için optimize edilmemiş rastgele bir sinyal kullanmanız kesinlikle umut verici. Henüz sinyali gerçekten incelemedim, aslında kodu bugün gördüm ve doğrudan MaxDDCurrency() işlevinize yakınlaştırdım. Hata olabileceğini düşündüğüm bir çizgi var ...

Bu bu mu olmalı? Başka bir genel notta. Strateji test cihazındaki fiyat verilerinin özellikle spread söz konusu olduğunda ne kadar güvenilir olduğunu düşünüyorsunuz? Not: Yakında benimkilerden birini de yayınlayacağım.

Tüm işlev:

 void MaxDDCurency(){
     int TempDD=AcountEquity-HighesEquity;
     if (TempDD>MaxDDCurency){ return ;}
    MaxDDCurency=TempDD;
}

1) Para Biriminde Maksimum Düşüşü ayarlar. Bu fonksiyon, aynı ada sahip global değişkeni, hesap para biriminde -Negatif en düşük düşüşe ayarlar. Değeri negatif olduğu için tersini düşünmek isteyeceksiniz. Örnek En Yüksek Özkaynak=10,000. Hesap_Özkaynak=9 ,500. -500$'lık maksimum düşüşü istiyorum. [9,500 - 10.000] olarak çalışır. O zaman Geçici Düşüş -500'den azsa, bunun yeni MaxDD olarak kaydedilmesini istiyorum.

2) Strateji test cihazında spreadler, çoğu insanın bugün ödeyeceğinden çok daha yüksektir. Bu benim görüşüm çünkü birçok broker alt pip sunuyor. Fiyat verileri o kadar önemli değil. EA, bir dakikalık çubuklar içinde işlem yapmaz, yalnızca eklendiği grafiğin m1 çubuğunun açılışında işlem yapar. Verilerinizde çok sayıda m1 çubuğu eksik olmadığı sürece, bu yöntem yeterince güvenilir olmalıdır.

3) Aldığım sonuç, bir araya getirdikten sonra aldığım ilk sonuçtu. Ondan sonra pek umut verici olmayan başka testler yaptım. Ama çalıştırdığım diğer 3 testte bile sistem biraz kârlı veya biraz kârsız sonuçlandı. Ama evet, rastgele, optimize edilmemiş bir sistemin 2008 krizinden 2012'ye kadar hayatta kaldığı gerçeği hala geçerli. Belki böyle bir sistemi optimize etmek daha fazla çalışmanın konusu olabilir. Örnek: kişisel yönünüz, **rastgele haktan daha kötüsünü yapamazsınız;)

4) Elbette, her zaman öğrettiğiniz bir sistem ilginçti ve bu sistem hakkında sizi rahatsız eden herhangi bir şey yayınlayın. Bu sorunlara karşı koyabilecek fikirler önermeye çalışacağım.

 
ssn : Ayrıca On tick'i arıyor gibisiniz. Bunu HighestEquity() işlevinden, yani yeni bir özkaynak yüksek değeri ayarlandığında çağırmanız gerekmez mi? Yorumlarım kapalı görünüyorsa özür dilerim, henüz EA'yı strateji test cihazında kendim test etmedim ama bunu yazarken ne düşündüğünüzü hissedeceğimi düşündüm.

Tüm İşlev:

 void BrkEveEquity(){
     if (SysMagTotCnt()!= 0 ){ return ;}
    BrkEveEquity=HighesEquity;
    BrkEveEquTme=( int ) TimeCurrent ();
    SysCloseMode= false ;
}
Bir süredir kullandığım Break-Even Equity. Bazen bu işlev Equity_High işlevi içindedir ancak aşağıdaki nedenlerle uzun zaman önce bu konumdan kaldırıldığımı düşünüyorum. 1) Eşit Başa Çıkma Sermayesi, Equity_High içindeyse, bunun yerine Equity_High'ı kullanabileceğim için BE'ye ihtiyacım yok. 2) Equity_High'ı System_Magic_Total_Count==0 olduğunda değil, yeni bir Account_Equity High'a ulaşıldığında ayarlamak istiyorum. 3) All_Symbols kapalıyken Break_Even ayarlamak istiyorum. Bu, Live'da işlem yaparken aşağıdaki avantajları sunar. all_positions'ı kapattığınızda, bazı olumsuz kaymalar yaşayabilirsiniz. Yeni hedefiniz, örneğin Account_Balance + Target$$ yerine Equity_High + Target$$$ olur.
 

- Evet DD negatif, bunu görmemiştim. Teşekkür

- Bence m1 açık fiyatların bile bir teklifi var ve sor. Girişiniz teklifteyse, talep üzerine çıkmak zorunda kalacaksınız (örneğin, kısa devre yaptıysanız). mt5 verileriyle ve özel bir sabit yayılımla testler yaptım ve sonuçlar bariz bir şekilde farklı.

- Girişinizin teknik temelli olması durumunda, rastgele sinyale yaklaşımınızın gidilecek yol olduğunu düşünüyorum. Daha iyi olması gereken herhangi bir optimizasyonu dışarıda tutabilirseniz... Bence. ;)...

- Göndereceğim sistem SOM kullanıyor... Aslında tekrar kullanılabilir bir sınıf olacak. Bazı son düzeltmeler yapmak gerekiyor...

- Tamam, BE'de bu açık. Şimdi MinPerMinLot, hacminizi tüm pozisyonların kapanmasından bu yana geçen zamanla orantılı olarak ayarlamak için kullandığınız sabit bir değişken mi?

Documentation on MQL5: Standard Constants, Enumerations and Structures / Indicator Constants / Price Constants
Documentation on MQL5: Standard Constants, Enumerations and Structures / Indicator Constants / Price Constants
  • www.mql5.com
Standard Constants, Enumerations and Structures / Indicator Constants / Price Constants - Documentation on MQL5
 
ssn :

- Evet DD negatif, bunu görmemiştim. Teşekkür

- Bence m1 açık fiyatların bile bir teklifi var ve sor. Girişiniz teklifteyse, talep üzerine çıkmak zorunda kalacaksınız (örneğin, kısa devre yaptıysanız). mt5 verileriyle ve özel bir sabit yayılımla testler yaptım ve sonuçlar bariz bir şekilde farklı.

- Girişinizin teknik temelli olması durumunda, rastgele sinyale yaklaşımınızın gidilecek yol olduğunu düşünüyorum. Daha iyi olması gereken herhangi bir optimizasyonu dışarıda tutabilirseniz... Bence. ;)...

- Göndereceğim sistem SOM kullanıyor... Aslında tekrar kullanılabilir bir sınıf olacak. Bazı son düzeltmeler yapmak gerekiyor...

- Tamam, BE'de bu açık. Şimdi MinPerMinLot, hacminizi tüm pozisyonların kapanmasından bu yana geçen zamanla orantılı olarak ayarlamak için kullandığınız sabit bir değişken mi?

1) Rica ederim.

2) Anlaştık. Keşke mt5'teki spreadleri düzeltebilseydik. Ancak gerçekçi spreadlerle test etmek ve kendinizi kandırmamak da önemlidir.

3) Optimize edilmiş sistemlerle ilgili deneyimime göre, bir aylık canlı test genellikle beklenen sonuçlardan tamamen farklı görünüyor. Bu test tarzı, canlı testlerim sırasında genellikle beklenen istatistikleri üretir... ancak aynı zamanda genellikle strateji test cihazı içinde öldüğü şekilde ölür.

4) k

5) Evet. Hemen hemen, ancak bunu "hesap_eşitliği >= başa baş sermaye olduğundan" olarak görmek çok daha iyi. Set_Break_Even_Time'ı Break_Even_Equity işlevinden çıkardım. Tek tek değişkenleri kendi set_function ile ayarlamanın, başka bir set_function içine paketlemekten çok daha fazla yeniden kullanılabilir olduğunu anlıyorum.

Trend ilerledikçe lot ekleyerek bir sonraki trend takip sistemi yapmayı düşünüyorum.

 
Ubzen :

1) Rica ederim.

2) Anlaştık. Keşke mt5'teki spreadleri düzeltebilsek. Ancak gerçekçi spreadlerle test etmek ve kendinizi kandırmamak da önemlidir.

3) Optimize edilmiş sistemlerle ilgili deneyimime göre, bir aylık canlı test genellikle beklenen sonuçlardan tamamen farklı görünüyor. Bu test tarzı, canlı testlerim sırasında genellikle beklenen istatistikleri üretir... ancak aynı zamanda genellikle strateji test cihazı içinde öldüğü şekilde ölür.

4) k

5) Evet. Hemen hemen, ancak bunu "hesap_eşitliği >= başa baş sermaye olduğundan" olarak görmek çok daha iyi. Set_Break_Even_Time'ı Break_Even_Equity işlevinden çıkardım. Tek tek değişkenleri kendi set_function ile ayarlamanın, başka bir set_function içine paketlemekten çok daha fazla yeniden kullanılabilir olduğunu anlıyorum.

Trend ilerledikçe lot ekleyerek bir sonraki trend takip sistemi yapmayı düşünüyorum.

4)...
Dosyalar:
SignalSOM.mqh  24 kb
 
ssn : 4)...
??? Kurallara göre ek eşyalarınız var mı? #1, #3 ve #4 eksik görünüyor.