[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 612

 
Fox_RM:

Non si è rivelato così semplice. Ho aggiunto un numero al nome, vengono create 3 linee (per esempio), ma non si muovono da nessuna parte :( Si scopre che devo fare un ciclo chiuso e assegnare un nuovo numero ogni volta, ma qui la situazione è identica all'assegnazione

nome della linea temporale. È semplicemente terribile...


Guarda questo indicatore
File:
_linestat.mq4  6 kb
 
alsu:
indicare all'inizio del programma
Grazie mille.
 
void flatline(string labebe,datetime time1,double price1,datetime time2,double price2,color colir, int W)
  {
     ObjectCreate(labebe, OBJ_TREND, 0,time1,price1,time2,price2);
   ObjectSet(labebe, OBJPROP_COLOR, colir);
   ObjectSet(labebe, OBJPROP_STYLE,0);
   ObjectSet(labebe, OBJPROP_RAY,0);
   ObjectSet(labebe, OBJPROP_WIDTH,W);   
   ObjectSet(labebe, OBJPROP_BACK, true);
   }
Codice di funzione per disegnare linee. Grazie mille a tutti quelli che hanno risposto.
 

Ragazzi aiutatemi,

La questione è questa, c'è un indicatore grafico autocostruito, ma il problema è il seguente, quando arriva un certo punto, diciamo l 'ora corrente

if ((k>=15 && k<16) || (Hour()>=15)) // где k- по прошлым дням (для рисования не только в одном дне, но и по всей истоии)

Dovrebbe disegnare un estremo in una vecchia sessione di trading (è conveniente per determinare dove il commercio è ora), ma il trucco è che l'indicatore non disegna il grafico, solo se si cambia timeframe avanti e indietro ...

Ecco un pezzo di codice di disegno

if (Close[iHighest(NULL,0,MODE_CLOSE,8*p_t,i-15*p_t)]> Open[iHighest(NULL,0,MODE_OPEN,8*p_t,i-15*p_t)])
{

max_eu=Close[iHighest(NULL,0,MODE_CLOSE,8*p_t,i-15*p_t)];
Name="max2";
ObjectCreate(Name,OBJ_TREND,0,Time[iHighest(NULL,0,MODE_OPEN,8*p_t,i-15*p_t)],max_eu,Time[i]+l,max_eu);
ObjectSet(Name, OBJPROP_COLOR, Navy);
ObjectSet(Name,OBJPROP_RAY,false);
ObjectSet(Name, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1 | OBJ_PERIOD_M30| OBJ_PERIOD_M15 | OBJ_PERIOD_M5);
ObjectSet(Name, OBJPROP_WIDTH, 1);

Label="надпись2";
ObjectCreate(Label,OBJ_TEXT,0,Time[i]+l,max_eu);
ObjectSetText(Label,"Max Европа ", 8, "Arial", Navy);
ObjectSet(Label, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1 | OBJ_PERIOD_M30| OBJ_PERIOD_M15 | OBJ_PERIOD_M5);

WindowRedraw();
}

Sono confuso...

 

DOCTORS:

fatto in casa

è giusto


Sono confuso...

Per districarsi, si può mettere Print( ) dopo if(...) e vedere se la condizione include anche
 
alsu:
è la cosa giusta da fare


Per sbrogliare, potete mettere Print() dopo if(...) e vedere se la condizione è anche inclusa
Ci sono diverse condizioni... Questa è una delle opzioni. Metterò la stampa...
 

Mi dica se ci sono programmi simili per raccogliere statistiche?

}
 
Fox_RM:
Codice di funzione per disegnare linee. Grazie mille a tutti quelli che hanno risposto.
void flatline(string nm,datetime t1,double p1,datetime t2,double p2,color clr, int W){
   ObjectDelete(nm);// это не обязательно.
   ObjectCreate(nm, OBJ_TREND, 0,0,0,0,0);
   ObjectSet(nm, OBJPROP_PRICE1,p1);
   ObjectSet(nm, OBJPROP_TIME1,t1);
   ObjectSet(nm, OBJPROP_PRICE2,p2);
   ObjectSet(nm, OBJPROP_TIME2,t2);
   ObjectSet(nm, OBJPROP_COLOR, clr);
   ObjectSet(nm, OBJPROP_STYLE,0);
   ObjectSet(nm, OBJPROP_RAY,false);
   ObjectSet(nm, OBJPROP_WIDTH,W);   
   ObjectSet(nm, OBJPROP_BACK, true);
   WindowRedraw();// если обновлять на каждом тике, лучше поставить в самом конце старта
   return;   
}
 

Alert ("numero di bull bars = ", vverh, " - ", vverh/(Konec/100), " % " );


Potete dirmi perché ottengo un intero senza virgola nell'espressione vverh/(Konec/100)? Dopo il punto decimale, le cifre dovrebbero essere fino alla quarta cifra, ma esce solo come un intero. =(

Alert ("numero di barre zero = ", nul, " - ", DoubleToStr(nul/(Konec/100),2), " % " ); anche questa espressione non funziona.

 
ChAnton:

Alert ("numero di bull bars = ", vverh, " - ", vverh/(Konec/100), " % " );


Potete dirmi perché ottengo un intero senza virgola nell'espressione vverh/(Konec/100)? Dopo il punto decimale, le cifre dovrebbero essere fino alla quarta cifra, ma esce solo come un intero. =(

nascosto da qualche parte
Motivazione: