Règles de structure. Apprendre à structurer des programmes, explorer les possibilités, les erreurs, les solutions, etc. - page 12

 

И ? L'article ici est nul, l'article là est plus ou moins adéquat. Shalyto est un écran de fumée parce que son nom de famille est le dernier.

Heureusement qu'il ne l'a pas dit en anglais, il se serait fait picorer.

 
C-4:
C'est-à-dire que vous avez un robot dans un robot. Supposons qu'il existe un algorithme à moyen terme qui donne un ordre d'achat sur le marché. Un autre robot, de bas niveau, exécute cet ordre au meilleur prix en utilisant la technique du meilleur mouvement HFT.

Oui, exactement comme ça.

Pas un robot dans un robot, plutôt un tapis roulant de robots.

 

Tu devrais vérifier mon idée :

Dans la théorie des machines à états finis, le nombre d'états est illimité et peut croître comme une boule de neige. Et si nous supposons qu'il n'y a toujours que quatre états, mais qu'ils sont tous parallèles, c'est-à-dire qu'ils sont appelés simultanément à partir d'un module commun. Deux de ces États décrivent toutes les règles d'achat et de vente. Ainsi, le robot est en quelque sorte en mode achat et en mode vente en même temps. Ces deux états sont indépendants l'un de l'autre. Ces quatre états peuvent être décrits par quatre fonctions :

  • Mode de recherche du signal d'achat
  • Mode de recherche d'un signal pour clôturer une position d'achat existante
  • Mode de recherche de signaux à vendre
  • Mode de recherche de signaux pour conclure unevente existante

Voici comment un robot à moyennes mobiles serait décrit en utilisant cette logique

1. Position longue (Feature) : Lorsque la moyenne mobile rapide croise la moyenne mobile lente de bas en haut, nous ouvrons une position longue.

2. Clôture longue : Si la moyenne mobile rapide a traversé la moyenne mobile lente de haut en bas - clôture à l'achat.

3. Mode (fonction) pour ouvrir une transaction courte : Si la moyenne mobile rapide a croisé la moyenne mobile lente de haut en bas - ouvrir une vente.

4. Mode de vente à découvert (fonction) : Si la moyenne mobile rapide croise la moyenne mobile lente de bas en haut - vente à découvert.

Veuillez noter les fonctions 1 et 4 et 2 et 3. Leurs conditions sont les mêmes ! Cela pourrait sembler redondant, mais ce n'est pas vrai, car les conditions de clôture d'une position longue ne sont en aucun cas liées aux conditions d'ouverture d'une position courte. Si nous décidons soudainement d'ajouter un filtre supplémentaire pour l'ouverture d'une position courte, cela n'affectera pas les conditions d'ouverture d'une position longue, et vice versa. Si, au cours du fonctionnement de notre EA, nous voulons interdire complètement la vente, nous cessons simplement d'appeler la fonction n° 3. Toutes les positions courtes qui ont été ouvertes précédemment seront fermées, tôt ou tard, au signal décrit dans la fonction 4. Les métiers longs ne souffriront pas, car leurs conditions sont indépendantes!

 
C-4:

Tu devrais vérifier mon idée :

Dans la théorie des machines à états finis, le nombre d'états est illimité et peut croître comme une boule de neige. Et si nous supposons qu'il n'y a toujours que quatre états, mais qu'ils sont tous parallèles, c'est-à-dire qu'ils sont appelés simultanément à partir d'un module commun. Deux de ces États décrivent toutes les règles d'achat et de vente. Ainsi, le robot est en quelque sorte en mode achat et en mode vente en même temps. Ces deux états sont indépendants l'un de l'autre. Ces quatre états peuvent être décrits par quatre fonctions :

  • Mode de recherche du signal d'achat
  • Mode de recherche d'un signal pour clôturer une position d'achat existante
  • Mode de recherche de signaux à vendre
  • Mode de recherche de signaux pour conclure unevente existante

Voici comment un robot à moyennes mobiles serait décrit en utilisant cette logique

1. Position longue (Feature) : Lorsque la moyenne mobile rapide croise la moyenne mobile lente de bas en haut, nous ouvrons une position longue.

2. Clôture longue : Si la moyenne mobile rapide a traversé la moyenne mobile lente de haut en bas - clôture à l'achat.

3. Mode (fonction) pour ouvrir une transaction courte : Si la moyenne mobile rapide a traversé la moyenne mobile lente de haut en bas - ouvrir la vente.

4. Mode de vente à découvert (fonction) : Si la moyenne mobile rapide croise la moyenne mobile lente de bas en haut - vente à découvert.

Veuillez noter les fonctions 1 et 4 et 2 et 3. Leurs conditions sont les mêmes ! Cela pourrait sembler redondant, mais ce n'est pas vrai, car les conditions de clôture d'une position longue ne sont en aucun cas liées aux conditions d'ouverture d'une position courte. Si nous décidons soudainement d'ajouter un filtre supplémentaire pour l'ouverture d'une position courte, cela n'affectera pas les conditions d'ouverture d'une position longue, et vice versa. Si, au cours du fonctionnement de notre EA, nous voulons interdire complètement la vente, nous cessons simplement d'appeler la fonction n° 3. Toutes les positions courtes qui ont été ouvertes précédemment seront fermées, tôt ou tard, au signal décrit dans la fonction 4. Les métiers longs ne souffriront pas, car leurs conditions sont indépendantes!

ns utybq ? ,tp gbpls !
 
dfc bp lfcn&
 
C-4:
dfc bp lfcn&
dc` yjhvekm ? yt ccs
 
C-4:

Tu devrais vérifier mon idée :

Dans la théorie des machines à états finis, le nombre d'états est illimité et peut croître comme une boule de neige. Et si nous supposons qu'il n'y a toujours que quatre états, mais qu'ils sont tous parallèles, c'est-à-dire qu'ils sont appelés simultanément à partir d'un module commun. Deux de ces États décrivent toutes les règles d'achat et de vente. Ainsi, le robot est en quelque sorte en mode achat et en mode vente en même temps. Ces deux états sont indépendants l'un de l'autre. Ces quatre états peuvent être décrits par quatre fonctions :

  • Mode de recherche du signal d'achat
  • Mode de recherche d'un signal pour clôturer une position d'achat existante
  • Mode de recherche de signaux à vendre
  • Mode de recherche de signaux pour conclure unevente existante

Voici comment un robot à moyennes mobiles serait décrit en utilisant cette logique

1. Position longue (Feature) : Lorsque la moyenne mobile rapide croise la moyenne mobile lente de bas en haut, nous ouvrons une position longue.

2. Close Long : Si la moyenne mobile rapide a traversé la moyenne mobile lente du haut vers le bas - close purchase

3. Mode (fonction) pour ouvrir une transaction courte : Si la moyenne mobile rapide a traversé la moyenne mobile lente de haut en bas - ouvrir la vente.

4. Mode de vente à découvert (fonction) : Si la moyenne mobile rapide croise la moyenne mobile lente de bas en haut - vente à découvert.

Veuillez noter les fonctions 1 et 4 et 2 et 3. Leurs conditions sont les mêmes ! Cela pourrait sembler redondant, mais ce n'est pas vrai, car les conditions de clôture d'une position longue ne sont en aucun cas liées aux conditions d'ouverture d'une position courte. Si nous décidons soudainement d'ajouter un filtre supplémentaire pour l'ouverture d'une position courte, cela n'affectera pas les conditions d'ouverture d'une position longue, et vice versa. Si, au cours du fonctionnement de notre EA, nous voulons interdire complètement la vente, nous cessons simplement d'appeler la fonction n° 3. Toutes les positions courtes qui ont été ouvertes précédemment seront fermées, tôt ou tard, au signal décrit dans la fonction 4. Les accords à long terme ne souffriront pas, car leurs conditions sont indépendantes!

C'est beaucoup plus facile pour moi.

La stratégie donne un signal sous la forme d'une position recommandée sur un instrument. Si je veux interdire la vente, il me suffit de couper les valeurs négatives de la position agrégée recommandée avant de l'envoyer au conducteur-synchronisateur. Une ligne :

if (ShortDisabled) Pos = (Pos<0) ? 0 : Pos ;

C'est tout.

--

Ce que je veux dire, c'est que vous avez décrit une belle solution à un problème que je n'ai pas.

Je n'ai pas de problème avec la distinction entre les conditions d'achat et de vente. Cela ne devrait pas exister au niveau de la stratégie. La tâche de la stratégie est de prédire si le marché va monter ou descendre dans le moment suivant, et avec quelle probabilité. Cela détermine la position recommandée sur le marché. Ce qu'il y avait dans le passé, qu'il y ait ou non des positions ouvertes (dans un sens ou dans l'autre) maintenant - cela n'a absolument aucune importance. Si l'on ne s'y met pas, on peut résoudre des problèmes inexistants pendant la moitié d'une vie. Parfois même, on les résout très bien.

 
Et en parlant du retour à un quatre (qui semble se profiler), je n'ai pas besoin de toutes ces grappes d'ordres. J'ai toujours utilisé les filets, même avant l'arrivée du cinq... :))))
 
MetaDriver:
En ce qui concerne le 4 pullback (qui semble arriver bientôt), je n'ai pas besoin de toutes ces grappes d'ordres. J'ai fait du filet tout le temps, même avant les cinq... :))))

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Ai-je besoin d'un ordre d'OCO ?

hrenfx, 2012.01.06 07:46

Puis-je utiliser MT4 pour travailler sur le MARCHÉ ? Oui, vous pouvez.
Puis-je utiliser MT5 pour fonctionner sur le MARCHÉ ? Oui, vous pouvez.

Mais qu'est-ce qui est le plus confortable et le plus fiable ? Non pas par un raisonnement théorique, mais par une analyse pratique.

Plus pratique que MT4. Oui, un limiteur, en raison de son exécution partielle, peut affecter une douzaine de positions ouvertes, et chaque position peut affecter une douzaine de positions fermées. Mais que se passe-t-il s'il y a plusieurs ordres de limite ? Est-il possible de gérer dans MT4 dans des conditions aussi strictes ? Oui, c'est possible et c'est mis en œuvre de manière simple et fiable.

MT5 n'a pas non plus de problème avec cela. À première vue, il est encore plus facile de naviguer que MT4. Vous ne serez pas dérouté par la quantité de postes.

Mais tout change quand on commence à compliquer la logique de l'EA. Lorsque vous avez besoin de vous diversifier en exécutant plusieurs EA. Sur MT4, c'est élémentaire et très fiable - il suffit de lancer un EA avec d'autres majiks. Sur MT5, c'est un énorme problème du point de vue de l'automatisation. Et en termes d'intervention manuelle dans une telle transaction - c'est une tâche impossible. Car la logique d'ouverture-fermeture despositions pour chaque stratégie dans le terminal MT5 est impossible à saisir en regardant simplement dans le terminal. Vous devez écrire un analyseur approprié. Et elle ne peut pas être universelle, malheureusement.

Cependant, dans MT4, il n'y a pas de tels problèmes. Tout se trouve dans la paume de votre main. La compensation dans MT4 est mise en œuvre de la manière la plus simple pour un trader.

C'est pourquoi MT4 est toujours plus pratique que MT5 dans la pratique réelle du trading et non au niveau théorique. Bien que les deux plates-formes puissent être absolument axées sur le marché. Je parle de la négociation sur le MARCHÉ.
 

hrenfx:

Puis-je utiliser MT4 pour travailler sur le MARCHÉ ? Oui, vous pouvez.
Puis-je utiliser MT5 pour fonctionner sur le MARCHÉ ? Oui, vous pouvez.

Mais qu'est-ce qui est le plus confortable et le plus fiable ? Non pas par un raisonnement théorique, mais par une analyse pratique.

Plus pratique que MT4. Oui, un limiteur, en raison de son exécution partielle, peut affecter une douzaine de positions ouvertes, et chaque position peut affecter une douzaine de positions fermées. Mais que se passe-t-il s'il y a plusieurs ordres de limite ? Est-il possible de gérer dans MT4 dans des conditions aussi strictes ? Oui, c'est possible et c'est mis en œuvre de manière simple et fiable.

MT5 n'a pas non plus de problème avec cela. À première vue, il est encore plus facile de naviguer que MT4. Vous ne serez pas dérouté par la quantité de postes.

Mais tout change quand on commence à compliquer la logique de l'EA. Lorsque vous avez besoin de vous diversifier en exécutant plusieurs EA. Sur MT4, c'est élémentaire et très fiable - il suffit de lancer un EA avec d'autres majiks. Sur MT5, c'est un énorme problème du point de vue de l'automatisation. Et en termes d'intervention manuelle dans une telle transaction - c'est une tâche impossible. Car la logique d'ouverture-fermeture despositions pour chaque stratégie dans le terminal MT5 est impossible à saisir en regardant simplement dans le terminal. Vous devez écrire un analyseur approprié. Et elle ne peut pas être universelle, malheureusement.
Je suis conscient et je comprends très bien le raisonnement, Ivan. Je pense simplement que l'intervention manuelle dans la "diversification par la somme/la superposition des stratégies" est la dernière chose à faire. Les stratégies devraient être affinées pendant le test-optimisation. Quant à cette diversification, je l'utilise largement - juste en additionnant les signaux de toutes les sous-stratégies avant d'envoyer le signal total au synchronisateur.Si ce postulat ("n'intervenir que pendant le débogage") est accepté comme base, il devient immédiatement clair que l'observation individuelle de chaque stratégie n'est pas du tout un problème - elles sont toutes désactivées individuellement. Désactivez-les toutes sauf une et analysez comme vous le souhaitez.

Cependant, dans MT4, il n'y a pas de tels problèmes. Tout se trouve dans la paume de votre main. La compensation dans MT4 est mise en œuvre de la manière la plus simple pour un trader.

C'est pourquoi MT4 est toujours plus pratique que MT5 dans la pratique réelle du trading et non au niveau théorique. Bien que les deux plates-formes puissent être absolument axées sur le marché. Et c'est ce dont je parle quand je négocie sur le MARCHÉ.

Je vous l'ai dit, j'ai un "synchroniseur de compensation" similaire déjà écrit pour 4. Je vais juste combiner toutes ses fonctions dans une classe pour plus de commodité, et le vérifier/déboguer juste au cas où. Laissez-le se battre avec beaucoup d'ordres plus tard - la stratégie elle-même ne se soucie pas de tout cela, elle restera une stratégie de compensation :)
Raison: