L'auteur - page 3

 
ivandurak:
Je suis en train d'écrire un testeur de stratégie, et je suis confronté à un dilemme. Si nous prenons 4 comme base, nous obtenons un outil simple et très efficace en termes d'analyse TS basée sur les résultats de trading. Si nous prenons 5, alors la commodité de la portabilité du code. Jusqu'à présent, mon imho penche pour la première option, comme on dit dans check or go.

Icihttps://www.mql5.com/ru/forum/4956/page46#comment_117097 ethttps://www.mql5.com/ru/forum/4956/page47#comment_118646, vous pouvez jeter un coup d'œil pour commencer.

Vérifie et tire d'abord, puis roule. imho.

 
Bene_Nota:
Et d'après mes observations, l'histoire ne se répète pas, donc je ne suis pas d'accord sur le premier point.

Argumenter.

Nous ne disons pas que le mouvement actuel se rapprochera exactement d'un trait de ce qu'il était. Si nous prenons quelques signes d'un plat, quelques signes d'une tendance, mettons tout cela dans un réseau de neurones, nous obtiendrons un nombre limité de clusters (ce n'est pas ma conclusion, j'ai vu une note où je ne peux pas la trouver). Nous pouvons construire un TS adéquat pour n'importe quel morceau d'histoire ou un cluster n'a pas besoin de preuve. Ainsi, nous devrions reconnaître à temps dans quel cluster nous sommes, pour avoir le temps de ramasser quelques miettes. Faire des statistiques, le temps de trouver, penser à la trajectoire possible des caractéristiques du marché pour sélectionner préventivement le TS ..........

Cet.homme

Je vais y jeter un coup d'œil. Le fait est que si nous acceptons l'ordre et la position de la philosophie de fonctionnement pour 5 . Je pense que le meilleur des Expert Advisors multitemporels est compliqué par la position nette, sans inconvénients supplémentaires nous ne pouvons pas dire quel TS sur une heure ou une minute est plus préférable, et si vous avez une stratégie multitemporelle je ne sais pas comment aborder une telle tâche sauf pour la création d'un ensemble d'objets et leur gestion. Tout est beaucoup plus simple sur 4 en termes de commodité de programmation. Il suffit de créer un tableau de structures décrivant l'ordre, dont chacune a sa propre vie, toutes les données sur l'ouverture, la fermeture, les profits, les pertes sont sauvegardées. Je l'ai déjà fait, et cela s'est avéré être une solution tout à fait acceptable.

 
ivandurak:

Pour elle, l'humain

Merci.

1) Le fait est que si nous acceptons la philosophie de l'ordre et de la position des 5. Je ne sais pas comment résoudre ce problème à part la création de beaucoup d'objets et leur gestion.

2) En 4, tout est beaucoup plus facile du point de vue de la commodité de programmation. Il suffit de créer un tableau de structures décrivant l'ordre, dont chacune a sa propre vie, toutes les données sur l'ouverture, la fermeture, les profits, les pertes sont sauvegardées. Je l'ai déjà fait, cela s'est avéré être une solution tout à fait acceptable.

1) Le fait est que si vous faites un journal virtuel (testeur) de gestion et de comptabilité des positions dans MT5, tous les problèmes de test simultané de plusieurs stratégies et de verrouillage (liés à l'utilisation de plusieurs stratégies), disparaissent. Vous pouvez également effectuer une transaction virtuelle et, sur la base de l'analyse de la transaction virtuelle, tirer des conclusions pour la transaction réelle, et apporter la position totale sur le marché.

J'ai fait une telle chose dans MT5, mais pas en tant que bibliothèque (classe) séparée, je ne vois aucun problème.

2) Dans MT4, il n'y a pas destructure de tableau . Dans MT4, vous pouvez faire la même chose sans problème, mais en utilisant un tableau à deux dimensions au lieu du tableau de structures.

Peut-être que quelque chose est mélangé entre MT4 et MT5 ?

 
her.human:

1) Justement, si vous faites un journal virtuel (testeur) des positions de gestion et de comptabilité dans МТ5, tous les problèmes de test simultané de plusieurs stratégies et de verrouillage (liés à l'utilisation de plusieurs stratégies) disparaissent. Vous pouvez également effectuer une transaction virtuelle et, sur la base de l'analyse de la transaction virtuelle, tirer des conclusions pour la transaction réelle, et apporter la position totale sur le marché.

J'ai fait une telle chose dans MT5, mais pas en tant que bibliothèque (classe) séparée, je ne vois aucun problème.

2) Dans MT4, il n'y a pas destructure de tableau . Dans MT4, vous pouvez faire la même chose sans problème, mais en utilisant un tableau à deux dimensions au lieu du tableau de structures.

Peut-être y a-t-il une confusion entre MT4 et MT5 ?

Nous parlons de la même chose avec des mots différents. J'utilise juste les fonctions de trading de la copie MT4 comme un minimum nécessaire et suffisant.

J'ai un autre problème ici, comment synchroniser les instruments de trading pour le testeur multidevises. Je vais parcourir les articles.

Документация по MQL5: Торговые функции
Документация по MQL5: Торговые функции
  • www.mql5.com
Торговые функции - Документация по MQL5
 
ivandurak:

Nous parlons de la même chose avec des mots différents.

1) J'utilise juste les fonctions de trading de la copie MT-4 comme un minimum nécessaire et suffisant.

2) J'ai un autre problème, comment synchroniser les outils de trading dans un testeur multi-devises. Je vais passer en revue les articles.

1) Je suis d'accord. Mon point de vue est le même.

2) Nous n'avons pas besoin de synchronisation pour le testeur. Introduire des citations dans le testeur est une autre affaire.

Quel est le problème de la synchronisation ? Je vais peut-être te donner un indice.

 
her.human:

1) Je suis d'accord. C'est ce que je veux dire.

2) La synchronisation n'est pas nécessaire pour un testeur. L'introduction de citations dans le testeur est un autre sujet.

Quel est le problème de la synchronisation ? Je vais peut-être vous donner un indice.

Je n'ai pas encore complètement formulé la tâche moi-même .

Pour les tests multidevises, toutes les barres des symboles sélectionnés doivent être synchronisées à un segment d'optimisation choisi. Sinon, s'il y a un écart, cela peut avoir pour conséquence de regarder dans le futur (graal du testeur sur 4, les signaux pour un instrument peuvent ouvrir des positions pour un autre).

En fait, nous pouvons régler les détails de la synchronisation des barres, en formant notre propre tableau de cotations synchronisées qui sera utilisé par le testeur.

Le problème réside dans la construction des indicateurs, sur lesquels les stratégies sont basées dans la plupart des cas, car la valeur de l'indicateur est calculée pour un numéro de barre spécifique. Si on peut corriger les dossiers avec l'histoire en 4, on ne peut pas le faire ici.

Comme alternative, nous exécutons l'EA en mode multidevise, le terminal synchronise lui-même l'historique, maintenant nous écrivons le fichier historique avec les valeurs des indicateurs, et si nécessaire nous nous y plongerons, mais c'est se gratter l'oreille droite avec la main gauche.

 
ivandurak:

J'ai un autre problème ici, comment synchroniser les outils de trading si je fais un testeur multi-devises. Je vais regarder les articles.

Il existe une solution aux problèmes de synchronisation pour le compte réelici . Peut-être cela vous donnera-t-il quelques idées sur la synchronisation pour votre testeur.
 

La meilleure chose à faire jusqu'à présent est d'ajouter une méthode.

bool  HoleHistory(int Bar,string Simb) ;//метод возвращает признак дыры в истории если выбранный бар выбранного символа
      //моложе одноименного бара хотя бы одного из выбранных символов возвращaем фальсе расчеты на этом баре не производятся  
Cependant, il existe toujours un lien avec l'instrument financier qui est testé.
 
ivandurak:

Je n'ai pas encore formulé la tâche.

Pour les tests multidevises, toutes les barres des symboles sélectionnés doivent être synchronisées à un segment d'optimisation choisi, sinon, s'il y a un écart, nous pouvons avoir un aperçu du futur (le graal du testeur sur 4 - les signaux pour un symbole ouvrent des positions pour un autre).

En fait, nous pouvons régler les détails de la synchronisation des barres, en formant notre propre tableau de cotations synchronisées qui sera utilisé par le testeur.

Le problème réside dans la construction des indicateurs, sur lesquels les stratégies sont basées dans la plupart des cas, car la valeur de l'indicateur est calculée pour un numéro de barre spécifique. Si on peut corriger les dossiers avec l'histoire en 4, on ne peut pas le faire ici.

Comme alternative, nous exécutons l'EA en mode multidevise, le terminal synchronise lui-même l'historique, maintenant nous écrivons le fichier historique avec les valeurs des indicateurs et nous y plongeons quand c'est nécessaire.

Si je comprends bien le problème.

//=============================================================================================
// Подготавливаем массивы цен с синхронизацией по времени 
void PrepareQuotes()
{
 CopyTime("EURUSD",0,0,Количество_Баров,Time);
 CopyOpen("EURUSD",0,0,Количество_Баров,OpenEU);
 for(int i=0; i<Количество_Баров; i++)
    {
     CopyOpen("EURJPY",0,Time[i],1,OpenEJ);
     CopyOpen("EURGBP",0,Time[i],1,OpenEG);
    }
}
//=============================================================================================
// Получаем значение индикатора по времени    
CopyBuffer(handle,0,Time[i],1,Buffer);

L'indicateur ne doit pas être calculé par le numéro de la barre, mais par le temps. Ou calculez-le vous-même, il y a suffisamment de bibliothèques dans la base.

 
S'il y a un saut avant la barre pour un instrument, il est préférable de ne rien faire du tout. Il est facile d'identifier le gap, il suffit de comparer le temps d'ouverture de la barre avec le temps d'ouverture de la barre sur d'autres instruments.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
Raison: