[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 511

 
Kreol:

Bonjour !

Recherche d'un script, sujet créé ici https://forum.mql4.com/ru/42138 conseillé de contacter ici pour de l'aide.

Merci d'avance !


Vous avez été conseillé - regardez ici, creusez le codebase - n'oubliez pas de partager vos résultats.
 
Roman.:

On vous a dit de regarder ici, de creuser la base de code - n'oubliez pas de partager vos résultats.

J'ai écrit que je n'ai rien trouvé là-bas :(
 

Ce n'est pas non plus la même chose, car pour ouvrir une position sur la limite ou le marché, vous devez utiliser des scripts différents + vous devez trouver l'instrument lui-même et ouvrir sa fenêtre + il n'y a pas de fermeture partielle des positions.
 
Je vous ai déjà donné l'adresse où cela sera fait exactement comme vous le souhaitez, je ne vais pas le répéter.
 
Top2n:
Il y a quelque chose qui ne va pas ici !


Bien sûr qu'elle ne l'est pas :

bool TimeBars()
{
int prevtime = 0;
if (Time[0] == prevtime) return(0); // Бар прежний, а следовательно выходим
   prevtime = Time[0]; // Свежий бар, запоминаем время
}
Il y a une mise à zéro obligatoire avant la comparaison.
 
static int prevtime;
 
xrust:
Je vous ai déjà donné l'adresse où cela sera fait exactement comme vous le souhaitez, je ne vais pas vous le répéter.

Oui, oui, je vous entends... mais avant de vous donner mon argent, j'aimerais m'assurer que le script dont j'ai besoin n'est pas disponible gratuitement.
 

Bon après-midi.

Il y a 4 ordres, 2 ventes et 2 achats. Les scellés sont créés, au sens figuré, lorsque le prix monte et achetés lorsqu'il baisse. Les ventes sont supprimées lorsqu'un achat est créé et vice versa. Lorsqu'un ticket est créé, le 1er achat ou vente est stocké dans la variable pos. Les 4 ont le même commentaire - "Aelit". Donc, il y a un code :

if (OrderSelect(pos, SELECT_BY_TICKET, MODE_TRADES))
    if (OrderComment() == "Aelit")
    {
    ...
    OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+0.0001, Digits), OrderTakeProfit(), 0);
    ...
    }

L'ordre est sélectionné normalement par le ticket, mais très souvent la comparaison des commentaires échoue. Pour l'intérêt, j'ai fait autre chose Alert(OrderComment()) ; et le journal a montré "Alert : Aelit[sl]". Qu'est-ce que [sl] ? Est-ce parce que toutes les commandes ont le même commentaire ? Alors pourquoi le même [sl] lorsque j'ai fait un commentaire qui ne correspondait pas aux autres pour le test ? Si vous supprimez la vérification du commentaire, une erreur de ticket apparaît dans le journal pour OrderModify. Au début, je pensais que la condition était atteinte avant qu'un ordre ne soit créé, mais non, à ce moment-là, l'ordre est déjà là, et le ticket est le même en cas de déclenchement de la condition et de non déclenchement. Comment puis-je le comprendre ?

 
Pouvez-vous nous dire s'il est possible d'écrire du texte en mql4 dans un fichier, par exemple *.txt, et de récupérer ensuite ces données pour le trading. L'idée est que l'EA apprenne à trader lui-même, lorsque le prix change de >100*Point par paire de barres, l'EA mémorise ces valeurs et essaie ensuite de les utiliser (valeur de l'indicateur +/- n% pour ouvrir un ordre). Cela pourrait également être implémenté dans l'EA, mais après avoir fermé MetaTrader, toutes les valeurs des variables semblent être remises à zéro.