Bir danışman nasıl optimize edilir - sayfa 6

 

İlkinde x - SL ve y - TP için.

Bence solda pozitif değerler bölgesi ve sağda tesadüfi bir vuruş ... peki, euro dolarındaki SL M5 dönemi için 190 veya daha fazla olamaz ...

 
Loring писал (а) >>
ve buna uygun olarak

Bak, martingale kapılma. Özel danışmanlar vardı, onları yayınlayacağım konusunda uyardım. Ve bu teknolojiyi sevmiyorum. Çok riskli. Başarılı bir sonuç olasılığı oldukça yüksek olduğunda kullanılabilir. Sadece böyle bir mekanizma oluşturmak için kalır.

 

Ama biraz test edebilirsiniz ... Bu arada sonuç benim algoritmama yakın. Bu yüzden saçımı yırtmayacağım ... Ama tanışmak istiyorum.

 
Evet... Zverev'in de dediği gibi, "Yıldız şokta"... Algoritma gerçekten de garip ya da istediğiniz gibi eğlenceli davranıyor... Bu, yeniden yatırımın açıldığı andır.
 Strategy Tester Report
VininE_Game_1
FxProfit - Demo ( Build 217 )
Символ     EURUSD ( Euro vs US Dollar )
Период     5 Минут ( M5 ) 2008.06.01 22 : 05 - 2008.06.27 21 : 55 ( 2008.06.01 - 2008.06.29 )
Модель    Все тики ( наиболее точный метод на основе всех наименьших доступных таймфреймов )
Параметры     Lots = 0.1 ; MaximumRisk = 6 ; cmd = 0 ; TP = 262 ; SL = 18 ; MagicNumber = 0 ; 

Баров в истории     6749     Смоделировано тиков     152889     Качество моделирования     90.00 %
Ошибки рассогласования графиков     0                 

Начальный депозит     1500.00                 
Чистая прибыль     7908.10     Общая прибыль     11037.80     Общий убыток    - 3129.70
Прибыльность     3.53     Матожидание выигрыша     790.81         
Абсолютная просадка     662.60     Максимальная просадка     4846.40 ( 54.75 % )     Относительная просадка     54.75 % ( 4846.40 )

Всего сделок     10     Короткие позиции ( % выигравших )      5 ( 20.00 % )     Длинные позиции ( % выигравших )      5 ( 40.00 % )
    Прибыльные сделки ( % от всех )      3 ( 30.00 % )     Убыточные сделки ( % от всех )      7 ( 70.00 % )
Самая большая    прибыльная сделка     6359.60     убыточная сделка    - 1280.00
Средняя    прибыльная сделка     3679.27     убыточная сделка    - 447.10
Максимальное количество    непрерывных выигрышей ( прибыль )      2 ( 4678.20 )     непрерывных проигрышей ( убыток )      4 ( - 612.60 )
Максимальная    непрерывная прибыль ( число выигрышей )      6359.60 ( 1 )     непрерывный убыток ( число проигрышей )     - 1280.00 ( 1 )
Средний    непрерывный выигрыш     2     непрерывный проигрыш     2

№    Время    Тип    Ордер    Объём    Цена     S / L      T / P     Прибыль    Баланс
1      2008.06.01 22 : 06      buy      1      0.90      1.5555      1.5535      1.5815     
2      2008.06.02 03 : 31      s / l      1      0.90      1.5535      1.5535      1.5815     - 192.60      1307.40
3      2008.06.03 00 : 00      sell      2      0.80      1.5539      1.5559      1.5279     
4      2008.06.03 08 : 30      s / l      2      0.80      1.5559      1.5559      1.5279     - 160.00      1147.40
5      2008.06.04 00 : 01      buy      3      0.70      1.5439      1.5419      1.5699     
6      2008.06.04 08 : 26      s / l      3      0.70      1.5419      1.5419      1.5699     - 140.00      1007.40
7      2008.06.05 00 : 05      sell      4      0.60      1.5425      1.5445      1.5165     
8      2008.06.05 01 : 39      s / l      4      0.60      1.5445      1.5445      1.5165     - 120.00      887.40
9      2008.06.06 00 : 00      buy      5      0.50      1.5584      1.5564      1.5844     
10      2008.06.09 09 : 39      t / p      5      0.50      1.5844      1.5564      1.5844      1293.00      2180.40
11      2008.06.10 00 : 00      sell      6      1.30      1.5640      1.5660      1.5380     
12      2008.06.12 14 : 34      t / p      6      1.30      1.5380      1.5660      1.5380      3385.20      5565.60
13      2008.06.13 00 : 00      buy      7      3.30      1.5454      1.5434      1.5714     
14      2008.06.13 02 : 20      s / l      7      3.30      1.5434      1.5434      1.5714     - 660.00      4905.60
15      2008.06.15 22 : 10      sell      8      2.90      1.5417      1.5437      1.5157     
16      2008.06.16 10 : 47      s / l      8      2.90      1.5437      1.5437      1.5157     - 577.10      4328.50
17      2008.06.17 00 : 02      buy      9      2.60      1.5470      1.5450      1.5730     
18      2008.06.26 13 : 44      t / p      9      2.60      1.5730      1.5450      1.5730      6359.60      10688.10
19      2008.06.27 00 : 00      sell      10      6.40      1.5751      1.5771      1.5491     
20      2008.06.27 10 : 39      s / l      10      6.40      1.5771      1.5771      1.5491     - 1280.00      9408.10

Her şey ne güzel başladı...

 

Ama düşüş > %50 ise... Kimin yatırım yapmaya cesaret edeceğini bilmiyorum. Görünüşe göre olduğu gibi kullanılması gerekiyordu. YENİ'NİN DAHA İYİNİN DÜŞMANIDIR'a bir örnek daha...

 

Kafayı masaya vurduktan (inatçı) sonra, parti büyüklüğü hesaplama fonksiyonu aşağıdaki formu aldı.

 double getLots () {
   if ( MaximumRisk > 0 ) 
       {
       double minlot = MarketInfo ( Symbol () , MODE_MINLOT ) ;
       double maxlot = MarketInfo ( Symbol () , MODE_MAXLOT ) ;       

       double lot = NormalizeDouble ( AccountFreeMargin () / MarketInfo ( Symbol () , MODE_MARGINREQUIRED ) / MaximumRisk , 1 ) ;
       lot = MathMax ( MathMin ( lot , maxlot ) , minlot ) ;
       }
   else lot = Lots ;
   return ( lot ) ; 
}

Burada MaximumRisk, sermayenin bir pozisyon açarken kullanılabilecek (1/MaximumRisk olarak hesaplanır) kısmıdır.

Adım adım bölme ve çarpma ihtiyacı ortadan kalktı, çünkü f-i kesirli kısmı atmaz, matematik kurallarına göre yuvarlar. Şimdi lot, riski bir şekilde azaltan teminat değeri dikkate alınarak hesaplanır. Marj beyan edilen risk seviyesinin altına düştüğünde "lot= MathMax (MathMin(lot,maxlot),minlot);" satırının da dikkate alınması gerekir. yine de minimum lot büyüklüğü (genellikle 0.1) ile bir pozisyon açmaya çalışacak ve bu da riskli operasyonda bir artışa yol açacaktır. Tamamen kapatmak en iyisi olabilir. Yine bu da ancak yetersiz depazit ile kendini gösterecektir...

Victor'a kaynak metinleri sağladığı için bir kez daha teşekkür etmek istiyorum...

 
Loring писал (а) >>

Kafayı masaya vurduktan (inatçı) sonra, parti büyüklüğü hesaplama fonksiyonu aşağıdaki formu aldı.

Burada MaximumRisk, sermayenin bir pozisyon açarken kullanılabilecek (1/MaximumRisk olarak hesaplanır) kısmıdır.

Adım adım bölme ve çarpma ihtiyacı ortadan kalktı, çünkü f-i kesirli kısmı atmaz, matematik kurallarına göre yuvarlar.

Sadece tüm DC'lerde parti değiştirme adımının 0.1 olmadığını unutmayın, başka seçenekler de var.

 
Ve kedilerin kaşındığını hissediyorum ... Doğru görünüyor, ama bir şeyler yanlış. O zaman gerçekten de /MaximumRisk/step,0)*step ... Bazı DC'lerde adımın 0,001 bile olduğunu unutmuşum. Düzeltecek birinin olması güzel...
 

Öyleyse, muhtemelen ... (yuvarlama işlevindeki "0"dan emin değilim)

 double getLots () {
   if ( MaximumRisk > 0 ) 
       {
       double minlot = MarketInfo ( Symbol () , MODE_MINLOT ) ;
       double maxlot = MarketInfo ( Symbol () , MODE_MAXLOT ) ;       
       double step    = MarketInfo ( Symbol () , MODE_LOTSTEP ) ;       

       double lot = NormalizeDouble ( AccountFreeMargin () / MarketInfo ( Symbol () , MODE_MARGINREQUIRED ) / MaximumRisk / step , 0 ) * step ;
       lot = MathMax ( MathMin ( lot , maxlot ) , minlot ) ;
       }
   else lot = Lots ;
   return ( lot ) ; 
}
 

Bir pozisyonun açılması neden ayrı bir fonksiyonda çıkarılmış anlamadım. Bir komut yerinde yürütülebilir... Yoksa daha büyük bir şeyden kesme mi... TP ve SL, OrderSend'deki sırayla iletilmez... Neyse ki, iletildikleri gibi alınırlar. Tabii ki çok önemli değil ama...