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

 
hoz:
Pour être honnête, je n'ai aucune idée de la raison pour laquelle une telle chose serait nécessaire. Apparemment, les développeurs n'y ont pas pensé non plus.
C'est très bien qu'il y ait des choses auxquelles les développeurs n'ont pas pensé. Si vous mettez des choses comme ça ensemble et les mettez ensemble, vous pouvez
 
Kobalerro:

Merci pour le conseil, mais c'est un peu trop compliqué. Et puis dans votre version, il s'avère que tout fonctionne, et il faut 10 pour vérifier la condition d'entrée,

et ils n'ouvrent que les cinq qui ont été les premiers à réussir et ensuite, quand l'un d'eux se ferme, le premier qui correspond aux conditions s'ouvre à nouveau,

non limité à EURUSD 1 , GBPUSD 1 , EURGBP 0.

Je pense qu'il devrait y avoir une solution plus simple. Comme compter le nombre total de commandes avec une condition de limitation par un paramètre donné.

Il devrait y avoir une limite, soit pour un symbole, soit pour un nombre magique, mais pas plus d'un.

Bien que, peut-être, votre variante fonctionnera également, mais comment le mettre en œuvre dans le code, je ne peux pas penser.


Oui, je le pense ! J'ai vraiment pris le coup de main ici, je peux me passer de l'écriture sur disque facilement !
J'attache juste les rênes du terminal standard à un autre.
Je suis juste en train d'attacher les rênes d'un terminal standard pour un autre).

Pardonnez-moi, mais nous allons devoir le faire de toute façon.
car comme l'a dit Sir Freddie Mercury.
Le spectacle doit continuer !

Mettons les choses au clair.
Comme je le comprends :

1. Sur un compte, j'ai un nombre impressionnant de fenêtres ouvertes (10 pièces) avec n'importe quel ensemble de graphiques de paires de devises.

2. Sur chaque graphique se trouve un cheval de trait - un conseiller expert, qui fait quelque chose.

3. le compte doit remplir les conditions suivantes :

3.1 Le nombre total d'ordres ouverts sur le marché dans le compte ne doit pas dépasser 5.
Les ordres de type cheval (en attente) ne devraient pas être comptés comme tels (je le pense, mais vous ne l'avez pas précisé).
3.2 Sur la base d'un ensemble de graphiques sur le compte, une certaine liste de symboles est formée,

Et chacun de ces symboles peut avoir au maximum un symbole à un moment donné.

à un moment donné, ne peut avoir plus d'un ordre ouvert.

---------------------------------------------------------

Quelque chose comme ça ! Regardez si tout est correct !
Alors dites-nous dans quelle langue cela doit être fait (comme mq4 ou mq5).
et la liste des instances pour lesquelles vous négociez - est-elle fixe ou différente à chaque fois ?

Je pense que cela devrait être un court collage dans le texte de chaque EA.

(ce que vous pouvez faire plus tard si vous le souhaitez) lui permettra de

décider des autorisations actuellement existantes pour toute action ...

Je voudrais prendre congé maintenant car il est 5 heures du matin :))

madzx

 
Kobalerro:

Merci pour le conseil, mais c'est trop mystérieux. Et puis votre version de la fonction fonctionne pour tous, et il faut 10 pour vérifier une condition d'entrée,

et ils n'ouvrent que les cinq qui ont été les premiers à réussir et ensuite, quand l'un d'eux se ferme, le premier qui correspond aux conditions s'ouvre à nouveau,

non limité à EURUSD 1 , GBPUSD 1 , EURGBP 0.

Je pense qu'il devrait y avoir une solution plus simple. Comme compter le nombre total de commandes avec une condition de limitation par un paramètre donné.

Et la limitation, que ce soit par le symbole ou par le magicien, n'est pas supérieure à un.

Bien que, peut-être, votre variante fonctionnera également, mais comment le mettre en œuvre dans le code, je ne peux pas penser.



Ne vous battez pas dans trois pins. Bifurquez les transactions d'exp sous des magiks uniques (assignez votre magik à vos ordres d'exp sur les symboles sélectionnés). Ensuite, en utilisant l'opérateur conditionnel if - else, vous reliez le filtre par des symboles et des symboles magiques, en utilisant cette fonction de Kim I.V. avec différentes valeurs d'entrée :

Fonction NumberOfOrders().

. C'est tout.

 
hoz:


HM. Je n'ai pas compris ce que tu voulais dire avant d'avoir tout lu :) Quel type de données voulez-vous dans la sortie ?

De la manière dont je vois les choses, la solution à cette situation est la suivante :

1. Convertir les nombres int 59 et 17 en type 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 y a peut-être d'autres options, mais je n'en vois pas d'autres pour le moment.


Excellente réponse - simple et directe - et vous n'avez pas besoin d'autres options, car celle-ci est
très bien .... :))
 

Je vais retenter ma chance.

Bonjour Il existe un indicateurhttps://www.mql5.com/ru/code/7176

Il fonctionne bien sur l'histoire. Dans la vie réelle, il est en lambeaux, etc.

Si je voulais utiliser cet indicateur par exemple comme base pour redessiner/recalculer chaque barre ou chaque intervalle ?

Par exemple, si vous tradez sur m5 et que vous attendez un signal, il se peut qu'il ne vienne pas, vous attendez pendant 15-20 minutes, puis vous passez à n'importe quel autre cadre temporel et de nouveau sur m5 et il s'avère que vous avez un signal. Vous passez à une autre période et encore une fois sur m5 et il s'avère qu'il était là il y a 10 minutes. Comment pouvez-vous le recalculer automatiquement sans passer à une autre période de temps ?

 

Une drôle de question s'est posée. Par exemple, je décide d'ouvrir un ordre d'achat sur une condition :

1. La vague rapide 1 a croisé la vague lente 2 de bas en haut. (L'important n'est pas le moment du croisement, mais que la vague rapide 1 soit plus élevée que la vague lente 2).

2. Le chandelier a touché le 1 rapide, nous ouvrons donc un ordre d'achat.

J'y ai pensé, et donc je comprends que nous devons créer des conditions qui si le prix de la bougie est approximativement égal au prix de la vague rapide1 apparemment avec un certain écart spécifié, n'est-ce pas ?

Fondamentalement, puisque le chandelier est actuellement au sommet une fois que le rapide croise le lent par le bas, alors plus besoin de comparer le bas du chandelier avec le prix du rapide ?

c'est-à-dire

if( iMA(fast) > iMA(slow) )
{
  if(low[0] == iMa(fast))
  OrderSend(параметры посыла ордера);
}

Mais dans ce cas, on ne tient pas compte du fait qu'il est peu probable que le chandelier se trouve exactement au niveau du prix de l'iMA(fast), car le prix peut rapidement le franchir et aller plus loin ou rebondir. Donc, nous devons spécifier une plage.

Comment le mettre en œuvre correctement ?

 
Twilight:

Je vais retenter ma chance.

Bonjour Il existe un indicateurhttps://www.mql5.com/ru/code/7176

Il fonctionne bien sur l'histoire. Dans la vie réelle, il est en lambeaux, etc.

Si je voulais utiliser cet indicateur par exemple comme base pour redessiner/recalculer chaque barre ou chaque intervalle ?

Par exemple, si vous tradez sur m5 et que vous attendez un signal, il se peut qu'il ne vienne pas, vous attendez pendant 15-20 minutes, puis vous passez à n'importe quel autre cadre temporel et de nouveau sur m5 et il s'avère que vous avez un signal. Vous passez à une autre période et encore une fois sur m5 et il s'avère qu'il était là il y a 10 minutes. Comment recalculer automatiquement le signal sans changer d'horizon temporel ?

Avez-vous lu attentivement la description de l'indicateur faite par l'auteur (voir le lien) ?

Le seul problème est que cet indicateur est, disons, dynamique. C'est-à-dire qu'il peut redessiner plus de dix ( !) barres. Et ce que vous voyez en vert était rouge avant. Et il n'est devenu vert que parce que la tendance est montée.

? ?? - il est déjà à découvert ! !!
 
silatyt:

Avez-vous lu attentivement le résumé de l'auteur de cet indicateur (sur le lien) ?

Le seul problème est que cet indicateur est, disons, dynamique. C'est-à-dire qu'il peut redessiner plus de dix ( !) barres. Et ce que vous voyez en vert était rouge avant. Et il est devenu vert uniquement parce que la tendance est montée.

? ?? - il recalcule de toute façon !!!


Je sais qu'il redessine, mais je suis intéressé par la technologie de recalcul de tout indicateur à chaque nouvelle barre ou à un certain intervalle.

Je suis intéressé par la technologie de recalcul de tout indicateur.

La question est de savoir comment recalculer sur chaque barre un indicateur sans changer manuellement l'horizon temporel.

 
Twilight:


Je sais qu'il redessine, mais je suis intéressé par la technologie qui permet de recalculer un indicateur à chaque nouvelle barre ou pour une période donnée en général.

Même s'il y a autre chose plus tard.

La question ressemble à celle de recalculer un indicateur sur chaque barre sans changer manuellement l'horizon temporel.

Avez-vous déjà regardé à l'intérieur d'un indicateur ? En général, ça ressemble à ça :

int start()
  {
   int counted_bars=IndicatorCounted();
//----
   if (counted_bars < 0) return(-1);
   if (counted_bars > 0) counted_bars--; 
   int limit=Bars-counted_bars;
   for (int i=limit;i>=0;i--)
    {
    //расчёт индикатора
    }
//----
   return(0);
  }

La variable qui définit le nombre de barres que vous voulez recalculer est appelée limite. Vous pouvez l'utiliser comme base de calcul.

 
silatyt:

Avez-vous déjà regardé à l'intérieur d'un indicateur ? En général, ça ressemble à ça :

La variable qui détermine le nombre de barres à recalculer est la limite. Vous pouvez le calculer à partir de là.


Vous voulez insérer le code de l'indicateur dans le Conseiller Expert et le recalculer là ?

Et s'il y a 5 indicateurs ?

Existe-t-il un autre moyen de les recalculer ?

J'attache tous les indicateurs au conseiller expert par le biais d'iCustom.

L'appel de l'indicateur et sa dernière valeur et ainsi de suite à chaque nouvelle barre, mais il n'est pas redessiné dans la fenêtre des symboles échangés jusqu'à ce que vous changiez de cadre temporel et reveniez en arrière.

Si vous appuyez sur PCM et que vous appuyez sur rafraîchir, il n'y a pas de redécoupage, il n'y a redécoupage que lorsque vous modifiez l'intervalle de temps.

P.S. Et le logiciel PCM/refresh comme appelé ?

RefreshRates semble être erroné.