[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 - 2. - page 75

 
Vinin:


Merci ! Ça marche comme sur des roulettes. ))
 
ZZZEROXXX:

dans cette ligne

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) { Print("break "+GetLastError()) ; break;}

La commande se brise mais le code d'erreur est 0. - Pourquoi cela se produit-il ?

parce que vous avez une vérification de la condition selon laquelle l'ordre sélectionné à l'aide de la fonction OrderSelect() n'est pas un ordre au prix du marché, imprimez dans le journal et arrêtez-vous.

il faut faire l'inverse : si l'ordre est au marché et que l'ordre a un numéro magique et un symbole et . alors fermez-la et n'interrompez pas les itérations des ordres

https://book.mql4.com/ru/trading/orderclose

 
Bonjour à tous ! Existe-t-il un script ou un indicateur pour la tâche suivante ? J'ai besoin qu'une ligne horizontale soit tracée dans le terminal et suive le prix à une certaine distance (comme le trailing, mais seulement graphiquement). De combien ce script va-t-il augmenter la charge de MT ? Merci d'avance !
 
globad:
Bonjour à tous ! Existe-t-il un script ou un indicateur pour la tâche suivante ? J'ai besoin qu'une ligne horizontale soit tracée dans le terminal et suive le prix à une certaine distance (comme le trailing, mais seulement graphiquement). De combien ce script va-t-il augmenter la charge de MT ? Merci d'avance !

Action en une ligne - ObjectSet

 
IgorM:

parce que vous vérifiez si l'ordre sélectionné à l'aide de la fonction OrderSelect() n'est pas un ordre au marché, puis vous l'imprimez dans le journal et le cassez.

il faut faire l'inverse : si l'ordre est négociable et que l'ordre a un numéro magique et un symbole et . alors fermez-la et n'interrompez pas les itérations des ordres

https://book.mql4.com/ru/trading/orderclose

c'est-à-dire cette ligne

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) { Print("break "+GetLastError()) ; break;}

le changer en

si(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) { ici nous allons tout fermer }

mais le sens est le même.

Je ne comprends pas vraiment pourquoi OrderSelect peut renvoyer false et pourtant GetLastError() = 0.

 
ZZZEROXXX:

conseiller sur la fonction de clôture de tous les ordres

Je passerais les commandes dans l'ordre inverse. for(int i=total-1;i>-1;i--)

 

S'il vous plaît, aidez-moi à trouver une erreur, je n'arrive pas à l'obtenir correctement et à la lire dans le fichier.

Voici le code :

int handle ;

double valeur,Price,PriceLast,asd ;

handle=FileOpen("EURUSD5up.dat",FILE_BIN | FILE_READ | FILE_WRITE) ;

si(poignée<1)
{

Print("Impossible d'ouvrir le fichier -",GetLastError()) ;

retour(0) ;

}

asd = (Prix - Dernier Prix) ;

FileWriteDouble(handle, asd, DOUBLE_VALUE) ;

FileSeek(handle, 0, SEEK_SET ;)

value=FileReadDouble(handle,DOUBLE_VALUE) ;

Imprimer(valeur) ;

FileClose(handle) ;

Voici le résultat : 08.02.2011 10:18:27 31.12.2010 18:47 TEST EURUSD,M5 : 0

 
splxgf:

Je passerais les commandes dans l'ordre inverse. for(int i=total-1;i>-1;i--)


merci !, il est étrange que cette variante ne soit pas présentée dans l'exemple d'aide
 

стандартный кодебазовский RSI, являющийся отношением средней положительных изменений к средней отрицательных, не то же самое

que le RSI réel, original, qui est le rapport entre la somme des changements positifs et la somme des changements négatifs.

Bien que je la connaisse et la comprenne depuis des années, contrairement à celle de la base de code, je ne dirai pas que ma version est correcte.

Ce sont les bases, je pense que tous ceux qui sont sur le marché depuis longtemps savent que le rsi est sumpos/sumneg*100

d'ailleurs, ils ont aussi tordu le macdi - ils ont fait de la roue principale de la machine une EMA

>
 
sergeev:

Action en une ligne - ObjectSet

Merci beaucoup pour votre réponse. Malheureusement, je ne suis pas bon en programmation. Pourriez-vous me montrer à quoi cela devrait ressembler, par exemple pour une ligne décalée de 3p vers le haut par rapport au prix, avec une ligne de couleur bleue.

Raison: