Mon approche. Le noyau est le moteur. - page 42

 
Maxim Kuznetsov:

L'importation de l'interface graphique de l'EA vers l'indicateur est une chose discutable (juste l'architecture de MT - les indicateurs travaillent dans le fil de l'interface et peut ralentir TOUT. Pour éviter le freinage des indicateurs en MT, même une partie des fonctions leur est interdite)

pas à ce sujet.

Si un utilisateur malheureux a pris quelques indicateurs (tiers) et un EA et qu'ils sont tous des interfaces graphiques avec le moteur du noyau hors du chemin. Que va-t-il se passer ?

PS/ Peter, vous avez déjà obtenu au moins un hébergement gratuit et y avez mis votre produit. Si le code de base n'est pas bon. La publication des versions alpha/bêta/prévisualisation prend quelques heures. Tu ne peux pas trouver le temps ?

Eh bien, tout d'abord, je vais le faire. Et je le ferai.

J'ai été accusé ici de promotion de produits, alors en fait, c'est la promotion la plus inepte que vous puissiez imaginer. Parce que si je dois commencer à gagner de l'argent, je serai le dernier. Quand tout le monde utilisera la version gratuite.


Quant aux indicateurs, vous avez raison. Les graphiques sont lents. Surtout le défilement. J'ai déjà fait quelques expériences. Le même code dans Expert Advisor (défilement de l'image), ne provoque pas de ralentissements, et dans l'indicateur - ralentit.

Par conséquent, le moteur peut être conçu comme un conseiller expert qui fonctionnera sur n'importe quel graphique libre, et la fenêtre peut être déplacée entre les graphiques à l'aide de boutons spéciaux.

 
Реter Konow:

Les onglets permettent de modifier l'ensemble du kanvas. Les deuxième et troisième options sont conçues pour contrôler le phénomène des éléments sans changer de kanvase. C'est-à-dire que le même kanvas est redessiné et chaque fois avec un ensemble différent d'éléments.

A propos de la connexion, je ne comprends pas votre idée. Pourquoi ne devrait-il pas être connecté à l'EA ? Comment synchroniser les paramètres ?

L'interface graphique est soit complètement intégrée au conseiller expert, soit connectée de l'extérieur. En cas de connexion externe, vous devez définir les propriétés de la connexion et synchroniser les valeurs des paramètres des deux côtés.

Qu'est-ce qu'on appelle ici la synchronisation des paramètres ? Quelles propriétés la connexion peut-elle avoir ici ?

 
Реter Konow:

Quand tout le monde utilisera la version gratuite.

hélas, ils ne le feront pas, votre chemin n'est que tapis roulant, dont la sortie est un tas de produits avec des graphiques, à la tête et dans le processus, seulement vous))))

Il semble avoir déjà été discuté que votre approche n'est pas comprise par ceux qui savent programmer et ceux qui ne peuvent pas programmer sans votre aide, vous avez 2 façons de le faire :

1. Place de marché

2. Freelance

SZZ : Je répète mon opinion

a) pour le trading, les éléments de base des graphiques de la livraison MT ou vous pouvez utiliser des exemples de KB - tout cela est écrit dans des langages de programmation classiques et ne nécessite pas de temps supplémentaire pour l'expérimentation et le débogage, il suffit de le prendre et de l'utiliser. Tout cela peut être publié sur le marché.

b) pour écrire une plateforme analytique à usage personnel, il est préférable de trouver des solutions prêtes à l'emploi et de les connecter à MT (.dll, Pythons, R, Matlab....) , dans ce cas, il est préférable d'utiliser des graphiques tiers, afin que MT ne fonctionne qu'avec le serveur

 
Dmitry Fedoseev:

Qu'appelle-t-on ici la synchronisation des paramètres ? Quelles propriétés la connexion peut-elle avoir ici ?

Les commandes ont des paramètres.

Par exemple Checkbox. Possède un paramètre qui a deux valeurs possibles : 1 et 0.

Si un utilisateur clique sur une case à cocher et met une coche, du côté du moteur, dans le tableau des paramètres des contrôles, 1 est mis.

Ensuite, un message est envoyé à l'application utilisateur avec le numéro et la valeur du paramètre de la case à cocher. Ensuite, la nouvelle valeur est écrite dans l'analogue des paramètres du tableau dans l'application et la fonction On_Gui_Event() est appelée.

C'est ainsi que les valeurs sont synchronisées entre le moteur et l'application utilisateur.


Propriétés de la connexion :

Mots clés, fonctions enveloppes qui définissent les valeurs des éléments de l'EA, fonctions enveloppes qui ouvrent/ferment les fenêtres utilisables...

Initialisation d'une copie du tableau de paramètres dans l'Expert Advisor.

C'est à peu près tout.

 
Igor Makanu:

hélas, ils ne le feront pas, votre façon seulement un tapis roulant avec beaucoup de produits avec des graphiques, à la tête et dans le processus, seulement vous))))

Je pense que nous avons déjà discuté (1)votre approche est incompréhensible pour ceux qui savent programmer et ceux qui ne savent pas programmer sans votre aide, vous avez deux choix :

1. Le marché

2. Freelance

SZZ : Je répète mon opinion

a) pour le trading, les éléments de base des graphiques de la livraison MT ou vous pouvez utiliser des exemples de KB - tout cela est écrit dans des langages de programmation classiques et ne nécessite pas de temps supplémentaire pour l'expérimentation et le débogage, il suffit de le prendre et de l'utiliser. Tout cela peut être publié sur le marché.

b) pour écrire une plateforme analytique à usage personnel, il est préférable de trouver des solutions toutes faites et de les connecter à MT (.dll, Pythons, R, Matlab....) , (2) dans ce cas, il est préférable d'utiliser des graphiques tiers, afin que MT ne s'occupe que du serveur

1) Ceux qui savent programmer n'auront pas besoin d'apprendre mon approche. N'utiliser que le constructeur et connecter l'interface graphique créée à leur application.

2. Ceci est réservé aux professionnels. J'ai déjà montré que l'utilisation de graphiques tiers est beaucoup plus difficile. Il s'agit d'une béquille nécessitant un haut niveau d'entraînement. Contre la légèreté de mon bâtisseur, il devient insignifiant.

En somme, votre solution n'est pas pour les masses. Le mien est pour les masses.

 
Igor Makanu:

Il semble avoir déjà été discuté que votre approche est incompréhensible pour ceux qui savent programmer, et ceux qui ne peuvent pas programmer sans votre aide, vous avez 2 moyens :

Le constructeur graphique en sortie crée un moteur portant l'interface utilisateur graphique + les fichiers de connexion.

Ensuite, l'utilisateur connecte le moteur à son application (comme décrit ci-dessus), et remplit le fichier de connexion.

A ce stade, c'est tout.

Personne n'a à apprendre mon approche. Maîtrisez uniquement le langage simple du constructeur.

 
Реter Konow:

Les commandes ont des paramètres.

Par exemple Checkbox. Possède un paramètre qui a deux valeurs possibles : 1 et 0.

Si l'utilisateur clique sur la case à cocher et la coche, le côté moteur met 1 dans le tableau des paramètres de contrôle.

Ensuite, un message est envoyé à l'application utilisateur avec le numéro et la valeur du paramètre de la case à cocher. Ensuite, la nouvelle valeur est écrite dans l'analogue des paramètres du tableau dans l'application et la fonction On_Gui_Event() est appelée.

C'est ainsi que les valeurs sont synchronisées entre le moteur et l'application utilisateur.


Propriétés de la connexion :

Mots clés, fonctions enveloppes qui définissent les valeurs des éléments de l'EA, fonctions enveloppes qui ouvrent/ferment les fenêtres utilisables...

Initialisation d'une copie du tableau de paramètres dans l'Expert Advisor.

C'est à peu près tout.

Dans quels tableaux est-il écrit ? Dans des tableaux réguliers ? J'ai redémarré le terminal et tout était réinitialisé...

L'utilisateur a appuyé sur un bouton ou une case à cocher - un événement s'est produit et le conseiller expert a réagi à cet événement. Qu'y a-t-il d'autre à synchroniser et pourquoi ? Dans le cas d'un redémarrage séparé de l'Expert Advisor ou de l'indicateur avec un gui ?

Je suis très curieux de savoir comment il réagira lors d'un redémarrage du terminal. Les paramètres définis par l'utilisateur seront-ils sauvegardés ?

 
Dmitry Fedoseev:

Dans quels tableaux est-il écrit ? Les tableaux normaux ? J'ai redémarré le terminal et tout est réinitialisé...

L'utilisateur a appuyé sur un bouton ou une case à cocher - un événement s'est produit, le conseiller expert a réagi à cet événement. Qu'y a-t-il d'autre à synchroniser et pourquoi ? En cas de redémarrage séparé de l'Expert Advisor ou de l'indicateur avec un gui ?

Je suis très curieux de savoir comment il va réagir lors d'un redémarrage du terminal. Sauvegarde-t-elle les paramètres définis par l'utilisateur ?

Le redémarrage du terminal entraîne le redémarrage de l'Expert Advisor. N'est-ce pas ?

Deux tableaux de type string (un type universel, permettant de stocker n'importe quelle valeur de paramètre) sont synchronisés.

Les éléments du moteur représentent les valeurs de leurs paramètres.


Par exemple, une cellule de tableau. Stocke la dernière valeur qui lui a été passée dans un tableau de valeurs de paramètres.

Ce tableau stocke les propriétés des paramètres.

Ou les propriétés des paramètres du curseur : valeur min, valeur max, pas de valeur, valeur actuelle.

Lorsque l'utilisateur fait basculer la valeur d'un champ de saisie à l'aide des boutons (+/-), le changement de valeur est effectué dans le moteur et est ensuite transmis au conseiller expert.

Autrement dit, le conseiller expert n'a pas besoin de suivre les changements de valeur des éléments. Il reçoit des valeurs prêtes et y réagit.

 
Dmitry Fedoseev:

...

L'utilisateur a appuyé sur un bouton ou une case à cocher - un événement s'est produit, le conseiller expert a réagi à cet événement. Qu'y a-t-il d'autre à synchroniser et pourquoi ? Dans le cas d'un redémarrage séparé du conseiller expert ou de l'indicateur avec gui ?

...

Où stockez-vous les valeurs des éléments ?

Initialement, les valeurs des éléments peuvent être définies dans le concepteur et elles peuvent également être définies par le conseiller expert sur l'Inite.

Le moteur est obligé de stocker les valeurs des paramètres des éléments. Sinon, il ne sera pas en mesure de les traiter lorsque l'utilisateur interagira avec les éléments.

C'est-à-dire que lorsque la poignée du curseur est déplacée, la valeur ne changera pas du côté du moteur, et l'utilisateur devra alors suivre lui-même le changement de valeur.

Il existe un grand nombre d'autres nuances.

Par exemple - la synchronisation des valeurs des paramètres entre les éléments. Il doit être défini au niveau du constructeur.

(Demandez à Oleg Papkov. J'ai implémenté la synchronisation de ses éléments. Il change la position du curseur, et les valeurs changent dans les champs de saisie des différentes fenêtres. Et tout cela fonctionne au niveau du moteur).

Sinon, tout cela doit être fait par l'utilisateur lui-même.

Et ce n'est pas pour les masses.

 
Реter Konow:

(Demandez à Oleg Papkov. J'ai implémenté la synchronisation de ses éléments. Il modifie la position du curseur, et les champs de saisie des différentes fenêtres changent de valeur. Et tout cela fonctionne au niveau du moteur).


Oh@@t ! Donnez-moi deux...

Je n'ai jamais vu cela avant et le voici à nouveau :-)

C'est le miracle des miracles - quand on change l'un, on change l'autre.

Pensez au moins à ce dont vous vous vantez :-)