KimIV'ten faydalı özellikler - sayfa 65

 
nord >> :

Igor Özellikler için teşekkürler!!!

Ve şans eseri, açık bir pozisyonun kaybını belirlemek için bir fonksiyon yok ..... veya ben kaçırdım

Bu var:

 double OrderProfit (   	)
Возвращает значение чистой прибыли ( без учёта свопов и комиссий ) для выбранного ордера . 
Для открытых позиций это - текущая нереализованная прибыль . Для закрытых ордеров - зафиксированная прибыль .
Ордер должен быть предварительно выбран с помощью функции OrderSelect ( ) . 

Puan olarak kar/zarara ihtiyacınız varsa, hangi pozisyona (alış/satış) bağlı olarak çıkarın:

OrderOpenPrice(...) - (Teklif Ver veya Talep Et).

 

html dosyasındaki işlevlerin listesi ...

yeni bir pencerede açılacak...

;) Zevk almak...

Dosyalar:
func2_1.zip  4 kb
 
Igor, seni rahatsız etmiyorsa, her şeyi kürekle, ama asla bulamadıysan, belki kutularda hattın eğim açısını döndürecek bir fonksiyon vardır. regresyon veya def üzerindeki ilk ve son fiyat. bar sayısı? Sana çok minnettar olacağım....
 
xrust писал(а) >>
Igor, seni rahatsız etmiyorsa, her şeyi kürekle, ama asla bulamadıysan, belki kutularda hattın eğim açısını döndürecek bir fonksiyon vardır. regresyon veya def üzerindeki ilk ve son fiyat. bar sayısı? sana çok minnettar olacağım....

LR denkleminde y(x)=a*x + b

katsayılar bu formüller kullanılarak hesaplanabilir.

a katsayısı

b katsayısı

'Gerileme: nedir?'

 

İgor, ÇOK TEŞEKKÜR EDERİM

sitenizdeki her şeyi buldum

http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&id=35&func=fileinfo
 

Igor, belki cephanelikte, açık pozisyonları dikkate alarak bekleyen bir emir veya pozisyon için lotu belirli bir fiyattan hesaplayan güzel bir kod vardır.


Tam anlayış için. bir çift veya birkaç çift için birkaç pozisyon açıktır. mevcut fiyattan X pip için bekleyen bir emir vermeniz gerekiyor, ancak lotu doğru bir şekilde nasıl hesaplayacağınız, yani. yani bu bekleyen emri %100 açsın diye biliyorum ama taş kase çıkmıyor, hesap hatası. Ayrıca takasları, komisyonu, emirlerin kârını ve zararı da hesaba katmanız gerekir.


Böyle bir fonksiyon yazmak için zamanınız olsaydı harika olurdu.

 

Igor, belki burada üst üste binenleri kapatacak bir işlev verebilirsin. emirler? Belki başka birinin ihtiyacı olur. Tabii ilgilenmiyorsanız ve bunun için zamanınız yoksa?

Ve zor değilse, bir Uzman Danışmana bir işlevin nasıl ekleneceğine dair bazı öneriler. "Önce karı kapat" işlevinizi azalan bir lot büyüklüğü kapanışıyla değiştirmeyi denedim. Ama derlerken hata veriyor.

Saygılarımla, Azer

 
KimIV писал(а) >>

StringToArrayInt() işlevi.

not. Ekli, StringToArrayInt() işlevini test etmek için bir komut dosyasıdır.

deneyim, bazen StringToArrayStr() gibi başka bir işleve ihtiyacınız olduğunu gösterir - notasyonunuzda ise .. :-)

 
Shu писал(а) >>

deneyim, bazen StringToArrayStr() gibi başka bir işleve ihtiyacınız olduğunu gösterir - notasyonunuzda ise .. :-)

Birçok programlama dilinde bu işleve StrSplit() adı verilir. Hiçbir şey düşünmedim... :-)

StrSplit() işlevi.

Bu işlev, bir dizgiyi, her bir alt dizginin ayrı bir dizi öğesi olacak şekilde kendisini oluşturan alt dizgilere böler. Ayırıcı bir parametre ile ayarlanır ve isteğe bağlı olabilir. StrSplit() işlevi, dizi öğelerinin sayısını döndürür ve aşağıdaki parametreleri alır:

  • st - Sınırlandırılmış bir dize.
  • as - Dize türünde bir dizi öğe.
  • de - Ayırıcı. İsteğe bağlı parametre. Varsayılan değer "," (virgül) şeklindedir.
 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,   http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 23.06.2008                                                     |
//|  Описание : Разбиение строки на массив элементов                           |
//+----------------------------------------------------------------------------+
//|  Возврат:                                                                  |
//|    Количество элементов в массиве                                          |
//|  Параметры:                                                                |
//|    st - строка с разделителями                                             |
//|    as - строковый массив                                                   |
//|    de - разделитель                                                        |
//+----------------------------------------------------------------------------+
int StrSplit ( string st , string & as [ ] , string de = "," ) { 
   int     i = 0 , np ;
   string stp ;

   ArrayResize ( as , 0 ) ;
   while ( StringLen ( st ) > 0 ) {
    np = StringFind ( st , "," ) ;
     if ( np < 0 ) {
      stp = st ;
      st = "" ;
     } else {
      stp = StringSubstr ( st , 0 , np ) ;
      st = StringSubstr ( st , np + 1 ) ;
     }
    i + + ;
     ArrayResize ( as , i ) ;
    as [ i - 1 ] = stp ;
   }
   return ( ArraySize ( as ) ) ;
}

not. Ekli, StrSplit() işlevini test etmek için bir komut dosyasıdır.

Dosyalar:
 
Prival писал(а) >>

LR denkleminde y(x)=a*x + b

katsayılar bu formüller kullanılarak hesaplanabilir.

a katsayısı

b katsayısı

'Gerileme: nedir?'

1. Regresyon analizi - bir sürecin incelenmesi, bir dizi gözlem noktasına dayanan bir nesne.

2. Regresyon denklemi (regresyon):

2.1. Araştırmacı, kendi görüşüne göre, incelenen nesnenin fiziksel doğasına karşılık gelen veya üzerinde çalışılması daha kolay olan denklem türünü seçer. Çoğu zaman, bir polinom alınır.

2.2. İlk çalışmalar için, genellikle birinci dereceden bir polinom alınır, yani. düz. Buna lineer regresyon denir.

2.3. Ayrıca, yazdığınız gibi, bu satırın parametreleri hesaplanır. 2'den fazla gözlem noktası varsa, "en küçük kareler yöntemi" en yaygın olanıdır. Düz çizgi, noktaların düz çizgiden sapmalarının karelerinin toplamı en küçük olacak şekilde çizilir.

3. Burada regresyon, lineer regresyon denklemi ve grafiği anlamına gelir.