Una domanda per i conoscitori di MQL - pagina 6

 
nikost:


ObjectCreate("DevIM0", OBJ_TRIANGLE, window, Time[0]+5500, 0,Time[0]+8500, 30,Time[0]+8500, -1*30);

Il triangolo è anche abbastanza buono


Inserito la tua linea. Ma non vedo nessun triangolo nella finestra.
Forse bisogna aggiungere qualcos'altro?
ObjectSet ecc. ?

int start()
  { 

ObjectCreate("DevIM0", OBJ_TRIANGLE,
 WindowFind(WindowExpertName()), Time[0]+5500, 0,Time[0]+8500, 30,Time[0]+8500, -1*30);  
       
                                             }                         

//-----------------------------------------------------   
    return(0);
  }
 
  ObjectCreate("asd", OBJ_LABEL, WindowFind(WindowExpertName()), 0,0);
  ObjectSetText("asd", '\x70', "Wingdings 3");// '\x71'
  ObjectSet("asd", OBJPROP_COLOR    , Red);
  ObjectSet("asd", OBJPROP_XDISTANCE, 10);
  ObjectSet("asd", OBJPROP_YDISTANCE, 10);
  ObjectSet("asd", OBJPROP_CORNER   , 3);
  ObjectSet("asd", OBJPROP_FONTSIZE , 18);
 
Rita:


Inserito la tua linea. Ma non vedo il triangolo nella scatola.
Forse bisogna aggiungere qualcos'altro?
ObjectSet ecc. ?


Ha funzionato, finalmente:

 
xrust:


Grazie, xrust.

Ora ci darò un'occhiata.

 

Non è ancora abbastanza chiaro.

Ho disegnato un triangolo nella finestra dell'indicatore:

#property indicator_separate_window

extern bool     ТРЕУГОЛЬНИК=true ;
int init()  {      return(0);  }
int deinit()  {   return(0);  }
int start()
  { 
     int counted_bars=IndicatorCounted();
  //---- проверка на возможные ошибки
     if(counted_bars<0) return(-1);
  //---- последний посчитанный бар будет пересчитан
     if(counted_bars>0) counted_bars-=10;
    //------------------------------------------------------------
   int limit=Bars - IndicatorCounted();  
   int k;    for(k = 0; k < limit; k++)   { 
.... .... ....  
 
  if (ТРЕУГОЛЬНИК==true )   
ObjectCreate("DevIM0", OBJ_TRIANGLE,
WindowFind(WindowExpertName()), Time[0]+3500, 0,Time[0]+9500, 0.2,Time[0]+9500, -1*0.2);  

     } 
//-----------------------------------------------------   
    return(0);
  }

Tuttavia, la condizione TRAGON==true non è vista dall'indicatore.

Il triangolo viene sempre disegnato, non importa se imposto TRUE o FALSE nei parametri esterni!

Perché?

 

Vi ricordate di cancellarlo nella deinità?

Non è lecito mettere le parentesi attorno alla clausola?

 

Le parentesi non aiutano.

In deinit, sì, non l'ha fatto. Ora metto una cancellazione.

 

Le staffe dovrebbero essere... e stop completo :). o invertire la condizione e replicare :))

 

Ho messo le staffe. E ha fatto una cancellazione in Deinit.

L'interruttore TRUE==true/false ha funzionato!

Ma ora è emerso un nuovo problema. Nel ridisegnare il triangolo quando si cambia la sua direzione.

Ora porrò la domanda qui domani.

 

Lo si disegna su ogni tick...