Fonctions utiles de KimIV - page 65

 
nord >> :

Igor Merci pour les fonctionnalités ! !!

N'y a-t-il pas, par hasard, une fonction permettant de déterminer la perte d'une position ouverte..... ou l'ai-je manquée ?

Il y en a un :

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

Si vous avez besoin de profits/pertes en pips, en fonction de la position (achat/vente), soustrayez :

OrderOpenPrice(...) - (Bid ou Ask).

 

liste des fonctions dans le fichier html...

s'ouvrira dans une nouvelle fenêtre...

;) denjoy...

Dossiers :
func2_1.zip  4 kb
 
Igor, si vous le permettez, j'ai tout fouillé, mais je n'ai pas trouvé, existe-t-il une fonction dans la réserve qui renverrait l'angle de pente de la ligne de régression, ou le prix de début et de fin à un certain nombre de barres ? Je vous en serais très reconnaissante.....
 
xrust писал(а) >>
Igor, si vous le permettez, j'ai tout fouillé, mais je n'ai pas trouvé. Peut-être y a-t-il une fonction dans les réserves qui renverrait l'angle de pente de la ligne de régression, ou le prix de début et de fin à un certain nombre de barres ? Je vous en serais très reconnaissant.....

Dans l'équation LR y(x)=a*x + b

les coefficients peuvent être calculés à l'aide de ces formules.

facteur a

coefficient b

La régression : de quoi s'agit-il ?

 

Igor, merci beaucoup.

tous trouvés sur votre site web

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

Igor, peut-être avez-vous un bon code qui calcule le lot pour un ordre ou une position en attente à un prix spécifique, en tenant compte des positions ouvertes.


J'ai besoin de placer un ordre en suspens à X pips du prix actuel mais je dois trouver comment calculer correctement le lot, c'est-à-dire faire en sorte que cet ordre en suspens soit ouvert à 100%. Je dois également prendre en compte les swaps, les commissions, les pertes et profits des ordres.


Ce serait formidable si vous avez le temps d'écrire une telle fonction.

 

Igor, pouvez-vous nous donner une fonction pour fermer les ordres superposés ici ? Peut-être que quelqu'un d'autre en aurait besoin. Si cela vous intéresse et si vous avez le temps de le faire, bien sûr.

Si vous le voulez bien, donnez-nous des conseils sur la façon d'implémenter cette fonction dans votre EA. J'ai essayé de remplacer votre fonction "fermer d'abord les rentables" par une fermeture par taille de lot décroissante. Mais il continue à obtenir des erreurs lors de la compilation.

Sincèrement, Azer.

 
KimIV писал(а) >>

Fonction StringToArrayInt().

ZS. Vous trouverez ci-joint un script pour tester la fonction StringToArrayInt().

L'expérience montre que vous pouvez également avoir besoin d'une fonction comme StringToArrayStr() - si dans votre notation... :-)

 
Shu писал(а) >>

L'expérience montre que parfois vous avez aussi besoin d'une fonction comme StringToArrayStr() - si dans votre notation... :-)

Dans de nombreux langages de programmation, cette fonction est appelée StrSplit(). Je ne l'ai pas inventé... :-)

La fonction StrSplit().

Cette fonction divise une chaîne de caractères en ses sous-chaînes de sorte que chaque sous-chaîne devienne un élément de tableau distinct. Le séparateur est défini par un paramètre et peut être arbitraire. La fonction StrSplit() renvoie le nombre d'éléments du tableau et accepte les paramètres suivants :

  • st - Chaîne de caractères avec des séparateurs.
  • as - Le tableau des éléments du type chaîne de caractères.
  • de - Séparateur. Paramètre facultatif. La valeur par défaut est "," (virgule).
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. 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));
}

SZU. script joint pour tester la fonction StrSplit().

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

Dans l'équation LR y(x)=a*x + b

les coefficients peuvent être calculés à l'aide de ces formules.

facteur a

coefficient b

La régression : de quoi s'agit-il ?

1. L'analyse de régression est l'étude d'un processus, d'un objet à partir d'une série de points d'observation le concernant.

2. Équation de régression (régression) :

2.1 Le chercheur choisit le type d'équation qui, à son avis, est approprié à la nature physique de l'objet étudié ou qui est plus facile à travailler. Un polynôme est le plus souvent utilisé.

2.2 Pour les études initiales, on utilise souvent un polynôme du premier degré, c'est-à-dire une ligne droite. C'est ce qu'on appelle une régression linéaire.

2.3 Ensuite, comme vous l'avez écrit, on calcule les paramètres de cette droite. S'il y a plus de 2 points d'observation, la méthode la plus courante est la "méthode des moindres carrés". La ligne droite est tracée de manière à ce que la somme des carrés des écarts des points par rapport à la ligne droite soit la plus petite.

3. Ici, la régression fait référence à une équation de régression linéaire et à son graphique.

Raison: