Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 328
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
{
for (int i = 3 ; i<=Bars ; i++)
if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) != 0) return (i) ;
double LastUpperFractalPrice = High [i] ; return (LastUpperFractalPrice) ;
}
c'est bien ça ? Cette fonction renverra-t-elle le prix de la dernière fractale supérieure?
Est-ce correct ? Cette fonction renverra-t-elle le prix de la dernière fractale supérieure ?
Exemple de recherche fractale
{
for (int i = 3 ; i<=Bars ; i++)
{
if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) != 0) return (i) ;
{
double LastUpperFractalPrice = High [i] ;
}
}
return (LastUpperFractalPrice) ;
}
Est-ce que ça va marcher ou pas ?
double GetLastUpperFractalPrice()
{
for (int i = 3 ; i<=Bars ; i++)
{
si (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) != 0)
{
double LastUpperFractalPrice = High [i] ;
}
}
retourner (LastUpperFractalPrice ;)
}
Est-ce que ça va marcher ou pas ?
Donc, par exemple, il le fera :
Comme vous l'avez dit, ce ne sera pas le cas.
double GetLastUpperFractalPrice()
{
for (int i = 3 ; i<=Bars ; i++)
{
if (iFractals(Symbol(),PERIOD_M5,MODE_UPPER,i) != 0) return (i) ;
{
double LastUpperFractalPrice = High [i] ;
}
}
return (LastUpperFractalPrice) ;
}
Est-ce que ça va marcher ou pas ?
Non. Insérez le code à travers le SRC du panneau.
return (ХХХ) retournera de la fonction utilisateur - ce qui a été entré là sera retourné par cette fonction - la valeur de ХХХ ou un résultat de certaines fonctions de calcul.
Ainsi, lorsqu'une fractale est trouvée, on écrit return (High [i]) - il n'est pas nécessaire d'inventer autre chose.
Bien en avance sur vous))
Il s'agit d'une fonction élémentaire de placement d'ordres en attente, les paramètres ne sont pas importants, mais il est important de faire en sorte que le conseiller expert (il peut utiliser la boucle existante d'ordres en attente) après avoir reçu un "nouveau prix" ou pour réinitialiser ou autrement éviter de placer des ordres au même prix. Dans ce cas, la boucle de passation des ordres ne doit pas s'arrêter.
double Dist=10000.0 ;
chaîne SMB ;
double NewPrice ;
int i ;
int start()
{
RefreshRates() ;
SMB=Symbole() ;
{UstanOtlozh();}
}
retour(0) ;
void UstanOtlozh()
{
double OldPrice=WindowPriceOnDropped() ; // Le script est lancé ici.
RefreshRates() ;
SMB=Symbole() ;
{
int i=1 ;
while(i<=OrdersTotal())
{
si (OrderSelect(i-1,SELECT_BY_POS)==true) // s'il existe un
{ // Analyse de l'ordre :
if (OrderSymbol()!= SMB) continue ; // Pas notre instrument financier.
int Tip=OrderType() ; // Type de commande
if (Tip<2) continue ; // Ordre de marché
double NewPrice=OrderOpenPrice() ; // Prix de la commande
{
while(NewPrice<=Ask+200*Point||NewPrice>=Ask+50*Point)
{
NewPrice=NewPrice+50*Point ;
OrderSend(SMB,OP_BUYSTOP,0.01,NewPrice,3,0,0,NULL,0,CLR_NONE) ;
if(NewPrice>Ask+200*Point||NewPrice<Ask+50*Point)
pause ;
}}}}}}
Je l'ai réparé pour compiler - et utiliser 555 build de MT4 EDITOR - cela aide vraiment à trouver les problèmes rapidement. Il suffit de lire le manuel avant d'installer - les 15 premières pages.
Je n'aurais jamais cru que je demanderais une chose aussi simple. Lors de la compilation, je reçois un message indiquant que la fonction BU() n'est pas impliquée. Je l'ai mis de cette façon (le code est donné) maintenant tout compile, mais la fonction breakeven ne fonctionne pas. Il fonctionne dans d'autres EAs et il a la même fonction Breakeven.
Je n'aurais jamais cru que je demanderais une chose aussi simple. Lors de la compilation, je reçois un message indiquant que la fonction BU() n'est pas impliquée. Je l'ai mis de cette façon (le code est donné) maintenant tout compile, mais la fonction breakeven ne fonctionne pas. Dans d'autres EA, la fonction de seuil de rentabilité est exactement la même.
La seule raison est un retour incorrect de l'opérateur if(...) ; Il semble que vous n'en ayez qu'un seul - au début du programme.
Messieurs ! !! Qu'est-ce qui vous trouble ?
iFractals() renvoie le prix, et non le numéro de barre de la fractale.
La seule raison est un retour incorrect de l'opérateur if(...) ; Il semble que vous en ayez un - au début du programme.