[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 124
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Oui, désolé d'avoir confondu, c'est la première fois que j'écris sur le forum. J'ai d'abord copié, puis décidé d'écrire à la main et je me suis embrouillé... Mais l'exemple ci-dessus est correct...
MA1>MA2 et MA1<MA3 et MA3<MA4
Lisez le fil de discussion suivant
Il y a quelque chose d'étrange ici.
MA1>MA2 et MA2>MA3 et ensuite MA1<MA3
D'autant plus qu'il suffit de
La question est la suivante. Ce n'est pas la première fois que je rencontre cette situation :
Si la fonction traal ou breakeven est appelée à chaque tick, par exemple, une erreur 1 apparaîtra. Ce qui signifie, selon la documentation :
ERR_NO_RESULT 1 Нет ошибки, но результат неизвестен
Si vous ne l'appelez pas ouvertement dans la fonction start, c'est-à-dire que vous ne vous contentez pas d'écrire la fonction avec des paramètres directement dans start, mais que vous l'appelez sur chaque barre, c'est-à-dire pas dans un tick, alors il n'y a pas d'erreur...
Je veux dire comme ça :
Pourquoi comme ça ?
Et en général, comment est-elle plus intelligemment mise en œuvre ? Cela nécessitera-t-il des ressources importantes pour chaque tique ?
Всем добрый день.
J'ai besoin de votre aide. Je ne comprends pas ce qui se passe.
si (OrderStopLoss() != NormalizeDouble(t6,5))
{
a=10 ;
}
LaconditionOrderStopLoss()=1.3017 etNormalizeDouble(t6,5)=1.3017 est toujours valable, c'est-à-dire que a=10. Mais elle ne doit pas être satisfaite.
Quelle peut en être la raison ?
La question est la suivante. Ce n'est pas la première fois que je rencontre cette situation :
Si la fonction traal ou breakeven est appelée à chaque tick, par exemple, une erreur 1 apparaîtra. Ce qui signifie, selon la documentation :
S'il n'est pas appelé ouvertement dans la fonction de démarrage, c'est-à-dire s'il ne s'agit pas seulement d'entrer la fonction avec des paramètres directement dans le démarrage, mais de l'appeler sur chaque barre, c'est-à-dire pas par tick, alors erreur - non...
Je veux dire comme ça :
Pourquoi comme ça ?
Et de manière générale, comment la mettre en œuvre de manière plus intelligente ? Cela nécessitera-t-il des ressources importantes pour chaque tique ?
La question est la suivante. Ce n'est pas la première fois que je rencontre cette situation :
Si la fonction traal ou breakeven est appelée à chaque tick, par exemple, une erreur 1 apparaîtra. Ce qui signifie, selon la documentation :
S'il n'est pas appelé ouvertement dans la fonction de démarrage, c'est-à-dire s'il ne s'agit pas seulement d'entrer la fonction avec des paramètres directement dans le démarrage, mais de l'appeler sur chaque barre, c'est-à-dire pas par tick, alors erreur - non...
Je veux dire comme ça :
Pourquoi comme ça ?
Et en général, comment est-elle plus intelligemment mise en œuvre ? Est-ce que cela va demander beaucoup de ressources pour chaque tique ?
Le chalut essaie de déplacer la SL au même niveau. Nous devons ajouter un contrôle, le niveau du chalut doit être différent de la SL actuelle.
Le chalut tente de déplacer SL au même niveau. Une vérification devrait être ajoutée, le niveau de chalutage doit être différent de la SL actuelle.
Si l'arrêt - nouvel arrêt (en U.B.) n'est pas nul... puis nous modifions... Sinon, nous ne modifions pas. C'est pourquoi je ne comprends pas bien comment cela se passe. Après tout, je comprends que je dois vérifier l'égalité des arrêts passés et nouveaux et je l'ai fait.J'ai un chèque pour ça :
Bonjour, comment puis-je modifier ma commande initiale et finale en 1 T/P ? Merci.
gi_304 = CountTrades();
g_price_212 = 0;
double ld_24 = 0;
for (g_pos_300 = OrdersTotal() - 1; g_pos_300 >= 0; g_pos_300--) {
OrderSelect(g_pos_300, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != g_magic_176) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_176) {
if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
g_price_212 += OrderOpenPrice() * OrderLots();
ld_24 += OrderLots();
}
}
}
if (gi_304 > 0) g_price_212 = NormalizeDouble(g_price_212 / ld_24, Digits);
if (gi_332) {
for (g_pos_300 = OrdersTotal() - 1; g_pos_300 >= 0; g_pos_300--) {
OrderSelect(g_pos_300, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != g_magic_176) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_176) {
if (OrderType() == OP_BUY) {
g_price_180 = g_price_212 + TakeProfit2 * Point;
gd_unused_196 = g_price_180;
gd_308 = g_price_212 - Stoploss * Point;
gi_268 = TRUE;
}
}
if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_176) {
if (OrderType() == OP_SELL) {
g_price_180 = g_price_212 - TakeProfit2 * Point;
gd_unused_204 = g_price_180;
gd_308 = g_price_212 + Stoploss * Point;
gi_268 = TRUE;
}
}
}
}
if (gi_332) {
if (gi_268 == TRUE) {
for (g_pos_300 = OrdersTotal() - 1; g_pos_300 >= 0; g_pos_300--) {
OrderSelect(g_pos_300, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != g_magic_176) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_176) OrderModify(OrderTicket(), g_price_212, OrderStopLoss(), g_price_180, 0, Yellow);
gi_332 = FALSE;
}
}
}
return (0);
Bonjour, comment puis-je modifier ma commande initiale et finale en 1 T/P ? Merci.
Modifiez ce code pour qu'il ne ressemble pas à un hack.
Si arrêt - nouvel arrêt (en b.u.) n'est pas égal à zéro... puis nous modifions... Sinon, nous ne modifions pas. C'est pourquoi je ne comprends pas bien comment cela se passe. Après tout, je comprends que je dois vérifier l'égalité des arrêts passés et nouveaux et je l'ai fait.J'ai donc un chèque pour cette affaire :
Voici comment je vérifie d'en haut et d'en bas lorsque je recherche sans erreur un bai :
Je peux donner la fonction ModifyOrder(), bonne pour toutes les modifications d'ordre et de position.