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
J'ai mis le paramètre use moneymanagement à false.... mais concernant les paramètres Lots, il ne s'agit pas des Lots mais du nombre d'ordres ouverts. Je ne veux pas que l'ea ouvre plus de 5 ordres...... à un moment donné, c'est pourquoi j'ai mis le paramètre NumberofTrades à 5, sur les paramètres d'entrée mais il va quand même me défier, et prendre plus de 5 ordres, menaçant ainsi mes moneymanagements !
Mastercash
Voici le résultat de nos tests :
Comme vous pouvez le voir, il n'a jamais ouvert plus de 5 ordres pour le même symbole et le même numéro magique en même temps.
ok, je vois...je ne veux pas qu'il prenne plus de 5 ordres pour différents symboles....e.g, disons qu'il y a des signaux de trading de 10 symboles dans les 20 dernières minutes.... l'ea devrait prendre seulement les 5 premiers signaux de trading, puis quand l'un de ces cinq ordres se ferme, il peut en prendre un de plus, en s'assurant que les ordres en cours d'exécution à travers les différents symboles ne dépassent pas 5.Mais il continue à dépasser 5, peu importe..... Parfois il prend 5 mêmes ordres du même symbole ce qui est également faux.
Mastercash
C'est le résultat de nos tests :
Comme vous pouvez le voir, il n'a jamais ouvert plus de 5 ordres pour le même symbole et le même numéro magique en même temps.ok, je vois...je ne veux pas qu'il prenne plus de 5 ordres pour différents symboles....e.g, disons qu'il y a des signaux de trading de 10 symboles dans les 20 dernières minutes.... l'EA devrait prendre seulement les 5 premiers signaux de trading, puis quand l'un de ces cinq ordres se ferme, il peut en prendre un de plus, en s'assurant que les ordres en cours sur les différents symboles ne dépassent pas 5. Mais il continue à dépasser 5, peu importe..... Parfois il prend 5 mêmes ordres du même symbole ce qui est également faux.
Si vous voulez qu'il ait un maximum de 5 ordres sur tous les symboles, allez à la ligne 144(if( OrderSymbol() != Symbol() ) continue ;) et supprimez-la. Et gardez le même nombre magique pour toutes les instances sur tous les symboles (pour qu'il puisse compter les ordres ouverts uniquement par cet EA sur tous les symboles).
Bonjour Mladen
J'ai une belle indication qui ne se rafraîchit pas lorsqu'elle est fixée à un TF plus élevé.
Comme vous pouvez le voir sur le graphique lorsque je n'édite pas, il reste bloqué. Pourriez-vous m'aider à résoudre ce problème ?
J'ai ajouté l'indicateur et une capture d'écran
Bonjour Mladen
J'ai une belle indication qui ne se rafraîchit pas lorsqu'elle est fixée à un TF plus élevé.
Comme vous pouvez le voir sur le graphique, lorsque je n'édite pas, il reste bloqué. Pourriez-vous m'aider à résoudre ce problème ?
J'ai ajouté l'indicateur et une capture d'écranwolfsch
Cela ne peut se produire qu'en backtest visuel (c'est une erreur que metatrader n'a pas corrigée depuis au moins 7-8 mois, et c'est une erreur de metatrader et non de l'indicateur) et cela se produit pour tous les indicateurs multi-temporels lorsqu'ils sont backtestés visuellement.
En utilisation normale, il fonctionne bien (je l'ai testé maintenant, juste au cas où, et tout fonctionne comme il est censé fonctionner sur des graphiques réguliers).
Merci, je vais travailler sur ce point et je vous recontacterai à l'adresse .......
Si vous voulez qu'il ait un maximum de 5 ordres sur tous les symboles, allez à la ligne 144(if( OrderSymbol() != Symbol() ) continue ;) et supprimez-la. Et gardez le même nombre magique pour toutes les instances sur tous les symboles (pour qu'il puisse compter les ordres ouverts uniquement par cet EA sur tous les symboles).
TFI
Le tampon 3 est le bon (c'est le tampon "tendance" qui a les valeurs 1 pour une pente ascendante et -1 pour une pente descendante). Vous utilisez les décalages 1 et 2, d'où le test de la première barre fermée.
La partie achat du code est correcte.
Vous avez omis l'élément
if(trendc!=trendp)
de la partie vendue qui pourrait vous causer un problèmeBonjour Mladen,
Merci beaucoup pour votre aide. J'ai changé le code selon
J'ai modifié le code selon votre suggestion, le trading se déroule sans problème, le calcul des pip est également correct.
Mais maintenant, il n'ouvre plus de positions courtes (cela pourrait être aussi une stratégie ;-)).
Il ne fait que fermer les positions longues.
Pourriez-vous me conseiller à nouveau ?
extern double maxshorttrades = 2;
extern double maxlongtrades = 2;
//+-----------------------------------------------------+
//| BUY |
//+-----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_BUY && OP_BUY<maxlongtrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==1 && (CCIFilter<80)) // code for buy
OpenBuy();
return(0);
}
openedOrders++;
}
//+----------------------------------------------------+
//| SELL |
//+----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_SELL && OP_SELL<maxshorttrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==-1 && (CCIFilter>80)) // code for sell
OpenSell();
return(0);
}
openedOrders++;
}
}
Veuillez consulter la capture d'écran ci-jointe pour plus de détails.
Merci d'avance !
Avec mes salutations distinguées,
TFI
Bonjour Mladen,
Merci beaucoup de m'avoir aidé. J'ai modifié le code selon
J'ai modifié le code selon votre suggestion, le trading est fluide, le calcul des pip est également correct.
Mais maintenant, il n'ouvre plus de positions courtes (cela pourrait aussi être une stratégie ;-)).
Il ne fait que fermer les positions longues.
Pourriez-vous me conseiller à nouveau ?
extern double maxshorttrades = 2;
extern double maxlongtrades = 2;
//+-----------------------------------------------------+
//| BUY |
//+-----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_BUY && OP_BUY<maxlongtrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==1 && (CCIFilter<80)) // code for buy
OpenBuy();
return(0);
}
openedOrders++;
}
//+----------------------------------------------------+
//| SELL |
//+----------------------------------------------------+
for (i=OrdersTotal()-1;i>=0; i--)
if(OrderType()==OP_SELL && OP_SELL<maxshorttrades) break; // Check Traded Positions.
{
if(trendc!=trendp)
{
if(trendc==-1 && (CCIFilter>80)) // code for sell
OpenSell();
return(0);
}
openedOrders++;
}
}
Veuillez consulter la capture d'écran ci-jointe pour plus de détails.
Merci d'avance !
Avec mes salutations distinguées,
TFITFI
Essayez quelque chose comme ceci :
extern double maxlongtrades = 2;
//-----------------------------------------------------
//
//-----------------------------------------------------
int clongs = 0;
int cshorts = 0;
for (i=OrdersTotal()-1;i>=0; i--)
{
if(OrderType()==OP_BUY) clongs++; // Check Long Traded Positions.
if(OrderType()==OP_SELL) cshorts++; // Check Short Traded Positions.
}
if(trendc!=trendp)
{
if(clongs < maxlongtrades && trendc== 1 && (CCIFilter<80)) OpenBuy();
if(cshorts 80)) OpenSell();
// Check the CCI condition
// it is not symetrical to buy condition
}
mladen,
J'ai fait le changement dans le numéro 144 et j'ai unifié le numéro magique, "MagicNumber" à travers les instances....It prend maintenant un maximum de 5 trades à la fois, mais il répète maintenant les trades sur le même symbole en même temps, par exemple, si vous recevez un signal de vente sur EURUSD, il va placer cet ordre de vente EURUSD 5 fois. Voir l'image de l'ordre en direct qu'il a pris comme ça :
Merci, je vais travailler sur ce point et je vous recontacterai à l'adresse .......
mladen, j'ai fait le changement dans le numéro 144 et j'ai unifié le numéro magique, "MagicNumber" à travers les instances....It prend maintenant un maximum de 5 trades à la fois mais il répète maintenant les trades sur le même symbole en même temps, par exemple, si vous recevez un signal de vente sur EURUSD, il placera cet ordre de vente EURUSD 5 fois. Voir l'image de l'ordre en direct qu'il a pris comme ça :
Cela ne dépend pas de cette partie du code
Vous devez ajouter une vérification dans le reste du code pour ne pas ouvrir un ordre sur la même barre et le même symbole.