Bon après-midi, pourriez-vous me dire s'il existe un code
OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY);//выбрать последний ордерif (OrderType()==OP_BUY||OP_SELL)
{
if (OrderMagicNumber()==1)
{
if (OrderProfit()<0)
{
qui sélectionnera le dernier ordre dans l'historique avec un profit négatif.
S'il y a une situation où 3 ordres sont fermés en même temps, comment puis-je savoir que les 3 derniers ordres ont été fermés en même temps ?
j'ai essayé de faire la boucle for, mais elle trouve tous les ordres clôturés à perte, alors que j'ai besoin seulement du dernier ordre ou de la dernière commande selon le nombre d'entre eux clôturés en une fois .
comment puis-je voir à partir du script quels indicateurs sont sur le graphique, quels paramètres et indicateurs, dans quelles sous-fenêtres ils sont situés ?
Bon après-midi, pourriez-vous me dire s'il existe un code
qui sélectionnera le dernier ordre dans l'historique avec un profit négatif.
S'il y a une situation où 3 ordres sont fermés en même temps, comment puis-je savoir que les 3 derniers ordres ont été fermés en même temps ?
j'ai essayé de faire la boucle for, mais elle trouve tous les ordres clôturés à perte, alors que j'ai besoin seulement du dernier ordre ou de la dernière commande selon le nombre d'entre eux clôturés en une fois .
Si c'est le même, alors vous le comparez avec l'heure de clôture de votre ordre fermé précédent... comme ça, naturellement, c'est tout en boucle - du dernier fermé au premier, on va séquentiellement et on compare le temps de fermeture des commandes... Autre chose - imprimez l'heure de clôture des derniers ordres que vous connaissez à l'avance, disons trois ordres , elle peut être différente, même si vous la comprenez comme " simultanée", c'est-à-dire que d'après ce que je comprends, l'ordre se ferme à tout moment, c'est-à-dire... En fait, l'heure de clôture de, disons, trois ordres en même temps ne peut pas être la même - essayez d'imprimer () et voyez les valeurs de vos trois ordres TIME - leurs valeurs de caractéristiques OrderCloseTime(), c'est-à-dire que nous pourrions avoir à introduire le concept de TEMPS de clôture, c'est-à-dire la déviation de l'heure de clôture de plusieurs ordres par une petite valeur quand nous pouvons considérer qu'ils ont clôturé simultanément. Expérimentez et voyez par vous-mêmes à partir d'ici.
COMMENT COMPTEZ-VOUS LE NOMBRE DE POSITIONS LONGUES RENTABLES ET SÉPARÉMENT LE NOMBRE DE POSITIONS COURTES RENTABLES ?
La stratégie est la suivante : si le nombre de positions longues rentables depuis le début de l'Expert Advisor (ou mieux - pour tout l'historique du compte) est supérieur au nombre de positions courtes, alors seules les positions longues devraient être autorisées à être ouvertes. Et vice versa.
Il est clair comment compter ces transactions, si elles sont fermées par le Conseiller Expert : Fermer - Compter. Mais si une position est fermée par le TP ou le SL, alors ... ?
Peut-être que quelqu'un a un code prêt de la fonction ?
Eh bien, comparez dans une boucle sur les positions fermées leur prix de clôture et leurs prix de prise et d'arrêt :
Et il est encore plus facile de sélectionner OP_BUY et OP_SELL et d'écrire dans quatre variables distinctes le nombre de positions d'achat et de vente perdantes et rentables.
si (OrderProfit()+OrderSwap()+OrderCommission()>0) { /* la position est profitable */ } else { /* la position est perdante */ }
J'ai tout regardé, j'ai tout fait... Il n'ouvre pas de poste, c'est tout ! Il se ferme correctement, mais il ne s'ouvre pas... Je ne sais pas quoi faire ! Peut-être que quelqu'un trouvera un bug dans le programme ?
Bon après-midi, pourriez-vous me dire s'il existe un code
qui sélectionnera le dernier ordre dans l'historique avec un profit négatif.
S'il y a une situation où 3 ordres sont fermés en même temps, comment puis-je savoir que les 3 derniers ordres ont été fermés en même temps ?
j'ai essayé de faire la boucle for, mais elle trouve tous les ordres clôturés à perte, alors que j'ai besoin seulement du dernier ordre ou de la dernière commande selon le nombre d'entre eux clôturés en une fois
.
Je n'ai pas trouvé de réponse dans la recherche
comment puis-je voir à partir du script quels indicateurs sont sur le graphique, quels paramètres et indicateurs, dans quelles sous-fenêtres ils sont situés ?
merci
Pas du tout.
vik-777:
comment puis-je savoir que les 3 derniers ont fermé en même temps ?
Bon après-midi, pourriez-vous me dire s'il existe un code
qui sélectionnera le dernier ordre dans l'historique avec un profit négatif.
S'il y a une situation où 3 ordres sont fermés en même temps, comment puis-je savoir que les 3 derniers ordres ont été fermés en même temps ?
j'ai essayé de faire la boucle for, mais elle trouve tous les ordres clôturés à perte, alors que j'ai besoin seulement du dernier ordre ou de la dernière commande selon le nombre d'entre eux clôturés en une fois
.
Si c'est le même, alors vous le comparez avec l'heure de clôture de votre ordre fermé précédent... comme ça, naturellement, c'est tout en boucle - du dernier fermé au premier, on va séquentiellement et on compare le temps de fermeture des commandes... Autre chose - imprimez l'heure de clôture des derniers ordres que vous connaissez à l'avance, disons trois ordres , elle peut être différente, même si vous la comprenez comme " simultanée", c'est-à-dire que d'après ce que je comprends, l'ordre se ferme à tout moment, c'est-à-dire... En fait, l'heure de clôture de, disons, trois ordres en même temps ne peut pas être la même - essayez d'imprimer () et voyez les valeurs de vos trois ordres TIME - leurs valeurs de caractéristiques OrderCloseTime(), c'est-à-dire que nous pourrions avoir à introduire le concept de TEMPS de clôture, c'est-à-dire la déviation de l'heure de clôture de plusieurs ordres par une petite valeur quand nous pouvons considérer qu'ils ont clôturé simultanément. Expérimentez et voyez par vous-mêmes à partir d'ici.
En prenant l'aide de la salle.
Comment écrire une condition dans OrderSelect():
if(order opening day != today's day)ticket=OrderTicket() ;
COMMENT COMPTEZ-VOUS LE NOMBRE DE POSITIONS LONGUES RENTABLES ET SÉPARÉMENT LE NOMBRE DE POSITIONS COURTES RENTABLES ?
La stratégie est la suivante : si le nombre de positions longues rentables depuis le début de l'Expert Advisor (ou mieux - pour tout l'historique du compte) est supérieur au nombre de positions courtes, alors seules les positions longues devraient être autorisées à être ouvertes. Et vice versa.
Il est clair comment compter ces transactions, si elles sont fermées par le Conseiller Expert : Fermer - Compter. Mais si une position est fermée par le TP ou le SL, alors ... ?
Peut-être que quelqu'un a un code prêt de la fonction ?
Eh bien, comparez dans une boucle sur les positions fermées leur prix de clôture et leurs prix de prise et d'arrêt :
OrderTakeProfit() ; OrderStopLoss() ; OrderClosePrice() ;
Et il est encore plus facile de sélectionner OP_BUY et OP_SELL et d'écrire dans quatre variables distinctes le nombre de positions d'achat et de vente perdantes et rentables.
si (OrderProfit()+OrderSwap()+OrderCommission()>0) { /* la position est profitable */ }
else { /* la position est perdante */ }
J'ai tout regardé, j'ai tout fait... Il n'ouvre pas de poste, c'est tout ! Il se ferme correctement, mais il ne s'ouvre pas... Je ne sais pas quoi faire ! Peut-être que quelqu'un trouvera un bug dans le programme ?