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
Fonction DistMarketAndPos().
C'est parti ! Voici des fonctions plus intéressantes ! Par exemple, il renvoie la distance en pips entre le marché et la position la plus proche. La sélection plus précise des positions à contrôler est définie par des paramètres externes :
La fonction DistMarketAndPos().
C'est parti ! Passons à des fonctions plus intéressantes ! Par exemple, il renvoie la distance, en points, entre le marché et la position la plus proche. La sélection plus précise des positions à contrôler est définie par des paramètres externes :
J'essaie de le faire fonctionner dans les deux sens et d'ouvrir des ordres dans les deux sens. J'ai une erreur, aidez-moi à la corriger.
extern int TakeProfit = 150 ;
extern double Lot = 0.01 ;
extern inttern MAGIC = 1234 ;
int start()
{
si (DistMarketAndPos()>150)
{
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,0,Ask+TakeProfit*Point)
}
retour(0) ;
}
int DistMarketAndPos(string sy="", int op=OP_BUY, int mn=-1)
{
double d, p ;
int i, k=OrdersTotal(), r=1000000 ;
si (sy=="" || sy=="0") sy=Symbole() ;
p=MarketInfo(sy, MODE_POINT) ;
si (p==0) si (StringFind(sy, "")<0) p=0.00001 ; sinon p=0.01 ;
pour (i=0 ; i<k ; i++)
{
si(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
si ((OrderSymbol()==sy) && (op<0 || OrderType()==op))
{
si (mn<0 || OrderMagicNumber()==mn)
{
si (OrderType()==OP_BUY)
{
d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p ;
si (r>d) r=NormalizeDouble(d, 0) ;
}
si (OrderType()==OP_SELL)
{
d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p ;
si (r>d) r=NormalizeDouble(d, 0) ;
}
}
}
}
}
//----------------------------------------------------------------------------------------------------------------------------------------------
si (DistMarketAndPos()>150)
{
OrderSend(Symbol(),OP_SELL,Lot,Ask,3,0,Ask-TakeProfit*Point) ;
}
retour(0) ;
{
int DistMarketAndPos(string sy="", int op=OP_SELL, int mn=-1) //cette ligne donne 1 erreur,
//si cette ligne est supprimée,
//il compile, mais ensuite
//Je ne mets pas op=OP_SELL,
//et sans elle, le conseiller expert pensera,
//que l'ordre à partir duquel vous voulez calculer
//distance est OP_BUY
si (sy=="" || sy=="0") sy=Symbole() ;
p=MarketInfo(sy, MODE_POINT) ;
si (p==0) si (StringFind(sy, "")<0) p=0.00001 ; sinon p=0.01 ;
pour (i=0 ; i<k ; i++)
{
si (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
si ((OrderSymbol()==sy) && (op<0 || OrderType()==op))
{
si (mn<0 || OrderMagicNumber()==mn)
{
si (OrderType()==OP_BUY)
{
d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p ;
si (r>d) r=NormalizeDouble(d, 0) ;
}
si (OrderType()==OP_SELL)
{
d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p ;
si (r>d) r=NormalizeDouble(d, 0) ;
}
}
}
}
}
retour(r) ;
retour(r) ;
}
}
//-------------------------------------------------------------------------------------------
MERCI
J'essaie de le faire fonctionner dans les deux sens et d'ouvrir des commandes dans les deux sens avec lui. J'ai un bug dont je n'arrive pas à me débarrasser, aidez-moi à le corriger.
MERCI
Vous devriez essayer :
Et avec des questions ici...
Fonction MovingInWL().
Quelqu'un peut-il expliquer pourquoi il faut poster des fonctions qui ne fonctionnent pas ?
'LevelWLoss' - identificateur non déclaré
'LevelProfit' - identificateur non déclaré
'ModifyOrder' - fonction non définie
'LevelWLoss' - identificateur non déclaré
'LevelProfit' - identificateur non déclaré
'ModifyOrder' - fonction non définie
6 erreur(s), 0 avertissement(s)
et ceci dans la fonction elle-même
Quelqu'un peut-il expliquer pourquoi il faut poster des fonctions qui ne fonctionnent pas ?
'LevelWLoss' - identificateur non déclaré
'LevelProfit' - identificateur non déclaré
'ModifyOrder' - fonction non définie
'LevelWLoss' - identificateur non déclaré
'LevelProfit' - identificateur non déclaré
'ModifyOrder' - fonction non définie
6 erreur(s), 0 avertissement(s)
et ceci est à l'intérieur de la fonction elle-même
La fonction fonctionne, mais elle appelle la fonction ModifyOrder, qui doit être ajoutée au code de l'EA et ajoute également à l'EA les variables LevelWLoss et LevelProfit, comme ceci
extern int LevelProfit = 1000 ;
extern int LevelWLoss = 50 ;
Merci beaucoup pour ce fil de discussion. Un grand merci à lurii Tokman pour les fonctionnalités. Personnellement, je suis presque prêt à l'assimiler à Stroustrup.
Merci !
La fonction GetAmountLotFromOpenPos().
Cette fonction renvoie la somme des lots des positions ouvertes. Une sélection plus précise des positions à prendre en compte est spécifiée par des paramètres externes :
Ne revient pas ! !!
quelle que soit la façon dont je le fais, soit des zéros, soit " fonction de traitement des événements non trouvée" 4.mq4 1 1
"
Merci beaucoup pour ce fil de discussion. Un grand merci à lurii Tokman pour les fonctionnalités. Personnellement, je suis presque prêt à l'assimiler à Stroustrup.
Merci !