Il est temps de convertir les bibliothèques en MQL5 - page 3

 
Juste au cas où :
- Le consommateur est une armée de millions de commerçants
- le principe de la protection des commerçants est primordial
- Quand ils disent "bibliothèque", ils ne veulent pas dire DLL.
- il n'est pas question de supprimer les restrictions sur l'utilisation des DLLs

Tant que les programmeurs utiliseront le principe "qu'est-ce qu'il y a de si difficile à brancher une DLL ?", ils n'auront aucune chance de se vendre avec succès sur le marché de masse. Nous essayons de construire un grand nombre de bibliothèques différentes sous forme de code source dans MQL5, afin de permettre à chacun de créer des programmes entièrement fonctionnels et sûrs sous forme de fichiers EX5, qui ne nécessitent pas de DLL tierces.
 

M. sergeev, comment comptez-vous vous débarrasser des DLL sans convertir le code en MQL5 ?

Je pensais à la traduction automatique de projets DLL en C++ (ou Delphi par exemple) -> MQL5.

Puis le code résultant a été édité manuellement et voici un fichier ex5 de la DLL initiale.

Pourquoi compiler la DLL dans un éditeur méta si elle se compile bien dans Visual Studio?

 
Un cas clinique de malentendu. Ni penser, ni lire, ni digérer ce que vous mâchez...
 
avoitenko:

Alors pourquoi compiler la DLL dans un éditeur méta si elle se compile bien dans Visual Studio ?

afin qu'il compile avec votre studio

Mais désormais, vous n'aurez plus à lier vos projets dans des dossiers.

Vous serez en mesure d'écrire et de compiler des DLLs simples en ME. Et vous aurez tout de suite une DLL pour votre projet EX5.

 
Un bon exemple (bien que petit) est la bibliothèque Statistics.mqh, qui se trouve dans CodeBase.
 
sergeev:

Les DLL les plus simples seront écrites et compilées "à la volée" dans ME. Et vous aurez immédiatement une DLL pour votre projet EX5.

Plus important encore, vous pouvez distribuer les DLL les plus simples comme source dans un seul fichier.

Le destinataire n'aura plus qu'à le compiler par F7, en parcourant le code des yeux au préalable (s'il le souhaite).

Cette mesure vise à accroître la sécurité du système en distribuant la source de la DLL au lieu de la DLL elle-même. C'est l'objectif principal de l'idée.

 

Bibliothèque ZedGraph:

1. Description détaillée et exemples : http://jenyay.net/Programming/ZedGraph

2. archives, démos, documentation : http://sourceforge.net/projects/zedgraph/files/

//---

Une autre bibliothèque liée aux graphiques :

http://www.codeproject.com/Articles/32836/A-simple-C-library-for-graph-plotting

Шпаргалка по ZedGraph | jenyay.net
  • votes : 277
  • jenyay.net
Примеры программ на языке C# под платформу .NET Framework, использующие контрол ZedGraph для рисования двумерных графиков
 
Renat:

Plus important encore, il sera possible de distribuer des DLL simples comme source sur un seul fichier.

Le destinataire n'aura plus qu'à le compiler par F7, en parcourant le code des yeux au préalable (s'il le souhaite).

Ceci est fait pour augmenter la sécurité du système en passant à la distribution de la source de la DLL au lieu de la DLL elle-même. C'est l'objectif principal.

Cet objectif est faux (IMHO).

Actuellement, la dll est utilisée dans le code mql pour 3 raisons :

  1. Masquage du code (pour protéger les droits d'auteur)
  2. Accélération des calculs
  3. Pour utiliser des fonctions qui ne sont pas disponibles dans mql.

La première raison n'est pas pertinente sur le marché, la seconde est annulée par vos efforts, ce qui laisse la troisième.

C'est la seule raison de faire du désordre ?

N'est-il pas plus simple d'utiliser l'auteur de la dll, d'exiger de lui la dll source pour vérification, et de lever des droits au trésor, qu'il n'a pas été incriminé (pour ne pas charger le personnel avec des problèmes supplémentaires pour vérifier la dll).

 
Renat:
...
Les bibliothèques natives sous forme de code source MQL5 sont nécessaires pour ceux qui écrivent des programmes à vendre.
...

Je me risquerais à dire que ceux qui écrivent des logiciels à vendre, ainsi que tous les autres qui écrivent des logiciels, ont besoin avant tout d'un éditeur utilisable, et non du minable MetaEditor.

Ne pourrait-on pas le rendre un tant soit peu similaire à Visual Studio? Je suis vraiment ennuyé quand je passe de VS à ME.


1. Project Navigator (a promis d'y réfléchir)

2. Pliage (a dit qu'il ne le ferait pas, probablement trop compliqué pour vous)

3. Possibilité d'imprimer un fragment sélectionné (rien n'a été dit, apparemment c'est au-delà du domaine du possible)

4. Affichage de la valeur d'une variable pendant le débogage, non seulement dans la fenêtre d'observation, mais simplement en maintenant la souris sur la variable dans le texte.

5. Dans les indicateurs de MT pour iOS, ils n'ont toujours pas fait la possibilité de définir la couleur des lignes, et ils l'ont promis aussi (pas à propos de ME, juste pour finir).


PS Je suis d'accord avec le message précédent d'Urain concernant la paresse (bien que pour une raison différente :), faites d'abord ce dont tout le monde a besoin, c'est-à-dire un éditeur pratique, et ensuite - oui, vous pouvez faire les vérificateurs :).

Tout ce qui est écrit ci-dessus est mon jugement de valeur.

 
Urain:

C'est un faux objectif (IMHO).

Ne serait-il pas plus simple que l'auteur utilise une dll, qu'il exige la source de la dll pour vérification, et qu'il perçoive des royalties au profit du trésor public, de sorte qu'il n'y ait plus de problème (pour ne pas charger le personnel de problèmes supplémentaires pour vérifier la dll).

Vous semblez fonctionner uniquement à l'échelle de votre perception de l'environnement. Par conséquent, vous ne comprenez pas pourquoi "il n'est pas plus facile d'exiger ...." n'est pas adapté au véritable marché de masse.

Nous fonctionnons en termes de "quel est l'effet de telle ou telle solution sur N millions d'utilisateurs ? Par exemple, rien qu'en mars 2012, plus d'un million de terminaux clients MetaTrader 4 et MetaTrader 5 ont été effectivement installés. En un seul mois. Il s'agit d'une estimation basse, car il existe un grand nombre d'anciens installateurs non web.

La raison de la prise en charge de la compilation C++ -> DLL est de permettre un véritable échange de sources de DLL au lieu de traiter des fichiers DLL non vérifiés très dangereux. À l'échelle du marché, cette fonctionnalité offrira une sécurité accrue à des milliers d'opérateurs qui se mettront en mode "donnez-moi la source, je ne veux pas d'une DLL non vérifiée".

Bien sûr, il ne s'agit que d'une solution supplémentaire, alors que notre objectif principal est de traduire le code maximum en MQL5 natif et sûr.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов - Документация по MQL5