KimIV'ten faydalı özellikler - sayfa 97

 

terminalin eşit mesafeli bir kanal ayarlama özelliği vardır, trend çizgileri çizmek yerine ayarlayabilirsiniz

trend çizgisi belirlemeye benzer bir fonksiyon burada

 // установка равноудалённого канала
void SetСhannel ( string nm , datetime t1 , double p1 , datetime t2 , double p2 , datetime t3 , double p3 , color cl = Red , int st = 0 , int wd = 1 , bool ry = False ) {
// Параметры:
// nm - наименование               (  ""  - текущее время)
// t1,t2,t3 - время открытия бара  (  0   - Time[10]
// p1,p2,p3 - ценовой уровень      (  0   - Low[10])
// cl - цвет линий
// st - стиль линий                (  0   - простая линия)
// wd - ширина линий               (  1   - по умолчанию)
// ry - луч                        (False - по умолчанию)

   if ( nm = = "" ) nm = TimeToStr ( TimeCurrent ( ) , TIME_DATE | TIME_SECONDS ) ;
   if ( ObjectFind ( nm ) < 0 ) {
   ObjectCreate ( nm , OBJ_CHANNEL , 0 , t1 , p1 , t2 , p2 , t3 , p3 ) ;
   ObjectSet ( nm , OBJPROP_COLOR , cl ) ;
   ObjectSet ( nm , OBJPROP_STYLE , st ) ;
   ObjectSet ( nm , OBJPROP_WIDTH , wd ) ;
   ObjectSet ( nm , OBJPROP_RAY , ry ) ;
   }
   ObjectSet ( nm , OBJPROP_TIME1 , t1 ) ;
   ObjectSet ( nm , OBJPROP_PRICE1 , p1 ) ;
   ObjectSet ( nm , OBJPROP_TIME2 , t2 ) ;
   ObjectSet ( nm , OBJPROP_PRICE2 , p2 ) ;
   ObjectSet ( nm , OBJPROP_TIME3 , t3 ) ;
   ObjectSet ( nm , OBJPROP_PRICE3 , p3 ) ;
}
 
Roger писал(а) >>

Bu sağda görünüyor.

ayy...

 
DECIDE >> :

terminalin eşit mesafeli bir kanal ayarlama özelliği vardır, trend çizgileri çizmek yerine ayarlayabilirsiniz

burada bir trend çizgisi oluşturmaya benzer bir fonksiyon var

ilginç

Satırlar arasındaki boşluğu nasıl ayarlarsınız?

 

mesafe kendi kendine belirlenir, sadece t1 , p1 , t2 , p2 , t3 , p3 olmak üzere üç nokta belirtmeniz yeterlidir.

Bu işlevi reddettim (bir kısa çizgi var), sadece trend çizgileri çizmek daha kolay, daha net

 
DECIDE >> :

mesafe kendi kendine belirlenir, sadece t1 , p1 , t2 , p2 , t3 , p3 olmak üzere üç nokta belirtmeniz yeterlidir.

Bu işlevi reddettim (bir kısa çizgi var), sadece trend çizgileri çizmek daha kolay, daha net

çizgiler arasındaki mesafeyi ayarla

İkinci çizginin birinciye göre (eğilim çizgisi) ve ona yatay olarak paralel olarak belirli bir miktarda çubukla - örneğin 5 çubukla yer değiştirmesini kastediyorum.

bu aynı zamanda taban çizgisinin ayarına ve trendin yönüne bağlı olarak aykırı değerleri yukarı veya aşağı kesen eşit mesafeli bir kanaldır.

 

İşlev, kopya dizisinden sıfırları kaldırır ve dizinin minimum dizinini döndürür

 int ArrMin ( double & x [ ] ) {
   while ( x [ ArrayMinimum ( x ) ] = = 0 ) {
     for ( int i = ArrayMinimum ( x ) ; i < ArraySize ( x ) - 1 ; i + + ) {
      x [ i ] = x [ i + 1 ] ;
     }
     ArrayResize ( x , ArraySize ( x ) - 1 ) ;
   }
   return ( ArrayMinimum ( x ) ) ;
}
 

Hepinize iyi günler!

Bilmiyorum belki bu konu daha önce tartışılmıştır... Ama EA'nın sabit bir denge ile çalışabilmesi için bir fonksiyon yapılmasını önermek istedim.

Bu, Uzman Danışmanların optimizasyonu için gereklidir.

Ne elde ederiz: EA'yı başlattığımızda kazanmaya başlar ve AccountBalance artmaya başlar ve gelecekte EA giderek artan miktarda bakiye kullanır.

Örneğin Bakiye gibi bir değişken girerseniz ve danışmanın "göreceği" ve yalnızca bu tutar için satın alacağı tutarı ayarlarsanız. Bu, EA her çalışmaya başladığında, emrinde yalnızca Para Dengesi olduğunu düşünmesine izin verecek ve tüm test süresi boyunca, herhangi bir gün açarsak EA'nın nasıl çalışacağına inanmak mümkün olacaktır, gerçek dengeyi değiştirme faktörü hariç.

Bu değişkenle optimize edilmiş bir Uzman Danışman gelecekte de daha normal çalışacaktır.

Sadece böyle bir işlevi kodlamak için kalır.

Benim bilgim sadece bunun için yeterli:

dış çift Bakiye = 10000;

int() {

// danışmanın başındaki dengeyi düzelt

Bakiye=Hesap Bakiyesi;

dönüş(0);

}

int başlangıç {

//-------------------------

???

//-------------------------

}

Ne yazmalı ??? Bilmiyorum. EA'nın belirli bir lotla olası açılış emirlerinin sayısını hesaplayan bir işlevi olsaydı, AccountBalance kullanarak AccountBalance()'ı bir değişkenle değiştirmek mümkün olurdu, ancak tüm EA'lar bunu açıkça yapmaz.

 

Не знаю, может этот вопрос уже обсуждался... Но я хотел предложить сделать функцию для работы советника с фиксированным балансом.

ben bu sorunu şöyle çözdüm

Birçok farklı Uzman Danışmanım var ve bunlardan herhangi birini günde ilk kez başlattığınızda, hesap bakiyesi global bir değişkende saklanır ve buna dayanarak Uzman Danışmanlar, bilgileri göstererek lot sayısını ve alınan geliri hesaplar. yorumlardaki grafikte (verim: çok fazla %)

 
DECIDE писал(а) >>

Birçok farklı Uzman Danışmanım var ve bunlardan herhangi birini günde ilk kez başlattığınızda, hesap bakiyesi global bir değişkende saklanır ve buna dayanarak Uzman Danışmanlar, bilgileri göstererek lot sayısını ve alınan geliri hesaplar. yorumlardaki grafikte (verim: çok fazla %)

Bunun nasıl yapılacağı ile ilgili detayları paylaşabilir misiniz?

 

нужна мне такая возможность - параллельного горизонтального смещения (копирования, переноса...) трендовой линии на определенное кол-во баров

Geronimo , algoritmayı bana kişisel veya ICQ: 9773190'da daha ayrıntılı olarak anlat, konuyu tıkamayacağız

nasıl yardımcı olabilirim

Bunun nasıl yapılacağı ile ilgili detayları paylaşabilir misiniz?

Nail_Saby, özü anlattım, ancak bunu farklı şekillerde uygulayabilirsiniz, tam olarak nasıl ve neye ihtiyacınız olduğuna bağlı