Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 664

 
igalx:

Quelqu'un peut-il suggérer, j'installe le plugin GetTickerHistory dans MT-4, fonctionne, mais le chargement ne va pas, est-il possible de télécharger les index externes d'une autre manière.

Merci d'avance.

Qui est votre courtier ? Probablement une société de courtage ? Ils ont tous ces indices externes - cliquez à droite sur la fenêtre "Market Watch" - "Symboles" - choisissez ce dont vous avez besoin et profitez-en. Et il sera extrêmement utile de lire la description chic du terminal en appuyant sur "F1" - Aide. MetaQuotes a bien fait ici - ils l'ont bien mis en œuvre. Après l'avoir lu, vous deviendrez un trader d'un autre niveau de compétence. Je le recommande à tout le monde.

Conseil 1: Lorsque vous demandez de l'aide pour un plugin, il serait bon de le joindre à un message. Ce n'est pas comme si nous parcourions les moteurs de recherche pour le trouver, l'installer et vous aider dans vos difficultés. Et pour comprendre la difficulté du plugin, vous avez besoin du code source au format "mq4".

Conseil 2: Ce forum (branche) est destiné à la programmation, pas à l'utilisation du terminal. Par conséquent, les questions des non-programmeurs ici ne peuvent pas répondre - seront ignorées.

 
genino:
Dites-moi comment mettre en œuvre cette idée. A chaque tick, nous ouvrons deux ordres d'achat et de vente si (pour l'achat) il n'y a pas d'ordre au prix Ask actuel sur le marché. Pour vendre le même mais avec un Bid. Merci d'avance.

Je vais vous donner un indice - il y a trois possibilités ici :

Apprenez un langage de programmation, par exemple MQL5, et réalisez tous vos fantasmes "fous" dans le code. Vous y consacrez du temps et des efforts. Entre-temps, vous réalisez à la fois combien la tâche que vous avez définie au tout début était insensée et vous vous rendez compte de l'effort que vous avez déployé. Mais vous grandissez en tant qu'expert et vous regardez le monde avec une vision plus compétente. (Ceci n'est pas dirigé contre vous personnellement - ne soyez pas offensé. Tous les programmeurs passent par là, même les plus expérimentés. Il s'agit d'un processus naturel et régulier).

2. Vous apportez beaucoup d'argent, si vous ne voulez pas vous développer vous-même, mais avez l'argent pour frimer, et le commander à un programmeur extérieur, s'il accepte de résoudre des "tâches obscures", pour lesquelles (et c'était à l'origine dans l'énoncé du problème) vous lui taperez sur les nerfs et lui reprocherez un travail rémunéré.

3. Vous vous rendez compte que la tâche que vous avez fixée n'est pas réalisable, et vous refusez de la faire. Au lieu de cela, vous trouvez une nouvelle et meilleure idée. Il s'agit d'un processus courant et très fréquent pour un créateur.

Mais en général, c'est à vous, en tant que développeur, de trouver un moyen de résoudre le problème. Sur le forum, vous ne pouvez aider que sur les aspects techniques du codage, occasionnellement de la programmation. Sinon, c'est un travail que vous payez ou que vous faites vous-même (éventuellement pour d'autres). L'aide et le travail sont différents en cela. Vous demandez un travail à faire, pas de l'aide. Des tâches différentes. Pas pour faire des reproches, pour vous aider à comprendre la définition (formulation) de la tâche.

 
271863768:

Veuillez me dire comment séparer le billet pour l'acheter et le vendre séparément ?

ticket=OrderSend("EURUSD",OP_SELL,SellLot,Bid,3,0,0,",MAGICMA,0,Red) ;

sinon

{

OrderSelect(ticket-3,SELECT_BY_POS,MODE_TRADES) ;

OrdreClose(ticket-3,SellLot,Ask,3,Red) ;

}

ticket-3, TK trade comme un prix moyen sur plusieurs ordres ) mais comment séparer les tickets d'achat des tickets de vente ? pour pouvoir prendre un ordre qui a été ouvert il y a 3 achats ) Idem pour la vente


De la façon dont vous le décidez et le formulez, la réponse est non. Mais...

Comme il existe plusieurs façons de résoudre ce problème, vous pouvez abandonner la méthode que vous décrivez et essayer d'en trouver une nouvelle. De plus, je vous dirai même que c'est un problème standard - il est décrit dans le "Textbook on MCL" - https://book.mql4.com/ru/.

Vous devez juste le lire. 98% de vos questions seront résolues par vous-même car le code de la solution se trouve dans le manuel.

 
waroder:

Bonjour les amis !) J'ai un tel problème :

j'ai écrit un programme qui ouvre un modèle (avec les indicateurs et l'objet graphique dont j'ai besoin) au démarrage, puis analyse les données et effectue des transactions. lorsque je l'exécute simplement sur un graphique, tout fonctionne bien. lorsque je l'exécute dans un testeur, il ne fonctionne que lorsqu'il est visualisé. je comprends que le modèle ne peut être chargé que sur un graphique ouvert visuellement... donc ça ne fonctionne pas en mode test normal, car il s'exécute juste sur le graphique sans charger le modèle... et qu'en est-il de l'optimisation ? j'ai pas mal de paramètres, et d'une certaine manière, il est très déraisonnable d'exécuter chaque option manuellement avec la visualisation.

aide plz)) comment puis-je résoudre le problème avec l'optimisation et le modèle ?

La formulation du problème est intéressante. Mais c'est loin d'être une question de débutant. À en juger par l'absence de réponses, personne ne sait comment résoudre correctement ce problème, c'est-à-dire qu'il n'existe pas de solution toute faite. Et avec le testeur, beaucoup de choses peu claires et indéfinies, parce que nous ne savons pas pourquoi ça marche, puis ça ne marche pas, et dans différents modes différemment. Nous ne pouvons que deviner. Mais il faut le savoir pour pouvoir le résoudre. Sinon, il est possible de trébucher pendant un long moment. Je pense que cette question devrait être adressée directement au développeur.

Si vous vous décidez, il sera intéressant de connaître la solution du problème.

 
MakarFX:

Bon après-midi.

Dans le terminal, si je double-clique sur la ligne de commande, une fenêtre de modification s'ouvre.

Mais si le prix d'ouverture d'un ordre et le take profit d'un autre ordre sont sur la même ligne, le dernier ordre modifié s'ouvre.

S'il vous plaît, indiquez si mql4 a une fonction pour ouvrir la fenêtre de modification de l'ordre en cliquant sur l'ordre nécessaire dans l'indicateur ?


Si j'ai bien compris votre question, pourquoi voulez-vous modifier l'ordre dans la fenêtre du graphique ? Il existe une alternative, qui est absolument sans ambiguïté : double-cliquez sur l'ordre dans l'onglet "Trade". Et vous serez très heureux.
 
waroder:

Bonjour les amis !) J'ai un tel problème :

j'ai écrit un programme qui ouvre un modèle (avec les indicateurs et l'objet graphique dont j'ai besoin) au démarrage, puis analyse les données et effectue des transactions. lorsque je l'exécute simplement sur un graphique, tout fonctionne bien. lorsque je l'exécute dans un testeur, il ne fonctionne que lorsqu'il est visualisé. je comprends que le modèle ne peut être chargé que sur un graphique ouvert visuellement... donc ça ne fonctionne pas en mode test normal, car il s'exécute juste sur le graphique sans charger le modèle... et qu'en est-il de l'optimisation ? j'ai pas mal de paramètres, et d'une certaine manière, il est très déraisonnable d'exécuter chaque option manuellement avec la visualisation.

aide plz)) comment pouvez-vous résoudre le problème avec l'optimisation et le modèle ?


J'ai regardé du coin de l'œil les solutions qui vous ont été proposées par d'autres experts. Vous pouvez avoir des restrictions d'autorisation lors du chargement des modèles. Cela se reflète dans la description de la fonction ChartApplyTemplate(). Mais il ne s'agit que d'une option. Ou quelque chose de similaire. Ainsi, lorsque vous chargez par le biais de la visualisation, toutes les permissions sont préservées, mais lorsqu'elles sont programmées, elles sont restreintes.

Citation de la description de la fonction:

Lorsque le modèle est sauvegardé, les droits des programmes fonctionnant sur le graphique sont également mémorisés : le droit de commercer et le droit d'utiliser la DLL. Pour des raisons de sécurité, ces droits peuvent être limités lors de l'application du modèle au graphique :

Les droits de négociation et d'utilisation des DLL ne peuvent pas être augmentés lorsqu'un EA est lancé en appliquant un modèle à l'aide de la fonction ChartApplyTemplate().

Si le programme mql4 qui appelle ChartApplyTemplate() n'a pas le droit de négocier, l'EA chargé à l'aide du modèle n'aura pas non plus le droit de négocier, quels que soient les paramètres du modèle.

Si le programme mql4 qui appelle la fonction ChartApplyTemplate() a des droits de négociation mais pas les paramètres du modèle, l'EA chargé à l'aide du modèle n'aura pas de droits de négociation.

 

Chers experts !

Veuillez indiquer quelle fonction renvoie le maximum de la bougie quotidienne précédente (ou de toute autre bougie) dans le graphique TF 5.

EXEMPLE(dans TF 5)

int start()

{

si (Open[0] > High[valeur max.du jour précédent])jour])

OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-1500*Point,Bid+300*Point, "jfh",1 ) ;

retour(0) ;

}

fonction iHighest(NULL,0,MODE_HIGH,3,1) ; ne fonctionnera pas dans ce cas car le TF est différent.

Merci.

 
solnce600:

Chers experts !

Veuillez me dire quelle fonction renvoie le maximum de la bougie quotidienne précédente (ou de toute autre bougie) sur le graphique TF-5.

EXEMPLE(sur TF 5)

int start()

{

si (Open[0] > High[max.jour])

OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-1500*Point,Bid+300*Point, "jfh",1 ) ;

retour(0) ;

}

La fonction iHighest(NULL,0,MODE_HIGH,3,1) ; ne convient pas dans ce cas car le TF est différent.

Merci.

La variante la plus simple est :

    iHigh (_Symbol, PERIOD_D1, 1);
- pas satisfait ???
 
Merci.... Je n'y ai pas pensé tout de suite ! !!
 
optionany:

Je vais reformuler ma question :

Quelle fixation ou opérateur, pouvons-nous implémenter : quotes*100 et les dessiner sur un graphique, cela prend deux lignes de code, je suppose... qui peut aider?

Merci d'avance


Vous ne pouvez pas le faire directement sur la carte. Tu pourrais faire un indicateur de sous-sol.