[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 105

 
bond007:
.... et comment peuvent-ils le découvrir ? ??)
je ne comprends pas.... ils disent que vous pouvez faire du commerce avec des EAs, d'autres disent que vous ne pouvez pas - si par exemple une société de courtage permet d'utiliser un EA, alors comment ? je suis intéressé par le code de l'EA qu'ils découvriront ?

la société de courtage ne peut pas voir le code.... ils ne voient que l'intensité du placement des commandes et les commentaires dans les commandes ... il y a des DT où le travail des EA dans le terminal est interdit ... cela signifie que lorsque vous collez un EA sur un graphique, il ne fonctionne pas ... si cela n'est pas autorisé par les paramètres du serveur, votre courtier vous donnera une erreur xxx ou quelque chose comme 2013.01.18 22:45:03 '30xxxxx' : le trading par des experts est interdit.



C'est-à-dire que je ne sais pas pourquoi je suis obsédé par le code ?

 
hoz:

Merci, maintenant tu vas avoir de l'appétit :)
Tant mieux pour vous, et progressivement du simple au complexe vous programmerez votre compréhension, ce qui est nécessaire pour écrire tout programme. Bonne chance !
 
mario065:

Bonjour à tous,

J'ai créé un indicateur, il dessine deux lignes à 45 degrés. Quand elles se croisent, je veux qu'elles soient horizontales.

Alors comment calculer l'intersection ?

J'ai dessiné avec le bas/haut du jour précédent, jusqu'à un point.

Pour obtenir une telle ligne, je dessine d'un point au début du jour et de l'autre côté du point du rayon.

Comment écrire le code pour le recalculer ? Je ne l'ai pas encore fait :

Pour aider.
 
drknn:

Qu'entendez-vous par le terme "graphique logarithmique" ? Veuillez me donner un exemple. Par exemple, je n'ai jamais rencontré que le concept d'une échelle de graphique logarithmique. Le terminal MT4 dispose déjà de cette échelle.
Je veux dire l'échelle logarithmique. Comment puis-je la trouver dans MT ? Je l'utilise depuis tant d'années et je ne sais pas ce qu'il y a déjà.
 
mario065:

Bonjour à tous,

J'ai créé un indicateur, il dessine deux lignes à 45 degrés. Quand elles se croisent, je veux qu'elles soient horizontales.

Alors comment calculer l'intersection ?

J'ai dessiné avec le bas/haut du jour précédent, jusqu'à un point.

Pour obtenir une telle ligne, je dessine d'un point au début du jour et de l'autre côté du point du rayon.

Comment écrire le code pour le recalculer ? Je ne l'ai pas encore fait :



Celui d'Igor Kim :

Fonction CrossPointOfLines()

 

Alexei, Artem, merci.

Je vais apprendre les fonctions d'Igor Kim.

 

Donc je n'ai pas deux points, je n'en ai qu'un.

Voici les sors :

//+------------------------------------------------------------------+
//|                                                     TRIANGLE.mq4 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2013,mario"
#property link      ""

#property indicator_chart_window
extern string   TimeStart  = "Час за начало";
extern datetime Time_start = D'17.01.2013';
extern int      Days       = 1;
bool            New_Bar    = false;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init(){return(0);}
int deinit(){
   ObjectsDeleteAll(0,OBJ_TRENDBYANGLE);
   ObjectsDeleteAll(0,OBJ_VLINE);
   Comment("");return(0);}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  { 
   datetime New_Time,time_next,time_barh,time_barl;
   time_next = Time_start + Days*86400;
   datetime new_day = iTime(Symbol(),PERIOD_D1,0);
//+------------------------------------------------------------------+
   if(New_Time != new_day)                        
           {
           New_Time = new_day;                         
           New_Bar  = true;
           }
//+------------------------------------------------------------------+ 
//Шифтвам 
   double b1=iBarShift(Symbol(),0,Time_start);      
   double b2=iBarShift(Symbol(),0,time_next);
   double min = 3,max = 0;
   for(int i = b2;i <= b1;i++){
      if(iHigh(Symbol(),0,i)>max){ max=iHigh(Symbol(),0,i);time_barh = Time[i];}
      if(iLow (Symbol(),0,i)<min){ min=iLow (Symbol(),0,i);time_barl = Time[i];}
      }
   if(New_Bar == true){ 
      ObjectsDeleteAll(0,OBJ_TRENDBYANGLE);
      ObjectsDeleteAll(0,OBJ_VLINE);
      DrawLine("Start",0,Time_start,0,Time_start,0,0,0,2,Aqua,false);
      DrawLine("Up",3,time_barh,max,0,0,315.0,0,2,DeepSkyBlue,true);
      DrawLine("Up1",3,time_barh,max,Time_start,0,315.0,0,2,DeepSkyBlue,false);
      DrawLine("Dn",3,time_barl,min,0,0,45.0,0,2,Orange,true);
      DrawLine("Dn1",3,time_barl,min,Time_start,0,45.0,0,2,Orange,false);
    }
//+------------------------------------------------------------------+
   double spead = MarketInfo(Symbol(),MODE_SPREAD);
//+------------------------------------------------------------------+ 
   Comment("\nВреме на брокера: ",TimeToStr(TimeCurrent(),TIME_SECONDS),", Локално време: "+TimeToStr(TimeLocal(),TIME_SECONDS),
           "\nТекущ спред: ",DoubleToStr(spead/10,1),
           "\n min:        ",DoubleToStr(min,Digits),
           "\n max:       ",DoubleToStr(max,Digits)
           );
   return(0);
  }
//+------------------------------------------------------------------+
void DrawLine(string name,int lines,datetime time1,double value,datetime time2,double value1,double grd,int style,int wid,color col,bool ray)
{
   ObjectCreate(name,lines,0,time1,value,time2,value1);
   ObjectSet(name,OBJPROP_ANGLE,grd);
   ObjectSet(name,OBJPROP_COLOR,col);
   ObjectSet(name,OBJPROP_STYLE,style);
   ObjectSet(name,OBJPROP_WIDTH,wid);
   ObjectSet(name,OBJPROP_RAY,ray);
}
//+------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 12.10.2007                                                     |
//|  Описание : Вычисляет координаты точки пересечения двух прямых.            |
//|             Каждая прямая задаётся парой координат своих точек.            |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    x - массив абсцисс              x[0], x[1] - первая прямая              |
//|                                    x[2], x[3] - вторая прямая              |
//|    y - массив ординат              y[0], y[1] - первая прямая              |
//|                                    y[0], y[1] - вторая прямая              |
//|    t - массив искомых координат    t[0]       - абсцисса                   |
//|                                    t[1]       - ордината                   |
//+----------------------------------------------------------------------------+
void CrossPointOfLines(double& x[], double& y[], double& t[]) {
  double z=(y[3]-y[2])*(x[1]-x[0])-(y[1]-y[0])*(x[3]-x[2]);
  ArrayResize(t, 2);
  ArrayInitialize(t, 0.0);

  if (z==0) Print("CrossPointOfLines(): Не удалось найти точку пересечения!");
  else {
    double xy1=x[1]*y[0]-x[0]*y[1];
    double xy2=x[3]*y[2]-x[2]*y[3];
    t[0]=NormalizeDouble((xy1*(x[3]-x[2])-xy2*(x[1]-x[0]))/z, 0);
    t[1]=(xy1*(y[3]-y[2])-xy2*(y[1]-y[0]))/z;
  }
}

Le code lui-même est très simple, mais il n'y a qu'un seul point.

 

Qui sait pourquoi l'indicateur DailyPivotPoints du testeur en mode visuel n'affiche que les données du jour pour toutes les dates ?

Et si possible, que faudrait-il y ajouter pour montrer ce qu'il y avait dans l'histoire ? Merci !

 
lenalebedeva:
Je veux parler de l'échelle logarithmique en particulier, comment la trouver dans MT ? Je l'utilise depuis tant d'années et je ne sais pas ce qu'il y a déjà.

Voir

P.S.

Par exemple, vous regardez une tendance basse passée sur le graphique et vous voyez que vers le bord du graphique, elle se déplace encore plus bas en dehors de la fenêtre. Vous faites défiler le graphique vers le futur et vous observez que le graphique se déplace automatiquement vers le haut, libérant ainsi de l'espace pour visualiser les bougies du graphique sous-jacent. Et ce qui était auparavant visible en haut de la fenêtre du graphique est maintenant déplacé encore plus haut, hors de la fenêtre du graphique. Il s'agit de l'implémentation d'une échelle de prix logarithmique sur le graphique. S'il n'existait pas, vous devriez faire défiler le graphique non seulement de droite à gauche, mais aussi de haut en bas. C'est pourquoi l'échelle de temps est linéaire et l'échelle de prix est logarithmique, afin d'afficher facilement les données dans la fenêtre du graphique.

Dans le passé, lorsque les ordinateurs n'étaient pas disponibles, les traders utilisaient un graphique millimétré et y traçaient les prix pour prédire les tendances et les points de retournement. Il y avait donc deux échelles sur le papier - le prix et le temps. Il s'agit de deux échelles linéaires. Pouvez-vous imaginer la taille que devrait avoir une feuille de papier millimétré pour contenir tous les chandeliers de quinze minutes de l'année écoulée ? Il serait sûrement aussi grand que le mur d'une pièce (si ce n'est plus). Ainsi, lorsque vous faites défiler le graphique à l'écran, vous pouvez imaginer ce modèle : un graphique en chandelier des prix est dessiné sur le mur. Il y a aussi un cadre rectangulaire (par exemple rouge) - c'est votre moniteur. Se déplacer le long du graphique n'est rien d'autre que déplacer ce rectangle rouge le long de la tendance. Mais vous diriez alors que les deux échelles de votre moniteur sont linéaires. C'est vrai, mais seulement en partie - remarquez que lorsque vous faites défiler le graphique, la bougie qui était grande (perçue visuellement comme grande) devient plus petite après un léger déplacement, bien que si nous mesurons la distance entre ses extrémités, le nombre de points reste le même.

Regardez, voici 2 captures d'écran du même graphique. La première capture d'écran est juste une capture d'écran. La seconde est une capture d'écran du même écran mais après avoir fait tourner la roue de la souris d'un clic, le graphique a reculé de quelques bougies. Prenez une feuille de papier, attachez-la à la première capture d'écran et marquez les prix haut et bas de la bougie marquée en rouge. Déplacez ensuite les risques marqués vers la même bougie dans la deuxième capture d'écran. Vous comprendrez de quoi nous parlons et ce qu'est un déplacement de l'échelle logarithmique (ce qui est l'essence de l'utilisation inégale des échelles ici).

Et pourquoi avez-vous besoin d'entrer dans les nuances des échelles logarithmiques ? Qu'espérez-vous y trouver ?

 

Bonne journée à vous tous !

Pourriez-vous me dire comment dessiner un segment sur un graphique, avec un exemple si possible.

Raison: