Saisir un renversement de tendance ou une correction - page 30

 
tara:

Notez la ligne de commentaire dans le coin supérieur gauche.

Est-ce le rapport entre les transactions négatives et positives ? Si ce n'est pas le cas, désolé :o)
 
Non, pas le ratio. Bénéfice en points.
 
Tu es parti pour couper du chou ?
 
Pas vraiment... J'attends de voir s'il y a quelque chose à travailler. Les résultats sont toujours en cours d'examen...
 

Mon avis : les indicateurs avec moyenne (les assistants en particulier) sont nécessaires, mais ils ne doivent être utilisés qu'avec une condition (ou un indicateur) montrant un changement de prix instantané (actuel et sans délai) ...

je voulais dire que tous les oscillateurs et échelles de prix coulent ! (je l'ai trouvé dans le fil de discussion de la page précédente...)

 
atik:

Mon avis : les indicateurs avec moyenne (les assistants en particulier) sont nécessaires, mais ils ne doivent être utilisés qu'avec une condition (ou un indicateur) montrant un changement de prix instantané (actuel et sans délai) ...

je voulais dire que tous les oscillateurs et échelles de prix coulent ! (je l'ai trouvé dans le fil de discussion de la page précédente...)

Tout calcul de moyenne nécessite une optimisation constante car il fonctionne par fragments. Si la planète entière négociait sur Н1 et utilisait Ma avec une période de 359,65 et un décalage de +38, tout le monde serait dans le noir :o).
 
Je soupçonne qu'il y aura une prolongation de la tendance sous forme de correction, et ici comme d'habitude une impasse - la sortie ? J'ai certes fui l'eurik, la livre et le franc, mais il serait dommage de ne prendre qu'une cinquième partie.
 

J'ai court-circuité eurik ce matin, par exemple. Je n'ai pas attendu un plus grand pullback. Pas encore de stop ou de profit.

 

Voici la clarification sur les deux objectifs provisoires (161 et 200%), et la part de la tendance du dessus sur le cas o.k. Et donc le 1-2-3 standard sur la vente.

 

extern int int_bars1=250 ; //nombre minimum d'extrema
extern double ch_max1=60 ; //maximum de hauteur de canal autorisée

Nombre minimum de barres à partir desquelles le canal est recherché, et la hauteur du canal doit être sélectionnée en fonction de TF

Le fichier est inséré, je l'ai mis comme ceci

//+------------------------------------------------------------------+
//|                                          HL channel breakout.mq4 |
//|                      Copyright © 2010, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

extern int min_bars1=80;                   //минималльное число екстремумов
extern double ch_max1=35;                   //максимально разрешаемая высота канала

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----  
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{
   int i, t,k=0;
   double zz_ch=0, new_zz_ch=0;                                                  // высота подщитаного канала
   double PriceHigh=0, PriceLow=0;                                                      //Максимум и минимум канала (цены)                                                                
                                                            //число уже существующих вершин           
   for(k=min_bars1; k<100000; k++)                                           //цикл проверяющий высоту канала
    {
         
        PriceHigh = High[Highest(NULL, 0, MODE_HIGH, k, 0)];
        PriceLow = Low [Lowest (NULL, 0, MODE_LOW , k,0)];                    //Время первого екстрмума 
            if(PriceHigh-PriceLow<ch_max1*Point)           
               {
                  SetTLine(Red, "DNLine", Time[k], PriceLow, Time[0], PriceLow, false, 0, 3);           // чертим нижнюю линию          
                  SetTLine(Blue,"UPLine", Time[k], PriceHigh, Time[0], PriceHigh, false, 0, 3);          // чертим верхнюю линию 
                  SetTLine(Red, "DN161Line", Time[k], PriceLow-((PriceHigh-PriceLow)*0.61), Time[0], PriceLow-((PriceHigh-PriceLow)*0.61), false, 0, 1);           // чертим нижнюю линию          
                  SetTLine(Blue,"UP161Line", Time[k], PriceHigh+((PriceHigh-PriceLow)*0.61), Time[0], PriceHigh+((PriceHigh-PriceLow)*0.61), false, 0, 1);          // чертим верхнюю линию 
                  if(GlobalVariableCheck("H"))         GlobalVariableSet("H",PriceHigh);
                  if(GlobalVariableCheck("L"))         GlobalVariableSet("L",PriceLow);  
               }
            else break;                  
    }            
              
return(0);
}
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 12.10.2007                                                     |
//|  Описание : Установка объекта OBJ_TREND трендовая линия                    |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cl - цвет линии                                                         |
//|    nm - наименование               (  ""  - время открытия текущего бара)  |
//|    t1 - время открытия бара        (  0   - Time[10]                       |
//|    p1 - ценовой уровень            (  0   - Low[10])                       |
//|    t2 - время открытия бара        (  0   - текущий бар)                   |
//|    p2 - ценовой уровень            (  0   - Bid)                           |
//|    ry - луч                        (False - по умолчанию)                  |
//|    st - стиль линии                (  0   - простая линия)                 |
//|    wd - ширина линии               (  1   - по умолчанию)                  |
//+----------------------------------------------------------------------------+
void SetTLine(color cl, string nm="",
              datetime t1=0, double p1=0, datetime t2=0, double p2=0,
              bool ry=False, int st=0, int wd=1) {
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (t1<=0) t1=Time[10];
  if (p1<=0) p1=Low[10];
  if (t2<=0) t2=Time[0];
  if (p2<=0) p2=Bid;
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_TREND, 0, 0,0, 0,0);
  ObjectSet(nm, OBJPROP_TIME1 , t1);
  ObjectSet(nm, OBJPROP_PRICE1, p1);
  ObjectSet(nm, OBJPROP_TIME2 , t2);
  ObjectSet(nm, OBJPROP_PRICE2, p2);
  ObjectSet(nm, OBJPROP_COLOR , cl);
  ObjectSet(nm, OBJPROP_RAY   , ry);
  ObjectSet(nm, OBJPROP_STYLE , st);
  ObjectSet(nm, OBJPROP_WIDTH , wd);
}

//---------------------------------------------------------------------
//  Vizualizacija
//  Визуализация для отладки програмы
//-------------------------------------------------------------------- 
 int VisualDoubleToText(string name, string text, int y,double param, int digit )
 {  
            ObjectCreate(name, OBJ_LABEL, 0, 0, 0);
            ObjectSetText(name, text,12, "Verdana", White );
            ObjectSet(name, OBJPROP_XDISTANCE, 20);
            ObjectSet(name, OBJPROP_YDISTANCE, y);
            ObjectSet(name, OBJPROP_CORNER, 0); 
            ObjectCreate(name+"skaicius", OBJ_LABEL, 0, 0, 0);
            ObjectSetText(name+"skaicius", DoubleToStr(param,digit),12, "Verdana", White );
            ObjectSet(name+"skaicius", OBJPROP_XDISTANCE, 200);
            ObjectSet(name+"skaicius", OBJPROP_YDISTANCE, y);
            ObjectSet(name+"skaicius", OBJPROP_CORNER, 0); 
 }
 
 
  int VisualTimeToText(string name, string text, int y,datetime param, int mode )
 {  
            ObjectCreate(name, OBJ_LABEL, 0, 0, 0);
            ObjectSetText(name, text,12, "Verdana", White );
            ObjectSet(name, OBJPROP_XDISTANCE, 20);
            ObjectSet(name, OBJPROP_YDISTANCE, y);
            ObjectSet(name, OBJPROP_CORNER, 0); 
            ObjectCreate(name+"skaicius", OBJ_LABEL, 0, 0, 0);
            ObjectSetText(name+"skaicius", TimeToStr(param,mode),12, "Verdana", White );
            ObjectSet(name+"skaicius", OBJPROP_XDISTANCE, 200);
            ObjectSet(name+"skaicius", OBJPROP_YDISTANCE, y);
            ObjectSet(name+"skaicius", OBJPROP_CORNER, 0); 
 }