Fonctions utiles de KimIV - page 60

 

Cher Kim, merci beaucoup pour votre travail. Les fonctions que vous avez écrites me facilitent la vie.

Avez-vous une fonction dans votre arsenal qui renvoie la perte totale de toutes les transactions perdantes consécutives. Supposons que les trois dernières transactions ont été clôturées à perte, je veux connaître la perte totale de celles-ci dans la monnaie de dépôt. Pour clarifier - exactement les derniers trades perdants consécutifs.

Je serai reconnaissant pour l'aide. Je pense que d'autres peuvent avoir besoin de cette fonction.

 

KimIV

J'ai essayé d'intégrer vos fonctions dans l'Expert Advisor. Le compilateur écrit la connerie suivante : La fonction "ClosePositions" n'est pas référencée et sera supprimée du fichier exp.

La fonction "ExistPositions" n'est pas référencée et sera supprimée du fichier exp.

La fonction "ManagePositions" n'est pas référencée et sera supprimée du fichier exp ............................

Quel pourrait être le problème ?




 
WroC писал(а) >>
Le compilateur écrit : La fonction "ClosePositions" n'est pas référencée et sera supprimée du fichier exp.

Quelle pourrait être la faute ?

Ce n'est pas un bug. Il s'agit d'un avertissement indiquant que la fonction n'est pas utilisée et qu'il est donc inutile de compiler son code.

 

Igor !

Y a-t-il des développements ou simplement des réflexions sur les fonctions de filtre temporel?

Par exemple : pour le mois, le jour, la semaine en cours...

ou : mois, jour, semaine, trimestre précédents...

*

Idéalement, cela ressemblerait à ceci :

// FuncStPeriod(int Per, int Val)
// Где:
// Per = 0-день, 1-неделя, и т.д...
// Val = 0-текущие, 1-прошедший

// пример использования для выбора ордеров за период
if(FuncStPeriod(1, 0)) ...

Désolé, mais je vois que ça ne marche pas...

Ou peut-être ai-je choisi le mauvais modèle de filtrage...

Je suis au point mort... dans tous les sens du terme... :)))

 

Toi, Vasili, tu n'es pas politiquement correct ! L'entrée est indiquée, mais où est la sortie ?

 

Je sais dans mes tripes que 0,5+0,5 serait un litre !

mais je n'arrive pas à résoudre le problème... (с) )))

*

Je serais très reconnaissant pour les échantillons de commande de l'histoire par leur calendrier.

*

Et ce sont :

// FuncStPeriod(int Per, int Val)
// Où :
// Per = 0 jour, 1 semaine, etc.
// Val = 0-courant, 1-passé


// exemple d'utilisation pour sélectionner les ordres pour une période
if(FuncStPeriod(1, 0)) ...
*

Je l'ai écrit incorrectement, plus précisément, sans explication...

Les paramètres marqués sont juste des paramètres que la fonction peut avoir.

Vous trouverez ci-dessous un exemple d'utilisation de cette fonction...

SI L'HEURE DES COMMANDES EST AUSSI (tombe dans) la période du FILTRE

...

 

Vasiliy, tu parles encore de l'entrée. Que voulez-vous à la sortie et sous quelle forme ?

 

Ahhhh...

Bien, euh... c'est là que réside mon erreur de logique...

La fonction renverra CELA, par exemple le nombre 123456.

Ce dont il a besoin pour le filtre C et PO est...

*

En général, il est identique au filtre de l'historique du compte dans MT4.

Probablement, la liste est formée par un cycle, par exemple :

pour( ...

si(Valeur1 > OrderCloseTime() > Valeur2)

...

*

Cette fonction doit retourner une valeur de type chaîne ( ?) à substituer dans le filtre if()

pour( ...

if(FuncStPeriod(1, 0))

...

*

Merde. C'est compliqué dans la description...

Je me suis mélangé et vous êtes dans une impasse.

:(

 

Eh bien, vous l'avez presque fait vous-même ! Vous n'avez pas besoin de filtre. Il suffit de préparer deux valeurs de date, par exemple dt1 et dt2. Organiser un cycle de transactions fermées. Sélectionner les commandes par sélecteur et vérifier leur heure de clôture à :

if (OrderCloseTime()> dt1 && OrderCloseTime()< dt2) {
  // что-то делаете с выбранным ордером
}
 

Igor" Je comprends que...

C'est comme ça que j'ai commencé à travailler.

*

Cependant, la tâche consiste à "remplir" ces mêmes dt1 et dt2 avec les bonnes valeurs !

Par exemple, trimestre, courant. En principe, la fonction devrait retourner quelque chose comme ceci :

OrderCloseTime()>"01.10.2008" && OrderCloseTime()<"04.12.2008"

En prenant aujourd'hui comme date de départ.

*

Je vois la fin de la fonction FuncStPeriod(int Per, int Val) comme suit :

FuncStPeriod(int Per, int Val)
{
string fsp;

//...
fsp="OrderCloseTime()>"+"dt1+" && OrderCloseTime()<"+dt2;
return(fsp);
}

***

Par exemple, une "calculatrice" du nombre de mois passés par rapport au mois en cours :

int KM()
{
int kolm;
kolm=(TimeLocal()-StrToTime("2007.10.01"))/2592000;
return( kolm-1);
} 

mais cette approche simpliste a ses pièges,

ce qui se manifestera par le fait qu'il est possible de mal identifier

au début des mois suivants...