[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 238

 
w_ersoc:

Merci. J'ai vu ça. Mais là...

Je n'en ai pas besoin près du marché mais près d'un prix spécifique.

Exemple : Le marché est à 1.3262 et j'ai besoin de savoir à moins de 5 pips de 1.1111


Qu'est-ce qui vous empêche de changer le MODE_ASK ici à 1.1111 pour un ordre d'achat, par exemple ? La fonction est prête - modifiez-la.

if (ot==OP_BUY || ot==OP_BUYLIMIT || ot==OP_BUYSTOP) {
            if (MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())<ds*p) return(True);
          }
          if (ot==OP_SELL || ot==OP_SELLLIMIT || ot==OP_SELLSTOP) {
            if (MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))<ds*p) return(True);
 
Roman.:

Qu'est-ce qui vous empêche de changer le MODE_ASK ici à 1.1111 pour un ordre d'achat, par exemple ? La fonction est prête - modifiez-la.


Merci !
 
deyron:

Au-dessus d'un poste sous corrigé. Il n'y a pas de critères (vides) pour faire passer un MA par un autre et vice versa.

Le fait même que si un tampon - pas de questions, mais le même à travers le 2ème, 3ème ou 4ème, il n'est pas transmis, ou plutôt ne fonctionne pas.



S'il y a un tampon dans l'indicateur, vous devez le faire en conséquence.
 
costy_:
les indicateurs ne fonctionnent pas avec un glissement, afin de ne pas arrêter le flux commercial !

C'est le problème, l'indicateur ne fonctionne qu'avec le glissement et le "compteur vide", il ne dessine rien sans eux !!!!!. C'est étonnant, incroyable, incompréhensible, à la fin ce n'est juste pas normal, mais je devais écrire le code !
//+------------------------------------------------------------------+
//|                                                   Синяячерта.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 DarkBlue

double ВерхняячертаBuffer1[];
double НижняячертаBuffer2[];
double СинняячертаBuffer3[];
 double вершина; 
 double основание_первого_снижения;
 double начало;
 double вершина_волны_3;
 
 int timeframe, start ;
 int бар_вершина ;
 int бар_основание_первого_снижения;
 int бар_начало;
 
 double Pustostsetscyk;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
SetIndexStyle(0,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(0,ВерхняячертаBuffer1);//Alert ("SetIndexBuffer ",GetLastError( ) );
   SetIndexEmptyValue(0,0.0);
   
   SetIndexStyle(1,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(1,НижняячертаBuffer2);//Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue(1,0.0);
   
   SetIndexStyle(2,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(2,СинняячертаBuffer3);//Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue(2,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
   for (int i=0;i<100;i++){  СинняячертаBuffer3[i]= Open[i];}
          for (i=330;i<500;i++){  СинняячертаBuffer3[i]= Open[i];}
         for (i=0;i<500;i++){ Pustostsetscyk++;} Pustostsetscyk=0;
         Sleep(4000);
     i=Bars;
       бар_вершина=iHighest( NULL,  timeframe, MODE_HIGH, i, start ) ;
       вершина =High[ бар_вершина ];
       бар_основание_первого_снижения=iLowest( NULL,  timeframe, MODE_LOW, бар_вершина, start ) ;
       основание_первого_снижения=Low[ бар_основание_первого_снижения ];
       бар_начало=iLowest( NULL,  timeframe, MODE_LOW, бар_вершина*2, бар_вершина ) ;
       начало=Low[ бар_начало ];
       Sleep(4000);
      //   Alert ( " бар_вершина   ",бар_вершина  , " вершина  " , вершина ,
      //    " бар_основание_первого_снижения  " ,бар_основание_первого_снижения  , " основание_первого_снижения  " , основание_первого_снижения , 
      //    " бар_начало  " , бар_начало   , " начало  " , начало    );
  
    НижняячертаBuffer2[бар_начало]=начало;
    НижняячертаBuffer2[бар_основание_первого_снижения]=основание_первого_снижения;
    for ( i=0;i<10;i++){  НижняячертаBuffer2[i]= Open[i];}
     Sleep(4000);     
    for (i=0;i<500;i++){ Pustostsetscyk++;}   Pustostsetscyk=0;   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

Et le délai ne peut être modifié, tout disparaît à jamais.

J'ai dû ajouter une ligne for (i=0;i<300;i++){ Alert ( Bottom lineBuffer2[i]) ; }, il ne dessine pas sans elle !

Et ça dessine vraiment de temps en temps ! J'ai donc réglé l'épaisseur du trait à 4, je l'ai compilé, et non ! !!

Je viens de mettre l'indicateur sur le graphique, il n' y est pas. J'attends deux minutes, c'est parti. Sans le supprimer du graphique, je compile à nouveau le même code dans l'éditeur Metatrader.

 
Dimka-novitsek:

C'est le problème, l'indicateur ne fonctionne qu'avec le glissement et le "compteur vide", il ne dessine rien sans eux !!!!!. C'est étonnant, incroyable, incompréhensible, à la fin ce n'est juste pas normal, mais je devais écrire le code !


Commencez par celui-ci.

//+------------------------------------------------------------------+
//|                                                   Синяячерта.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_color3 DarkBlue

double BufferUP[];
double BufferDN[];
double BufferBlue[];

 
 double Pustostsetscyk;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
SetIndexStyle(0,DRAW_LINE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(0,BufferUP);//Alert ("SetIndexBuffer ",GetLastError( ) );
   SetIndexEmptyValue(0,0.0);
   
   SetIndexStyle(1,DRAW_LINE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(1,BufferDN);//Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue(1,0.0);
   
   SetIndexStyle(2,DRAW_LINE);//Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(2,BufferBlue);//Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue(2,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----
   int limit=Bars-counted_bars-1;

   for (int i=limit;i>=0;i--) {
      BufferBlue[i]  = Open[i];
      BufferUP[i]    = High[i];
      BufferDN[i]    = Low[i];
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

Merci !!!!!!

Super ! !!

 
Dimka-novitsek:
Merci !!!!!!

Légère correction du message précédent
 
Vous savez, lorsque vous changez d'horizon temporel, il disparaît également, et de façon permanente, il ne s'affiche plus sur aucun horizon temporel. Eh bien, je vais essayer de faire quelque chose d'utile pour commencer. Je suppose que mon ordinateur s'efface ou quelque chose comme ça.
 
Dimka-novitsek:
Vous savez, lorsque vous changez d'horizon temporel, il disparaît également, et de façon permanente, il ne s'affiche plus sur aucun horizon temporel. Eh bien, je vais essayer de faire quelque chose d'utile pour commencer. Je suppose que mon ordinateur s'efface ou quelque chose comme ça.

J'ai corrigé le code un peu, j'ai déjà écrit