Salut !
Jamais utilisé ST et TP
Veuillez clarifier.
Le Stop Loss et le Take Profit sont fixés sur une position existante.
Ou peut-on définir ces paramètres lors de l'établissement d'un ordre, c'est-à-dire lorsque la position n'est pas encore ouverte ?
Si nous pouvons spécifier des paramètres dans un ordre, comment devons-nous calculer le SL et le TP dans un ordre au marché (leprix de la position n'est pas fixé) ?
Vous pouvez spécifier n'importe quel paramètre, les niveaux sont stockés sur le serveur. Le même serveur peut refuser d'exécuter vos arrêts.
Vous pouvez régler comme vous le souhaitez, les niveaux sont stockés sur le serveur. Le même serveur peut refuser d'exécuter vos arrêts.
C'est pourquoi je ne veux pas avoir de refus du serveur.
En d'autres termes, est-il préférable de définir une position existante (pour être sûr) ?
C'est pourquoi je ne veux pas être rejeté par le serveur.
Est-il préférable d'installer sur une position existante (pour être sûr) ?
Il ne faut pas mettre de butées, mais des limiteurs.
C'est pourquoi je ne veux pas être rejeté par le serveur.
Est-il préférable d'installer sur une position existante (pour être sûr) ?
Il vaut mieux ne pas mettre de butées du tout, mettre des limites.
C'est pourquoi je ne les ai jamais utilisés auparavant.
Mais, maintenant, j'écris une classe CFORTSOrder et elle devrait avoir une fonction pour fixer le SL et le TP.
Ajouté
POSITION_SL |
S'agit-il des niveaux minimums ?
Je suis analphabète en matière d'exécution boursière, mais quand même. S'il y a un glissement, les niveaux seront exactement égaux à la taille que vous avez définie. Je ne l'ai pas vérifié personnellement, mais j'ai lu que sans SL et TP, l'ordre est exécuté plus rapidement. Si c'est vraiment le cas, alors il serait préférable d'attendre l'ouverture de la position, puis de travailler avec elle.
Merci
Merci.
Je suis analphabète dans l'exécution des échanges, mais néanmoins. Il est préférable de placer l'ordre dans son ensemble sur une position existante. En cas de dérapage, les niveaux seront exactement de la taille que vous avez fixée. Je ne l'ai pas vérifié personnellement, mais j'ai lu que sans SL et TP, l'ordre est exécuté plus rapidement. Si c'est vraiment le cas, alors il serait préférable d'attendre que la position soit ouverte, puis de travailler avec elle.
Les ordres stop eux-mêmes sont déclenchés très rapidement car ils sont stockés sur le serveur, et le serveur lui-même envoie les ordres dans les conditions prévues. Cela permet d'éviter d'envoyer des messages au serveur, contrairement à ce qui se passerait si vous fermiez au marché.
Mais les limiteurs sont plus fiables et la vitesse est incomparable (latence = 0).
Je n'ai pas mesuré la vitesse physiquement, mais je peux la voir à l'œil - le prix n'a pas atteint le stop et la transaction a été exécutée et affichée dans l'historique, puis le graphique commence à afficher le prix et la transaction.
C'est pourquoi je ne l'ai jamais utilisé auparavant.
Mais, maintenant, j'écris une classe CFORTSOrder et elle devrait avoir une fonction pour fixer le SL et le TP.
Ajouté
POSITION_SL |
S'agit-il des niveaux minimums ?
Pourquoi ne pas écrire une fonction sans béquilles qui sont stockées sur le serveur ?
Écrivez directement avec les limites. Ou au moins TR avec des limites, et SL comme vous l'obtenez.
Pourquoi ne pas écrire la fonction sans les béquilles qui sont stockées sur le serveur ?
Écrivez immédiatement avec des limites. Ou au moins TR avec des limites, et SL comme tu peux.
Et parce que je vais probablement publier le code de la classe.
Je n'en ai pas besoin, mais les débutants pourraient en avoir besoin.
{
if(PositionSelect(a_symbol))
{
ulong pos_ticket = ulong(PositionGetInteger(POSITION_TICKET));
ENUM_POSITION_TYPE pos_type = ENUM_POSITION_TYPE(PositionGetInteger(POSITION_TYPE));
double sl_level = PositionGetDouble(POSITION_SL);
double tp_level = PositionGetDouble(POSITION_TP);
MqlTradeRequest request = {0};
MqlTradeResult result = {0};
mem_magic = magic_storage + 1;
if(magic_storage >= (magic_number + 65530)) mem_magic = magic_number;
request.symbol = a_symbol;
request.action = TRADE_ACTION_SLTP;
request.comment = "Установка SL/TP";
request.magic = mem_magic;
request.position = pos_ticket;
switch(pos_type)
{
case POSITION_TYPE_BUY:
if (a_sl == 0)
{
request.sl = sl_level;
}
else
if(a_sl <= sl_level)
{
request.sl = a_sl;
}
else request.sl = sl_level;
if (a_tp == 0)
{
request.tp = tp_level;
}
else
if(a_tp >= tp_level)
{
request.tp = a_tp;
}
else request.tp = tp_level;
break;
case POSITION_TYPE_SELL:
if (a_sl == 0)
{
request.sl = sl_level;
}
else
if(a_sl >= sl_level)
{
request.sl = a_sl;
}
else request.sl = sl_level;
if (a_tp == 0)
{
request.tp = tp_level;
}
else
if(a_tp <= tp_level)
{
request.tp = a_tp;
}
else request.tp = tp_level;
break;
}
if(OrderSend(request, result))
{
if(result.retcode == TRADE_RETCODE_DONE)
{
magic_storage = mem_magic;
Print(__FUNCTION__, ": SL и/или TP установлен.");
}
}
else Print(__FUNCTION__, ": SL и/или TP не установлен.");
}
}
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Salut !
Jamais utilisé SL et TP
Veuillez clarifier.
Le Stop Loss et le Take Profit sont fixés sur une position existante.
Ou peut-on définir ces paramètres lors de l'établissement d'un ordre, c'est-à-dire lorsque la position n'est pas encore ouverte ?
Si nous pouvons spécifier des paramètres dans un ordre, comment devons-nous calculer le SL et le TP dans un ordre au marché (leprix de la position n'est pas fixé) ?