[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 591

 
lottamer:

et pourquoi ai-je une série de conditions

si (cmd999==OP_SELL && Stoch_1>Stoch_2 && OrderProfit()>10)

est exécuté comme VRAI même si OrderProfit est inférieur à 10 (dollars) ?

Après tout, tout ce qui est inférieur à 10 dollars devrait être coupé ?


Essayez d'imprimer les variables avant cette ligne, peut-être que votre programme n'atteint pas cette ligne, ou que les valeurs des variables ne sont pas celles que vous attendez. Par exemple, si vous avez un compte en cents, la fonctionOrderProfit() de certaines sociétés de courtagerenvoie la valeur en cents, et dans d'autres - en dollars.
 
rigonich:

Essayez d'imprimer les variables avant cette ligne, peut-être que votre programme n'atteint pas cette ligne ou que les valeurs des variables ne sont pas celles que vous attendez. Par exemple, si votre compte est en cents, la fonction OrderProfit() renvoie une valeur en cents dans certaines sociétés de courtage et en dollars dans d'autres.


1 - le programme ne peut pas atteindre cette ligne - parce qu'elle est EXECUTEE (sinon le Conseiller Expert n'a pas fait ce que j'attends de lui).

2 - en utilisant la fonction Print ("profit=", OrderProfit()) ; (qui se comporte également de manière étrange - puis écrit, puis se tait...) j'obtiens la sortie suivante :

"profit=-0.24".

ce qui signifie apparemment en dollars. Mais lorsque j'écris la condition ifOrderProfit()>10 - elle passe facilement à travers...

 
Desead:

Quelqu'un sait-il ce qu'il en est du retournement ?

Lorsque les ordres sont réouverts avec reconduction, peut-il y avoir des glissements pour les valeurs de stop et de takeout ? Et comment le stop sera-t-il fixé si, après la reconduction, la différence entre le prix d'ouverture et le prix du stop est inférieure au niveleur du stop ?

Ma tâche est la suivante. Si j'ai un ordre ouvert sur le marché, je dois vérifier s'il a été ouvert avec un roulement et si c'est le cas, je dois obtenir le ticket de l'ordre précédent, qui a été fermé. Peut-être que quelqu'un suggérera un algorithme de recherche ? Je le fais jusqu'à présent :

1. Je sélectionne le premier ordre ouvert.
2. Je regarde l'heure de son ouverture, si elle est ouverte de 23:40 à 00:20, alors je continue à vérifier cet ordre plus loin (la fenêtre de 40 minutes est prise juste au cas où, bien que dans l'idée il est possible de prendre de 23:50 à 23:59)
3. Je mémorise le ticket, je m'arrête et je prends...
4 Je vérifie tous les ordres fermés basés sur l'historique, où les commentaires contiennent le mot "swap" et les paires de devises correspondent.

5. Je dois comparer les données sur les arrêts et les prises de contrôle. Si elles sont similaires, voici la paire d'ordres requise, sinon - je retourne à l'étape 1.

1. Je n'ai pas de glissement au niveau du rollover, c'est un point technique.

2.(3-4-5) Il suffit de vérifier s'il y a un swap dans le commentaire à l'heure de retour spécifiée.

 
Zhunko:
Je suis un télépathe ! Que s'est-il passé ? :-))


Est-il possible d'écrire des commentaires sur les lignes comme ceux qui sont écrits lorsqu'une commande est passée (numéro de ticket et type de commande) ?

Alors dites-moi, n'étant pas télépathe, de quelles lignes s'agit-il ?

 
rigonich:


Est-il possible d'écrire des commentaires sur les lignes comme ceux qui sont écrits lorsqu'une commande est passée (numéro de ticket et type de commande) ?

Alors expliquez-moi, je ne suis pas télépathe, de quelles lignes on parle ?


c'est la ligne pointillée verte qui marque le niveau d'ouverture de la transaction :))
 
lottamer:


1 - le programme ne peut pas échouer à atteindre cette ligne - parce qu'elle est EXECUTEE (sinon l'EA ne ferait pas ce que j'attends d'elle).

2 - en utilisant la fonction Print ("profit=", OrderProfit()) ; (qui se comporte également de manière étrange - maintenant elle écrit, maintenant elle est silencieuse...) j'obtiens la sortie suivante :

"profit=-0.24".

ce qui signifie apparemment en dollars. Mais lorsque j'écris la condition ifOrderProfit()>10, elle passe facilement à travers...


Cela peut signifier, par exemple, que l'on a sélectionné le mauvais ordre pour la modification, les paramètres que vous demandez, ou autre chose.

Si le conseiller expert fait ce qu'il est censé faire, pourquoi sinon faire quelque chose avec lui ?

Presque tous les programmes ne parviennent pas à certains endroits au cours de leur exécution. Par exemple, s'il y a un opérateur if() dans un programme et que la condition est fausse, la partie de l'opérateur qui suit la condition n'est pas exécutée, c'est-à-dire que le programme ne l'atteint pas.

 
rigonich:

Si vous ne répondez pas, cela peut signifier que vous avez choisi le mauvais ordre pour la modification ou autre chose.


J'ai fait simple ici - les commandes sont toujours une à la fois. Il ne peut pas y en avoir 2. Il est donc difficile de manquer .... dans les paramètres.

l'impression est silencieuse, et la commande qui la suit, qui est dans un BOX avec elle, passe (conclure l'affaire)

il doit y avoir quelque chose dans la taille du profit...peut-être que c'est les points ? et je dois mettre 0.001 ?

même s'il est clairement écrit "-0.24" - dollars...

Je ne comprends pas...

 

Bonsoir ! Pouvez-vous me dire si cette condition fonctionnera - pas une réponse exacte à plus ou moins trois points ?

 if(tsena+3*Point>Ask&&tsena-3*Point<Ask&&wtoraya__stupen){//Если, пройдя сто пунктов вверх,или вниз, цена вернулась обратно, удаляем все позиции.  
    

J'ai dessiné deux axes de coordonnées sur des feuilles séparées pendant 25 minutes, en devinant.

 
lottamer:

est une ligne pointillée verte marquant le niveau d'ouverture de la transaction :))

Dans le terminal, il y a différentes lignes, horizontales, verticales, des lignes de tendance, des lignes de niveaux d'ordre, des lignes du prix actuel Ask et Bid, des lignes d'indicateurs et d'autres lignes.
 
rigonich:

Le terminal dispose de différentes lignes, horizontales, verticales, lignes de tendance, lignes des niveaux d'ordre, lignes du prix actuel Ask et Bid, lignes d'indicateurs et autres lignes.

il me semble que les autres lignes sont tracées arbitrairement.
Raison: