[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 1093

 
J'ai une question similaire à celle de Dimka-novitsek. Existe-t-il une telle possibilité : si nous ouvrons un ordre de vente OP_SELL sur un symbole, sans le fermer, nous le changeons en ordre d'achat OP_BUY sur notre symbole (nous pouvons seulement changer son numéro ou autre chose). En conséquence, cela modifiera la taille du dépôt en faveur du résultat de la transaction + ou -, mais en conservant l'écart. Ou bien, dois-je simplement fermer l'ordre OP_SELL et ouvrir un nouvel ordre OP_BUY pour acheter, en perdant le spread ? Si une telle possibilité existe, puis-je voir le code prêt ?
 
kolyango:
J'ai une question similaire à celle de Dimka-novitsek. Existe-t-il une telle possibilité : si nous ouvrons un ordre de vente OP_SELL sur un symbole, sans le fermer, nous le changeons en ordre d'achat OP_BUY sur notre symbole (nous pouvons seulement changer son numéro ou autre chose). En conséquence, cela modifiera la taille du dépôt en faveur du résultat de la transaction + ou -, mais en conservant l'écart. Ou bien, dois-je simplement fermer l'ordre OP_SELL et ouvrir un nouvel ordre OP_BUY pour acheter, en perdant le spread ? Si une telle possibilité existe, puis-je voir le code prêt ?

Le sens de la commande ne peut pas être modifié. Vous ne pouvez en fermer qu' une et en ouvrir une autre.
 
kolyango:
J'ai une question similaire à celle de Dimka-novitsek. Existe-t-il une telle possibilité : si nous ouvrons un ordre de vente OP_SELL sur un symbole, sans le fermer, nous le changeons en ordre d'achat OP_BUY sur notre symbole (nous pouvons seulement changer son numéro ou autre chose). En conséquence, cela modifiera la taille du dépôt en faveur du résultat de la transaction + ou -, mais en conservant l'écart. Ou bien, dois-je simplement fermer l'ordre OP_SELL et ouvrir un nouvel ordre OP_BUY pour acheter, en perdant le spread ? Si une telle possibilité existe, puis-je voir le code prêt ?

Regardez OrderCloseBy()
 
Vinin:

Regardez OrderCloseBy()

La fonction OrderCloseBy()

bool OrderCloseBy(int ticket, int opposite, color Color=CLR_NONE)

Cette fonction permet de clôturer un ordre de marché par un autre ordre de marché, ouvert pour le même instrument financier, mais dans le sens inverse. La fonction renvoie VRAI si la fonction se termine avec succès et FAUX si la fonction échoue.

Paramètres :

ticket - Le numéro d'ordre unique de la commande à clôturer.

Opposé - Le numéro de séquence unique de l'ordre opposé.

Couleur - Couleur de la flèche de fermeture sur le graphique. Si le paramètre est absent ou si sa valeur est CLR_NONE, la flèche n'apparaîtra pas dans le graphique.

La taille des ordres opposés ne doit pas nécessairement être la même. Si les tailles des ordres ne correspondent pas, l'opération est exécutée dans la taille du plus petit des ordres.

Et que se passe-t-il s'il n'y a pas d'autre ordre de marché ouvert dans la direction opposée ? Est-ce déjà impossible ? S'il existe un tel moyen, aidez-moi ! J'en ai vraiment besoin... ! !!!!!!!!!!!! Je ne voudrais pas perdre un autre spread en cas de fermeture -> ouverture consécutives...

 
kolyango:

Fonction OrderCloseBy()

Cette fonction permet de clôturer un ordre de marché avec un autre ordre de marché ouvert pour le même instrument financier, mais dans le sens inverse. La fonction renvoie VRAI si la fonction se termine avec succès, et FAUX si la fonction échoue.

Paramètres :

ticket - Le numéro d'ordre unique de la commande à clôturer.

Opposé - Le numéro de séquence unique de l'ordre opposé.

Couleur - Couleur de la flèche de fermeture sur le graphique. Si le paramètre est absent ou si sa valeur est CLR_NONE, la flèche n'apparaîtra pas dans le graphique.

La taille des ordres opposés ne doit pas nécessairement être la même. Si les tailles des ordres ne correspondent pas, l'opération est exécutée dans la taille du plus petit des ordres.

Et que se passe-t-il s'il n'y a pas d'autre ordre de marché ouvert dans la direction opposée ? Est-ce déjà impossible ? S'il existe un tel moyen, aidez-moi ! Nous avons vraiment besoin de ! !!!!!!!!!!!! Je détesterais vraiment perdre un autre écart en cas de fermeture -> ouverture consécutives...


Je l'ai vu. Et d'y réfléchir pendant un moment ?
 
kolyango:

Fonction OrderCloseBy()

Cette fonction permet de clôturer un ordre de marché avec un autre ordre de marché ouvert pour le même instrument financier, mais dans le sens inverse. La fonction renvoie VRAI si la fonction se termine avec succès, et FAUX si la fonction échoue.

Paramètres :

ticket - Le numéro d'ordre unique de la commande à clôturer.

Opposé - Le numéro de séquence unique de l'ordre opposé.

Couleur - Couleur de la flèche de fermeture sur le graphique. Si le paramètre est absent ou si sa valeur est CLR_NONE, la flèche n'apparaîtra pas dans le graphique.

La taille des ordres opposés ne doit pas nécessairement être la même. Si les tailles des ordres ne correspondent pas, l'opération est exécutée dans la taille du plus petit des ordres.

Et que se passe-t-il s'il n'y a pas d'autre ordre de marché ouvert dans la direction opposée ? Est-ce déjà impossible ? S'il existe un tel moyen, aidez-moi ! Vraiment besoin !!!!!!!!!!!!!

La fonction OrderCloseBy() n'est pas bonne pour les flips. Il ferme juste les ordres opposés.

Pour réaliser un coup, il faut soit en fermer un et ouvrir l'ordre opposé, soit ouvrir un ordre dans la direction opposée avec un lot deux fois plus important que le premier.

Ensuite, vous pouvez utiliser la fonction OrderCloseBy(), si vous le jugez nécessaire.

Exemple :

Si une vente ouverte LOT=0.1, ouvrez un achat LOT=0.2 pour inverser.

Vous pouvez utiliser OrderCloseBy() pour "fermer" le LOT=0.1 à la vente et à l'achat, mais ne laisser que le LOT=0.1 à la vente.

-

 
DhP:

La fonction OrderCloseBy() n'est pas adaptée aux flips. Il ferme simplement les ordres opposés.

Pour réaliser un flip, vous devez soit en fermer un et ouvrir l'ordre opposé, soit ouvrir un ordre dans la direction opposée, avec un lot deux fois plus important que le premier.

Ensuite, vous pouvez utiliser la fonction OrderCloseBy(), si vous le jugez nécessaire.

Exemple :

Si une vente ouverte LOT=0.1, ouvrez un achat LOT=0.2 pour inverser.

Vous pouvez utiliser OrderCloseBy() pour "fermer" le LOT=0.1 à la vente et à l'achat, mais ne laisser que le LOT=0.1 à la vente.

-


Oui, mais dans ce cas, il n'y a pas d'économies d'écart ! C'est tout bon, MAIS si le marché va dans la direction que vous avez choisie, SI NON - PERTE !
 
kolyango:

Oui, mais dans ce cas, il n'y a pas de sauvegarde de la propagation ! Tout cela est bien, mais si le marché va dans la direction que vous avez choisie, SI NON - vous perdez, ET DEUX fois plus ?


Vous ne serez pas facturé dans ce cas (lors de l'utilisation de la fonction) 2 spreads.

Et en cas de retournement du marché et avec deux ordres, vous ne subissez pas de double perte, car le premier trade ouvert commence à travailler pour un bénéfice. C'est-à-dire qu'en fait, un seul LOT=0.1 est ouvert.

 


Si vous avez ouvert Sell/Lot=0.1 pour un rollover, ouvrez Buy/Lot=0.2.

Vous pouvez utiliser la fonction OrderCloseBy() pour "annuler" le LOT=0.1 à la fois à Sell et à BAY, ne laissant que le LOT=0.1 à BAY.

Quel est l'intérêt ? Quand vous ouvrez BAY BOT=0.2 vous prenez déjà 2 fois plus, c'est-à-dire que si vous avez juste fermé BOT=0.1 et ouvert BOT=0.1 vous obtenez la même chose !

 
kolyango:


Si vous avez ouvert Sell LOT=0.1 pour un rollover, ouvrez Buy LOT=0.2.

Vous pouvez utiliser la fonction OrderCloseBy() pour "annuler" le LOT=0.1 pour Sell et BAY, ne laissant que BAY LOT=0.1.

Quel est l'intérêt ? Lorsque vous ouvrez le LOT=0.2 de la BAY, vous serez déjà facturé deux fois plus, c'est-à-dire que si vous venez de fermer le LOT=0.1 et d'ouvrir le LOT=0.1, vous obtiendrez le même !!!!.


Regardez ça. Cela ne prend pas beaucoup de temps. Un EA avec fermeture normale, l'autre utilise OrderCloseBy().

Comparez les résultats et dites ensuite