Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 89
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
comment déterminer le moment de la journée pour négocier des contrats à terme ?
MarketInfo(Symbol(),MODE_STARTING)
MarketInfo(Symbole(),MODE_EXPIRATION)
renvoie des zéros
quel courtier ?
Vous devez donc tout d'abord vérifier auprès de votre courtier.
Chers membres du forum, comment écrire la condition de franchissement de la ligne de canal par le prix dans votre Expert Advisor, par exemple, le prix franchit la ligne de canal par le haut et le trade est ouvert ou fermé ? Veuillez noter que je suis intéressé par le moment de ce crossover. Je serais heureux de vous aider.
double price0=NormalizeDouble(ObjectGetValueByShift("NameYourChannelLine", 0),Digits)) ; - valeur de votre ligne sur la barre 0.
double price1=NormalizeDouble(ObjectGetValueByShift("NameYourChannelLine", 1),Digits)) ; - valeur de votre ligne sur la barre 1.
Et la façon la plus simple de déterminer le moment de la rupture sur la barre zéro : si(High[0]>prix0 && High[1]<=prix1) {la ligne a cassé vers le haut}, si(Low[0]<prix0 && Low[1]>=prix1) {la ligne a cassé vers le bas}. Les ifs seront VRAIS à partir du moment de la percée jusqu'à la fin de la barre actuelle. Il est souhaitable que votre ligne de canal ait la propriété OBJPROP_RAY==True .
Chers membres du forum, comment créer une condition dans un EA pour le franchissement de la ligne de canal, par exemple, si le prix franchit la ligne de canal par le haut et qu'une transaction est ouverte ou fermée ? Veuillez noter que je suis intéressé par le moment de ce crossover. Je serais heureux de vous aider.
De plusieurs façons :
Si Ask > ligne du canal et Low[1] <=ligne du canal, croisement vers le haut.
Si Bid < ligne du canal et High[1] >= ligne du canal, croisement vers le bas.
Vous pouvez vérifier avec MA avec la période 1
. J'ai dû mal formuler la question, j'aurais dû joindre une partie du code. Je me suis trompé.
Comme le suggère le site
artmedia70 a indiqué la fermeture de l'intersection comme suit. Cela conclut l'affaire selon la capture d'écran. Mais nous devons conclure l'affaire là où la croix est
void CheckForClose()
{
double PriceHigh, PriceLow ;
//---- ne négocient que pour les premiers tiks du nouveau bar.
si(Volume[0]>1) retour ;
PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0) ;
PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0) ;
for(int i=0;i<OrdersTotal();i++)
{
si(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break ;
if(OrderMagicNumber()!=124 || OrderSymbol()!=Symbol()) continuer ;
//---- type d'ordre de contrôle
si(OrderType()==OP_BUY)
{
if(Low[1]<=PriceHigh && Ask>=PriceHigh ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White) ;
pause ;
}
si(OrderType()==OP_SELL)
{
si(High[1]>=PriceLow && Bid<=PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,3,White) ;
pause ;
}
}
//----
}
comment sélectionner le dernier ordre FERMÉ dans le logiciel et obtenir des informations à partir de celui-ci ?
Vous pouvez trouver tout ce que vous voulez.
Merci pour votre aide
. J'ai dû mal formuler la question, j'aurais dû joindre une partie du code. Je me suis trompé.
Comme le suggère le site
artmedia70 a indiqué la fermeture de l'intersection comme suit. L'affaire se conclut selon la capture d'écran. Mais nous devons conclure l'affaire là où la croix est
void CheckForClose()
{
double PriceHigh, PriceLow ;
//---- ne négocient que pour les premiers tiks du nouveau bar.
si(Volume[0]>1) retour ;
PriceHigh = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 1, 0) ;
PriceLow = iCustom (Symbol(), 0, "ExtremeTMALine", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, TrendThreshold, Distances, 2, 0) ;
for(int i=0;i<OrdersTotal();i++)
{
si(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break ;
if(OrderMagicNumber()!=124 || OrderSymbol()!=Symbol()) continuer ;
//---- type d'ordre de contrôle
si(OrderType()==OP_BUY)
{
if(Low[1]<=PriceHigh && Ask>=PriceHigh ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White) ;
pause ;
}
si(OrderType()==OP_SELL)
{
si(High[1]>=PriceLow && Bid<=PriceLow) OrderClose(OrderTicket(),OrderLots(),Ask,3,White) ;
pause ;
}
}
//----
}
ExtremeTMA - ils sont incroyablement à découvert. C'est un gros morceau d'histoire - les 30 dernières mesures, si ce n'est plus. Je l'ai utilisé pour écrire un conseiller expert - c'est nul. Imaginez : un signal apparaît, je l'ai atteint, mais quelque temps plus tard, le signal n'existe plus dans l'historique - l'indicateur est redessiné et il s'avère que je suis entré pour rien.
Vous avez fait une erreur en déterminant le croisement : if(Low[1]<=PriceHigh && Ask>=PriceHigh ) ... vous devriez écrire if(Low[1]<=PriceHigh && Ask>PriceHigh ) ... Et pour le contraire par analogie.
Insérez le code avec le bouton SRC dans le panneau en haut de la fenêtre de saisie.
ZZZY Alors, où est la capture d'écran avec la croix ?
ExtremeTMA - ils sont incroyablement à découvert. Et un énorme morceau d'histoire - les 30 dernières mesures, si ce n'est plus. Je l'ai utilisé pour écrire un conseiller expert - c'est nul. Imaginez : j'ai reçu un signal, je l'ai saisi, et quelque temps plus tard, le signal n'existe plus dans l'historique - l'indicateur a effectué trop de redessinages et il s'avère que j'ai saisi le marché en vain.
Vous avez fait une erreur en déterminant le croisement : if(Low[1]<=PriceHigh && Ask>=PriceHigh ) ... vous devriez écrire if(Low[1]<=PriceHigh && Ask>PriceHigh ) ... Et pour le contraire par analogie.
SZY Le code doit être collé en appuyant sur le bouton SRC dans le panneau en haut de la fenêtre de saisie de texte.
Corrigé, j'ai fermé la transaction de la même manière que dans la capture d'écran ci-dessus, et je devrais être là où se trouve la croix rouge.
Je suis d'accord qu'ExtremeTMA redessine, mais je suppose que cela n'affecte pas la recherche de points d'entrée, l'essentiel ici étant les filtres. J'ai utilisé l'indicateur TDI. J'ai joint ce que j'ai fait (je n'ai pas de bonnes mains, c'est pourquoi l 'Expert Advisor est un bon projet ). Je n'ai qu'un seul problème avec lui, il faut environ 5 heures dans le testeur pour 1 an (j'ai fait une erreur quelque part). S'il n'est pas difficile de rechercher les erreurs.
Corrigé, j'ai fermé la transaction de la même manière que dans la capture d'écran ci-dessus, mais là où la croix rouge devrait être.
Je suis d'accord pour dire qu'ExtremeTMA est surdimensionné, mais je suppose que cela n'affecte pas la recherche de points d'entrée, l'essentiel ici étant les filtres. J'ai utilisé l'indicateur TDI. J'ai attaché la pointe (mes mains ne sont pas simples, le projet Expert Advisor est comme mes mains). Je n'ai qu'un seul problème avec lui, il faut environ 5 heures dans le testeur pour 1 an (j'ai fait une erreur quelque part). S'il n'est pas difficile de rechercher les erreurs.
Je n'ai pas encore cherché d'erreurs - j'ai beaucoup à faire.
Afin de fermer Sell où se trouve la croix rouge, vous devez vérifier la barre actuelle. Si Ask<= niveau de clôture && High[1]>niveau de clôture