conseiller expert - questions diverses - page 18

 

Marco vd Heijden:

Si vous voulez vraiment attendre chaque tick, vous devrez écrire un EA séparé pour chaque symbole et utiliser la fonction OnTick().
Mais je peux vous dire que je programme aussi des micro-contrôleurs et qu'ils sont dans une boucle while sans fin (pour toujours) jusqu'à ce qu'une panne de courant ou une interruption se produise.
Pour vérifier si une condition est vraie ou fausse, on utilise le plus petit type de données booléennes et votre processeur le fait déjà des millions, voire des milliards de fois par seconde avec tous les processus qui tournent en arrière-plan et les graphiques, etc.
C'est lorsque vous commencez à faire des calculs lourds impliquant des types de données plus importants que cela devient un problème.

#Calculs des commandes et mises à jour desInfocomptes- Fermé

Merci pour le commentaire.

EA séparée, oh ! je n'aime vraiment pas jouer à plusieurs EA.
Peut-être que je vais utiliser des boucles continues, même parfois des boucles pour rien.

// I hope one of below them will work for me
EventSetMillisecondTimer( 750 );
EventSetTimer( 1 );

Je ne pense pas que mon PC soit si faible, j'espère qu'il pourra m'aider.
...calculs lourds... hmm, vraiment je ne sais pas - les calculs " Ordres Vendre, Acheter, Profit, Toutes positions " sont lourds ou quoi ? Est-ce que c'est lourd, s'il vous plaît ?

Donc, merci pour vos commentaires.
Tous mes vœux.

 

Non, ce ne sont pas des calculs lourds, et rappelez-vous qu'il a été conçu pour gérer toutes les positions.

Voici un exemple de ce qu'il peut facilement faire.


Ici, il demande les volumes sur toutes les échelles de temps pour tous les symboles et aussi la première ligne qui est le spread pour tous les symboles disponibles.

Maintenant, il doit trier de min à max sur toutes les variables pour tous les symboles, ce qui représente beaucoup de travail.



Ou bien celui-ci est une matrice Renko multi-symboles.

La composante verticale de l'empilement des briques est supprimée, il dispose maintenant de 40 briques de pip horizontalement, ce qui permet de comparer tous les symboles les uns par rapport aux autres sur un seul graphique.

Normalement, il s'agirait de 26 graphiques Renko distincts, ce qui rendrait TRES difficile de les comparer tous, mais avec ce type de matrice, cela peut être fait en un clin d'œil.

Bien sûr, il faut suivre le mouvement de 26 symboles, ce qui représente également beaucoup de travail, mais pas vraiment pour un bon ordinateur rapide, j'espère que vous avez compris.

Tout cela est fait avec une minuterie rapide, je ne saurais même pas comment le coder sur une base tick par symbole, ce serait de la folie si vous voulez mon avis.

 

Marco vd Heijden:

Tout est fait avec une minuterie rapide, je ne saurais même pas comment le coder sur une base tick par symbole, ce serait de la folie si vous me demandez.

Merci Man pour le commentaire.

J'ai juste besoin de dire que si je me lance dans cette aventure, je sais que je vais en sortir comme un codeur ou un programmeur. ( parce que si quelqu'un a besoin de faire ça, il peut être codeur ou programmeur... )
Cela prendra beaucoup de temps pour moi. Juste un abandon...

Je pense que je pourrais fermer ce sous-thème, parce que je crains que cela prenne beaucoup de temps pour moi.
Parfois, je me perds dans cette industrie du code.
En tout cas, jusqu'à présent, j'ai obtenu beaucoup de choses de cette industrie du code.

Après votre dernier commentaire, je pense que si j'ai besoin d'obtenir uniquement les ticks des symboles du panneau Terminal Trade, je pourrais essayer des méthodes très différentes (mais en fait, mes connaissances en matière de code ne me donnent pas cette possibilité).
Je pense aussi que je suis vraiment le premier à penser aux ticks du panneau Terminal Trade ! ( Je ne voudrais pas que ce soit le cas. )

J'ai vu il y a longtemps quelques EA's Dashboard - ce qui est je ne suis pas vraiment intéressant ce type d'EA's, il n'est absolument pas utile pour moi.

Merci beaucoup pour vos tentatives d'aide.

(L'anglais n'est pas ma langue maternelle)

 

Cela prend du temps, mais pas éternellement.

Et quand tu deviendras plus intelligent, tu deviendras aussi plus rapide grâce à l'expérience.

Le début est la partie la plus difficile.

Vous pouvez le rendre aussi simple ou aussi compliqué que vous le souhaitez.

Mais il peut être plus facile de commencer par des choses simples.

Mais quel est votre objectif : voulez-vous être un bon codeur ? ou voulez-vous être un bon trader ? ou les deux ?

 

Marco vd Heijden:

Cela prend du temps, mais pas éternellement.
Et quand tu deviens plus intelligent, tu deviens aussi plus rapide grâce à l'expérience.
Le début est la partie la plus difficile.
Vous pouvez le rendre aussi simple ou aussi compliqué que vous le souhaitez.
Mais il peut être plus facile de commencer par des choses simples.
Mais quel est votre objectif : voulez-vous être un bon codeur ? ou voulez-vous être un bon trader ? ou les deux ?

Oui, vous avez raison, mais je n'ai pas assez de temps pour cela pour le moment, comme je l'ai dit, je m'inquiète de ce que cela me prenne beaucoup de temps.

Oui c'est vrai, quand j'ai commencé à écrire un script pour mes EA's Trade Panel, j'ai commencé par des choses simples, mais maintenant j'adore mes EA's Trade Panel. Oui, cela m'a pris beaucoup de temps, mais cela en vaut la peine.

En fait, aujourd'hui, je ne pense pas être un bon codeur et un bon programmeur. Mais cela ne signifie pas que je ne sais pas ce que sont le codeur et le programmeur.
Parfois, j'ai une idée mais je pense que je ne peux pas le faire, je pense que ce n'est pas possible.
Il n'y a qu'une seule raison, c'est juste ma faible connaissance du code.
Je ne peux pas non plus écrire ces idées, mais je ne sais pas pourquoi !

Ouais ! Aujourd'hui je veux être un bon trader puis un bon codeur.

Merci pour votre temps.

 

Vous pouvez le mettre dans un organigramme, c'est un peu plus facile.

Voici un exemple :

Vous pouvez les faire gratuitement sur http://draw.io

draw.io - free flowchart maker and diagrams online
draw.io - free flowchart maker and diagrams online
  • draw.io
draw.io (formerly Diagramly) is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPMN online, as a circuit diagram maker, and more. draw.io can import .vsdx, Gliffy™ and Lucidchart™ files .
 
Marco vd Heijden:

Vous pouvez le mettre dans un organigramme, c'est un peu plus facile.
Voici un exemple :
Vous pouvez les faire gratuitement sur http://draw.io

Wow, merci de l'avoir partagé avec moi.
J'essaierai quand je pourrai prendre le temps de le faire.

Merci beaucoup.

 

#Lignes depreads - Ouvert

Q : Si j'utilise plusieurs objets TrendLine, dois-je utiliser la fonction 'ObjectMove ' pour chacun d'entre eux ?
Je suis à la recherche de méthodes intelligentes pour ces objets, veuillez me conseiller ou m'aider avec un exemple.

ObjectMove( name, 0, Time[0], Bid );
ObjectMove( name, 1, Time[0] + ( PeriodSeconds( NULL ) * 1 ), Bid );

Comme vous le savez, si j'utilise ces objets TrendLine pour des Spread Lines, la taille de ces objets TrendLine peut changer dans différentes échelles et périodes du graphique.
Q : Comment puis-je apprendre cela à l'aide d'un exemple ?

Q : J'ai également besoin d'écrire ce script dans le Trade Panel de mon EA, quel est votre conseil, s'il vous plaît ?

Merci d'avance.

 

Voulez-vous dire une ligne verticale se déplaçant sur le niveau de prix, une ligne horizontale se déplaçant sur l'axe du temps, ou une ligne de tendance par angle qui se déplace le long des deux ?

Vous pouvez soit les déplacer avec ObjectMove(), soit les supprimer et en dessiner de nouvelles.

Si cela dépend du cadre temporel, vous pouvez utiliser le changement de cadre temporel posté quelques pages plus haut.

Je supprime toujours tout lors du passage à un autre cadre temporel dans OnDeinit() et j'en dessine de nouveaux dans OnInit() ou dans une fonction de dessin séparée().

Si vous voulez juste des lignes d'écart, elles sont les mêmes sur n'importe quelle période de temps, vous pouvez donc en créer deux ou trois dans OnInit() et les déplacer dans OnTick().

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
          
   ObjectCreate("Ask",OBJ_HLINE,0,0,Ask);ObjectSetInteger(0,"Ask",OBJPROP_COLOR,clrGold);ObjectSetInteger(0,"Ask",OBJPROP_WIDTH,1);
   ObjectCreate("Bid",OBJ_HLINE,0,0,Bid);ObjectSetInteger(0,"Bid",OBJPROP_COLOR,clrGold);ObjectSetInteger(0,"Bid",OBJPROP_WIDTH,1);
   ObjectCreate("Center",OBJ_HLINE,0,0,(Ask+Bid)/2);

   ObjectSetInteger(0,"Ask",OBJPROP_SELECTABLE,false);
   ObjectSetInteger(0,"Bid",OBJPROP_SELECTABLE,false);
   ObjectSetInteger(0,"Center",OBJPROP_SELECTABLE,false);

   ObjectSetInteger(0,"Ask",OBJPROP_BACK,true);
   ObjectSetInteger(0,"Bid",OBJPROP_BACK,true);
   ObjectSetInteger(0,"Center",OBJPROP_BACK,true);

   ObjectSetInteger(0,"Center",OBJPROP_COLOR,clrDeepSkyBlue);
   ObjectSetInteger(0,"Center",OBJPROP_WIDTH,1);
   ObjectSetInteger(0,"Center",OBJPROP_STYLE,STYLE_DASH);

//---

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+


//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   ObjectMove("Ask",0,0,Ask);
   ObjectMove("Bid",0,0,Bid);
   ObjectMove("Center",0,0,(Ask+Bid)/2);
  }
//+------------------------------------------------------------------+


C'est assez simple ou avez-vous autre chose en tête ?

 

Marco vd Heijden:

C'est simple ou vous aviez autre chose en tête ?

#Lignes d'écart - Fermé

Merci pour votre commentaire qui m'aide beaucoup.

Non, je n'ai pas besoin d'utiliser une ligne verticale et une ligne horizontale juste pour cette fonction. (Mais je vais utiliser la ligne horizontale pour la ligne OrderOpenPrice()).

Lequel j'ai besoin d'utiliser des objets TrendLine pour comme une ligne de prix Spread - Lignes Bid & Ask.
(Lorsque mes connaissances en code étaient nulles, j'ai eu une idée de la conception des lignes de spreads, mais j'ai pensé que ce n'était pas possible jusqu'à ce que je voie un indicateur qui modifiait les lignes de spreads, ce qui m'a inspiré et j'ai commencé à essayer de le faire moi-même, même si cet indicateur est gratuit, je n'aime pas utiliser des EA et des indicateurs créés par d'autres personnes, sans " indicateur de nouvelles ").

N( vous aveznoté) : Si cela dépend de l'horizon temporel, vous pouvez utiliser le changement d'horizon temporel posté quelques pages auparavant.
N: Je supprime toujours tout lors du passage à un autre cadre temporel sur OnDeinit() et j'en dessine de nouveaux dans OnInit() ou une fonction de dessin séparée().

Oh ! Absolument, je vais essayer cela.
J'aimerais noter :
Comme je l'ai mentionné, j'ai fait beaucoup de choses jusqu'à présent pour mes indicateurs et mes ea's, et toutes fonctionnent parfaitement pour moi, mais si vous demandez comment vous les avez faites ?
Oh ! je ne me souviens pas comment j'ai fait tout cela, donc, je veux juste dire, je vais vérifier quelques pages en arrière...

Et j'aimerais étudier comment je peux en dessiner de nouvelles..., car jusqu'à présent je vois un problème lorsque je change de cadre temporel : la TrendLine ne se déplace pas correctement.

---

Je suis en train d'essayer le code ci-dessous pour les lignes de Spread - Lignes Bid & Ask.
Q : Lequel vous avez mentionné sur ce post, est-ce que ce post peut résoudre mon problème de code ci-dessous, s'il vous plaît ? (Je ne l'ai pas encore essayé.)
Q: Aussi est-il possible de me dire ce qui ne va pas dans le code ci-dessous ?

S: ( J'ai résolu ce problème. )

Merci d'avance.