Websocket comment ? - page 21

 
Fedor Arkhipov:

Il n'y a donc aucun moyen de demander d'anciens chandeliers via websocket ?

Dans le conseiller expert (dans le programme d'application), ils ouvrent séparément la WebSocket et demandent l'historique requis séparément par Rest. Et à partir du moment où ils sont synchronisés (pas de trous et autres), ils commencent à échanger,

mais il ne s'agit pas de cela - il s'agit de savoir comment vivre avec les hibous :-)

 
Maxim Kuznetsov:

Dans le conseiller expert (dans l'application), ils ouvrent séparément la WebSocket et demandent l'historique requis séparément par Rest. Et à partir du moment où ils sont synchronisés (sans trous et autres), ils commencent à échanger,

Mais il ne s'agit pas de cela maintenant - il s'agit surtout de savoir comment vivre avec les hibous :-)

Max, tu peux nous donner du temps ? Avez-vous de l'expérience dans la création de symboles personnalisés dans MT4 ?

En d'autres termes, le simple fait d'obtenir des informations sur le marché n'a pas de sens, il faudrait les enregistrer immédiatement et construire un graphique.

En d'autres termes, dans la première phase de débogage, nous pouvons écrire les informations sur le marché directement à partir de l'application console dans un fichier de cotation.
 
Алексей Барбашин:

Max, tu peux nous donner du temps ? Avez-vous de l'expérience dans la création de symboles personnalisés dans MT4 ?

En d'autres termes, le simple fait d'obtenir des informations sur le marché n'a pas de sens, nous devons les enregistrer immédiatement et construire le graphique.

En d'autres termes, à la première étape, celle du débogage, nous pouvons écrire les informations sur le marché directement depuis l'application console vers le fichier de cotation.

Je peux le construire demain, je ne pense pas qu'il y aura un problème avec ça.

La chose la plus importante est d'obtenir les chandeliers

 
Алексей Барбашин:

Max, tu peux nous donner du temps ? Avez-vous de l'expérience dans la création de symboles personnalisés dans MT4 ?

En d'autres termes, le simple fait d'obtenir des informations sur le marché n'a aucun sens, il faudrait les noter immédiatement et construire un graphique.

En d'autres termes, au premier stade, celui du débogage, nous pouvons écrire les informations sur le marché directement depuis l'application console vers le fichier de cotation.

Rédigez-le en CSV adapté à l'importation et ne vous donnez pas la peine. Quand ça commence à fonctionner, vous pouvez penser quelque chose ;

PS dans six mois ou un an ou deux, le 4 sera finalement tué.

PPS vous pouvez écrire à la fois avec des arcs appropriés et dans les bons formats, mais c'est juste très tôt - rien n'a encore fonctionné

 
Алексей Барбашин:

Max, tu peux nous donner du temps ? Avez-vous de l'expérience dans la création de symboles personnalisés dans MT4 ?

En d'autres termes, le simple fait d'obtenir des informations sur le marché n'a pas de sens, il faudrait les enregistrer immédiatement et les représenter graphiquement.

En d'autres termes, à la première étape, le débogage, nous pouvons directement à partir de l'application console écrire les informations de marché dans le fichier de cotation.

Fedor, ce que je suggère.

Nous avons deux points d'entrée dans le programme : la classe Program (méthode Main) - pour le débogage en mode application console, et la classe ConnectorMQL, qui contient et contiendra des méthodes pour connecter mql avec sharp.

Je propose de créer une classe séparée qui contiendra exactement les méthodes dont nous aurons besoin et que nous pourrons déboguer en mode console en appelant les méthodes de cette classe, puis les mêmes méthodes que nous pourrons simplement rediriger vers la classe ConnectorMQL.

De quelles méthodes avons-nous besoin exactement ?

Connected() - pendant l'initialisation, en passant le nom du serveur

Disconnected() - quand nous le désinitialisons

SetSymbol() - pour définir le symbole souhaité

GetTicks() - pour sélectionner le tick suivant

ReqHistory() - Pour demander l'historique des devis

GetHistory() - Pour obtenir l'historique des citations, car lorsqu'il est demandé, rien ne sera renvoyé, le socket répondra de manière asynchrone.

 
Maxim Kuznetsov:

écrire dans un CSV importable et ne pas s'en soucier. Quand ça marche, alors tu peux penser à quelque chose ;

PS dans six mois ou un an ou deux, le 4 sera finalement tué.

PPS vous pouvez écrire à la fois avec des arcs appropriés et dans les bons formats, mais c'est juste très tôt - rien n'a encore fonctionné

Je pensais écrire immédiatement dans le fichier de citation, n'est-ce pas possible ? Je me souviens d'une bibliothèque entière de symboles personnalisés publiée par fxsaber.

Dans un premier temps, nous pouvons écrire les citations dans la base de données tout court.
 
Алексей Барбашин:

Je pensais écrire directement dans le fichier des citations, n'est-ce pas possible ? Je me souviens que fxsaber publiait une bibliothèque complète de symboles personnalisés.

C'est mieux - plus simple. Vous ne comprendrez pas le code C# sans une bouteille
 
Fedor Arkhipov:
C'est mieux - plus simple. Vous ne comprendrez pas le code C# sans une bouteille.

Fedor, tu as écrit un peu en c#, est-ce que c'est différent du même mql ? Quels mots inconnus avez-vous vus dans l'éditeur VS ?

Savez-vous que cet éditeur vous permet également d'éditer des textes mql ? :)

 
Алексей Барбашин:

Fedor, tu as écrit un peu en c#, est-ce que c'est différent du même mql ? Quels mots inconnus avez-vous vus dans l'éditeur VS ?

Savez-vous que cet éditeur vous permet également d'éditer des textes mql ? :)

Oui, il y a quelques confusions.

J'ai déjà lu qu'il prend en charge d'autres langues également ;))

 
Fedor Arkhipov:

oui, il y a des malentendus.

J'ai déjà lu qu'il prend en charge d'autres langues ;))

Imaginez que vous écrivez un programme en mql non pas dans un seul fichier, mais dans différents fichiers, en les incluant comme include (emprunté à c++) . Ainsi, si vous écrivez un programme sur des classes, il est plus pratique d'écrire chaque classe dans son propre fichier et de combiner tout cela par le biais d'include.

Tous ces fichiers seront disponibles dans MetaEditor.

Voici deux navigateurs qui remplissent la même fonction.

Ok, c'est tout pour le bien de l'argument.

Pour consolider le matériel, nous allons commencer par le début. Créez un nouveau projet (application console), appelons-le BinaryTicks.

Après avoir créé le projet, nous créons une classe GlobalManager dans celui-ci et la rendons statiquement publique. Nous l'utiliserons pour créer toutes nos méthodes d'opérations sur les prises.