Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1517

 

Ciao a tutti. Ragazzi, aiutatemi a combinare 2 indicatori. Sono stato seduto per 3 giorni e non funziona niente.

Il primo indicatore mostra la tendenza e il secondo mi dà un allarme e mi mostra il punto di entrata con una freccia. Ho bisogno di fare in modo che il secondo indicatore dia segnali solo per il trend.

Sto cercando di fare in modo che siano un unico indicatore o che mi dicano cosa ho fatto di sbagliato.

 
jarikn:

Ciao a tutti. Ragazzi, aiutatemi a combinare 2 indicatori. Sono stato seduto per 3 giorni e non funziona niente.

Il primo indicatore mostra la tendenza e il secondo mi dà un allarme e mi mostra il punto di entrata con una freccia. Ho bisogno di fare in modo che il secondo indicatore dia segnali solo per il trend.

Aiutatemi a farne un insieme o ditemi cosa ho fatto di sbagliato.

Cattura

 

Ma di che diavolo state parlando, nessuno legge la documentazione ?

Bar

Richiedere il numero di barre su un dato intervallo

int  Bars( 
   string           symbol_name,     // имя символа 
   ENUM_TIMEFRAMES  timeframe,       // период 
   datetime         start_time,      // с какой даты 
   datetime         stop_time        // по какую дату 
   );

Valore restituito

Se i parametri start_time e stop_time sono dati, la funzione restituisce il numero di barre in un intervallo di date. Se questi parametri non sono dati, la funzione restituisce la quantità totale di barre.

Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
 

Per favore ditemi cosa sto facendo di sbagliato) o come farlo bene


void Lvls(datetime data, double OPEN, double avg)
  {

   double hi = OPEN + avg;

   double lo = OPEN - avg;
   
   Print("ХАЙ РАВЕН :", hi," ЛОУ РАВЕН :", lo, "ЦЕНА ОТКРЫТИЯ : ", OPEN);
   
   string up = "LVL_UP_" + TimeToString(data);
   string low = "LVL_LOW_" + TimeToString(data);

//Хай
   ObjectCreate(NULL,up,OBJ_TREND,0,data,hi,data,hi,clrBlue,STYLE_SOLID,2,true,true,false,true,false,1);

//Лоу
  ObjectCreate(NULL,low,OBJ_TREND,0,data,lo,data,lo,clrRed,STYLE_SOLID,2,true,true,false,true,false,1);
  }
  


In generale, in primo luogo, gli oggetti vengono creati sul grafico, ma non visualizzati, e in secondo luogo, anche se ho messo una linea di colore diverso, le proprietà della linea hanno il loro nome corretto, ma il loro colore in entrambi i casi è rosso, nel terzo non riesco a capire quale data per specificare un legame a 2 punti se voglio che la linea è stata continuata a destra, ma non era un raggio?

 
MakarFX:

La funzione funziona correttamente.

Prova così

e aggiungere l'aggiornamento del saldo alla funzione di chiusura dell'ordine

Lo proverò durante il giorno, grazie

 
Alexey Viktorov:

Mi sono già perso nei tuoi desideri e consigli per te... Quindi forse il mio consiglio è completamente off-topic, ma scusa...

Capisco che hai bisogno di fissare il saldo all'inizio della giornata e contare il profitto/perdita durante il giorno, in base al quale devi prendere una decisione sul continuare il trading...

Quindi ecco la decisione

Se l'Expert Advisor verrà riavviato nel corso della giornata, si dovrebbe considerare il calcolo dei profitti/perdite degli ordini di oggi tenendo conto degli swap e delle commissioni e calcolare il saldo di inizio giornata in OnInit().

Credo nelle capacità di Makar, può mostrare tutto questo già nel codice...

Lo proverò durante il giorno, grazie

 
MakarFX:

Cattura

Tutto qui? Mi sono scervellato per tre giorni ))))) uh, grazie mille
 
MakarFX:

Cattura

Ho guardato la cronologia, non è ancora la stessa. quando la tendenza è comprare, può dare un segnale di vendere e viceversa. mi puoi dire quale linea cambiare? tutto va bene. grazie mille.
 
jarikn:
Ho guardato la cronologia, non è ancora la stessa. quando la tendenza è comprare, può dare un segnale di vendere e viceversa. potete dirmi quale linea cambiare? altrimenti tutto è super. grazie mille
Li ho appena uniti.
 
Алексей КоКоКо:

Per favore ditemi cosa sto sbagliando) o qual è il modo giusto In generale, il primo oggetto è creato sul grafico, ma non appaiono, nel secondo anche se ho messo linee di colore diverso nelle proprietà hanno i loro nomi, ma il loro colore in entrambi i casi è rosso, nel terzo non riesco a capire quale data per specificare un 2 punti di ancoraggio se voglio la linea di continuare a destra, ma non era un raggio?

void Lvls(datetime data, double OPEN, double avg)
  {

   double hi = OPEN + avg;
   double lo = OPEN - avg;
   
   int shift = Period()*60*5;
   
   Print("ХАЙ РАВЕН :", hi," ЛОУ РАВЕН :", lo, "ЦЕНА ОТКРЫТИЯ : ", OPEN);
   
   string up = "LVL_UP_" + TimeToString(data);
   string low = "LVL_LOW_" + TimeToString(data);

//Хай
   ObjectCreate(NULL,up,OBJ_TREND,0,data,hi,data+shift,hi,clrBlue,STYLE_SOLID,2,true,true,false,true,false,1);

//Лоу
  ObjectCreate(NULL,low,OBJ_TREND,0,data,lo,data+shift,lo,clrRed,STYLE_SOLID,2,true,true,false,true,false,1);
  }
Motivazione: