[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 361

 
costy_ писал(а) >>

Aide

int Minute( )
Il renvoie la minute actuelle (0,1,2,...59) de la dernière heure serveur connue au moment du lancement du programme (cette valeur ne change pas pendant l'exécution du programme).

Remarque : lors des tests, la dernière heure connue du serveur est simulée.

Mais dans l'indicateur, lorsqu'il est testé, la dernière heure connue du serveur n'est pas simulée, est-elle censée l'être ?

Il est simulé dans l'indicateur, si celui-ci est appelé depuis le conseiller expert en mode testeur ou optimiseur. S'il est en mode visuel, c'est le temps réel qui est pris.

 

Je vais à Minsk par le prochain train....

Ici, l'estimation a écrit un bloc de contrôle approximatif du niveau de l'équité dans la zone où j'ai drainé avec le contrôle donne un bénéfice de 100% de la dépo pendant 4 mois

Cherchez si ça ne vous dérange pas correctement là...

Dossiers :
 

D'autres idées sur la façon d'améliorer

Cela semble être un conseiller prometteur, qu'en pensez-vous ? ? ?????

 
Vinin >> :

L'indicateur est également modélisé si l'indicateur est appelé depuis un EA en mode testeur ou optimiseur. Si en mode visuel, c'est le vrai qui est pris.

C'est dommage, quel est le moyen simple de faire fonctionner la fonction une fois par jour dans un indicateur (testeur) ?

 

Il est nécessaire de fermer une partie d'une position ouverte (20, 30, 50, etc. %).

Pour cela, il faut que la partie restante du lot réponde aux exigences du courtier :

- Chez un courtier - lot et échelon minimum : 0,1 et 0,01 respectivement.

- Chez un autre courtier - 0.01 et 0.01

- Le troisième courtier a 0,1 et 0,1.


Quelqu'un a-t-il une idée de la manière la plus simple d'effectuer ce contrôle ?

 
chief2000 >> :

Il est nécessaire de fermer une partie d'une position ouverte (20, 30, 50, etc. %).

Pour cela, il faut que la partie restante du lot réponde aux exigences du courtier :

- Chez un courtier - lot et échelon minimum : 0,1 et 0,01 respectivement.

- Chez un autre courtier - 0.01 et 0.01

- Le troisième courtier a 0,1 et 0,1.


Quelqu'un a-t-il une idée de la manière la plus simple d'effectuer ce contrôle ?





1. Nous pouvons ouvrir X (0,15 etc.) dans la même direction. Nous obtenons ~0,25 (0,3 ou ce qui est nécessaire ... ) au total. - ouvrir dans l'autre camp autant d'ordres que nous le souhaitons... puis fermer plusieurs ordres.

2. comment peut-on fermer plus de commandes depuis le bas de la plinthe ?

3. Pas question.

 
chief2000 писал(а) >>

Il est nécessaire de fermer une partie d'une position ouverte (20, 30, 50, etc. %).

Pour cela, il faut que la partie restante du lot réponde aux exigences du courtier :

- Chez un courtier - lot et échelon minimum : 0,1 et 0,01 respectivement.

- Chez un autre courtier - 0.01 et 0.01

- Le troisième courtier a 0,1 et 0,1.

Est-ce que quelqu'un a une idée de la façon la plus simple de vérifier ?

L'option la plus facile.

1. Nous calculons la fraction nécessaire (qui doit rester après la fermeture). 2.

2. soustraire du numéro reçu du lot minimum

3. arrondir cette différence à la précision requise.

4. ajouter le lot minimum.

Nous avons obtenu la taille de la position après l'avoir fermée.

Si cela est nécessaire dans le code, je le ferai plus tard.

L'algorithme sera entièrement utilisable et pourra être utilisé pratiquement avec n'importe quelle société de courtage.

 
BARS >> :

1. Nous pouvons ouvrir X (0.15 etc.) dans la même direction. - ouvrir dans une autre direction autant d'ordres que l'on veut... puis fermer plusieurs ordres.

2. Comment puis-je fermer davantage par le dessous de la plinthe ?

3. Pas question.

Je crains que l'ouverture de nouvelles commandes ne rende tout plus compliqué :)

 
Vinin >> :

L'option la plus facile.

1. Calculer la part requise (qui doit rester après la clôture)

2) soustraire le lot minimum du nombre obtenu

3. arrondir cette différence à la précision requise.

4. ajouter le lot minimum.

Nous avons obtenu la taille de la position après l'avoir fermée.

Si cela est nécessaire dans le code, je le ferai plus tard.

L'algorithme est tout à fait utilisable et peut être utilisé pratiquement avec n'importe quelle société de courtage.

Le pourcentage (20, 30, 50, etc.) est fixé à l'avance, du moins pour l'instant.

La question porte principalement sur la définition de la "précision requise" en fonction des exigences du courtier en matière de lot minimum et de pas (en même temps).

l'universalité de la solution). Supposons qu'une position de 25% doive être fermée avec 0,72 lot : 0,01 pas et 0,1 lot minimum.

 
chief2000 писал(а) >>

Le pourcentage (20, 30, 50 etc.) est fixé à l'avance, du moins pour l'instant.

La question porte principalement sur la définition de la "précision requise" sur la base des exigences du courtier en matière de lots et de pas minimums (de manière à ce qu'il y ait un nombre suffisant d'emplacements).

l'universalité de la solution). Supposons que je veuille clôturer 25% d'une position avec 0,72 lots : un pas de 0,01 et un lot minimum de 0,1.

extern double CloseProcent=20.0; // Заданный процент лота для закрытия

//=====================================================================
// Функция для расчета закрываемой доли позиции с учетом минимального |
// лота и шага                                                        |
// На входе размер позиции, на выходе закрываемая часть               |
//---------------------------------------------------------------------
//                        Copyright © 2009, Victor Nicolaev aka Vinin |
//                                              e-mail: vinin@mail.ru |
//=====================================================================
double CalculateCloseLots(double LotSize){
   double LotMin  = MarketInfo(Symbol(), MODE_MINLOT);
   double LotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
   
   double Res;
   
   Res= LotSize*(100.0- CloseProcent)/100.0;   // Считаем сколько должно остаться
   Res-= LotMin;                              // Убираем миниальный лот
   Res=MathRound( Res/ LotStep)* LotStep;       // Округляем до заданой точности 
   Res+= LotMin;                              // Получаем размер позиции после закрытия
   Res= LotSize- Res;                          // Считаем размер к закрытию
   return( Res);
}

Quelque chose comme ça a fonctionné pour moi.