[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 - 5. - page 38

 
keep87:

C'est un peu plus simple, nous allons travailler à l'intérieur de la fonction de démarrage.

Tout d'abord, nous allons créer une variable dans laquelle nous allons écrire la direction de la dernière bougie.

int Candle=-1;

Si nous le remplissons avec une certaine valeur, l'une d'entre elles indiquera que la bougie est haussière, une autre indiquera qu'elle est baissière. Si -1, alors il ne s'agit de rien (il n'a pas pu être déterminé ou il n'a pas de direction close=open).

Valeur que je propose d'utiliser par analogie avec un ordre de bourse : 0 - achat, 1 - vente ;

plus loin, nous écrivons :

si(Close[1]>Open[1]) Candle=0 ; autrement
si(Close[1]<Open[1] Candle=1 ;

maintenant nous avons une direction définie et nous pouvons l'utiliser directement dans la fonction OrderSend( string symbol, int cmd, ...le reste de la merde...) ;

if(Candle!=-1) OrderSend( Symbol(),Candle, ...autres trucs...) ;

Ou en suivant votre analogie :

si(Candle==0) OpenBuy() ;
si(Candle==1) OpenSell();

Oui, en fait, c'est la même fonction que celle que j'ai écrite ici, comparez-la avec ce qu'elle renvoie. Je ne veux pas écrire tout le code au début, j'apprends à tout mettre séparément. Et je comprends la logique, merci.
 
hoz:

C'est ainsi que je l'utilise de temps en temps. Regarde, maintenant les fonctions ressemblent à ça :

Je lis dans le journal :

Donc, initialement, entre le prix d'achat et le stop, il y avait une différence de 1,3204 - 1,3194 = 0,001 point.

Plus loin 1.3210 - 1.3201 = 0.009 points

Et pour une raison quelconque, dans le second cas, le stop était plus proche du prix d'entrée, mais il n'y avait pas d'erreur ! J'y ai réfléchi et je ne l'ai pas compris.

J'ai corrigé l'erreur plus tard d'une manière différente. Il y a déjà des conditions dans le code :

if(price > Ask) && if(price < Bid) respectivement pour l'achat et la vente. Ou y avait-il une autre variante ? Maintenant, nous n'avons plus d'erreurs. Mais, néanmoins, j'aimerais entendre l'opinion d'un programmeur plus expérimenté.


C'est ce que j'ai écrit :

Ladeuxième erreur est que vous ne vérifiez pas où vous avez placé l'ordre.

 
r772ra:

Ou peut-être que oui :

if(NumberOfPositions("EURUSD")==0 && NumberOfPositions()<10)
Et voici la fonction


C'est plus proche de la vérité. Merci beaucoup, je vais faire un essai.
 

je vous conseille de savoir si vous pouvez ancrer des variables dans mql4, par exemple deux variables int et elles doivent être ancrées, une variable a le numéro 59 et l'autre 17, je dois obtenir 5917 ?

 
pasha5282:

J'aimerais savoir s'il est possible d'ancrer des variables dans mql4, par exemple deux variables int qui doivent être ancrées, une variable a le numéro 59 et l'autre 17, je dois obtenir 5917 ?


HMM. Je n'ai pas compris ce que tu voulais dire avant de lire tout le texte :) Quel type de données voulez-vous dans la sortie ?

Il s'avère que la façon dont je vois la solution à cette situation est la suivante :

1. Convertir les int 59 et 17 en chaîne de caractères

2. Ensuite, nous concaténons les données de ces chaînes.

3. nous les reconvertissons en type int

Il existe peut-être d'autres variantes, mais je ne peux pas penser autrement pour l'instant.

 
pasha5282:

je vous conseille de savoir si vous pouvez ancrer des variables dans mql4, par exemple deux variables int et elles doivent être ancrées, une variable a le numéro 59 et l'autre 17, je dois obtenir 5917 ?

5917= (StrToInteger(DoubleToStr(59.123,0) + DoubleToStr(17.456,0))
xxx
 
en php, vous pouvez ancrer des variables, par exemple : $one = 59 ; $two = 17 ; $decision = $one.$two ; ainsi nous n'additionnons pas deux nombres, nous les "collons" ensemble pour obtenir 5917
 
pasha5282:
en php, vous pouvez ancrer des variables, par exemple : $one = 59 ; $two = 17 ; $decision = $one.$two ; ainsi nous n'additionnons pas deux nombres, nous les "collons" ensemble pour obtenir 5917

mql4 n'est pas un langage très puissant, je dois donc faire avec ce que j'ai...
 
hoz:

mql4 n'est pas un langage très puissant, je dois donc faire avec ce que j'ai...

Je devrai faire avec. Je pense que j'ai peut-être oublié des choses aussi élémentaires, mais lorsque je suis allé dans l'aide, je ne les ai pas trouvées, peut-être que les développeurs n'ont pas prévu une telle option, ou que je dois chercher des informations supplémentaires.
 
pasha5282:

Je vais aller au fond des choses. Merci pour au moins une réponse, je pensais que j'étais bête et ne me souvenais pas de choses aussi élémentaires, et quand je suis allé à l'aide que je n'ai pas trouvé, apparemment les développeurs n'ont pas fourni une telle option. ou besoin de chercher plus, en tout cas, merci pour les réponses.

Pour être honnête, je ne sais même pas pourquoi cela peut être nécessaire. Apparemment, les développeurs n'y ont pas pensé non plus.
Raison: