Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1002

 
Vinin:

iBarShift

Questo è il numero di sequenza, non il valore della barra.
 
001:
Questo è il numero di sequenza, non il valore della barra.
Quindi, possiamo usare l'indice per trovare ciò che vogliamo))MQL4 Reference Guide / Predefined Variables
 

Come calcolare programmaticamente il profitto/perdita per un ordine SL/TP nella valuta di deposito (Rubli)?

Cioè, ho bisogno di ottenere esattamente quelle cifre di profitto che MT4 visualizza quando passa sopra la linea SL/TP o la trascina con il mouse.

Che ne dite di ottenere MODE_TICKVALUE e moltiplicare per la distanza in pip allo SL/TP? Ho provato con EURUSD e sembra essere lo stesso, ma con altre coppie appare almeno una leggera divergenza. E in MT4 è sempre più di almeno qualche rublo. Per esempio su GBPNZD.

 

Ho fatto un semplice EA che emette informazioni nel log quando appare una nuova barra.

#property strict
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
   if(IsNewBar(_Symbol,PERIOD_CURRENT)==true) Print("New bar!");
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//=== Function
bool IsNewBar(string f_Symbol,      // symbol
              ENUM_TIMEFRAMES f_TF) // timeframe
  {
//---
   static datetime f_LastBar=0;
   datetime f_CurrentBar=iTime(f_Symbol,f_TF,0);
//---
   if(f_LastBar!=f_CurrentBar)
     {
      f_LastBar=f_CurrentBar; return(true);
     }
   else return(false);
  }

Funziona correttamente, nel senso che al primo tick di una nuova barra appare un messaggio. Ma per qualche motivo il tempo del messaggio è legato alla barra precedente. Vorrei allegare una foto. Il primo mostra che l'ora corrente è 21:50:57 e ci sono solo 2 nuovi messaggi. Sulla 2a fig. il tempo corrente 21:51:23, c'è una 3a registrazione di una nuova barra E visto che il messaggio è apparso dopo 21:51:00 MA il tempo di registrazione nel registro in qualche modo che 20:50:47 (chiaramente, c'è una differenza di 1 ora tra il server e il mio computer), che il mio tempo non è corretto. Puoi controllare il tuo? È lo stesso per tutti o è un difetto?



 

L'orologio del tuo computer è indietro di qualche secondo o l'orologio del server è un po' veloce, o forse entrambi. Stampa() il tempo corrente della barra.

if(IsNewBar(_Symbol,PERIOD_CURRENT)!=true) Print("New bar! ", Time[0]);

o sia il server che l'ora locale

 
Vadim_2015:
Bene, possiamo usare l'indice per trovare ciò che vogliamo))Riferimento MQL4 / Variabili predefinite

No, non è questo il caso. Ho chiesto: come si fa a conoscere il valore di una barra in un indicatore in base al suo tempo( al tempo della barra)? Se mettiamo semplicemente in iBarShift un'ora del giorno desiderata (per esempio in TF H1, allora otteniamo lo spostamento sul grafico D1, che cambia sempre con ogni nuovo giorno, cioè ogni nuova barra avrà la stessa cosa.

 
001:

No, questo è un po' diverso. Ho chiesto: come si fa a conoscere il valore di una barra(GIORNO VOLUTO) in un indicatore in base al suo tempo (in base al tempo della barra)? Se mettiamo semplicemente in iBarShift l'ora di un giorno DESIDERATO (per esempio, su TF H1, otteniamo lo spostamento sul grafico D1, che cambia sempre con l'arrivo di un nuovo giorno, cioè ogni nuova barra avrà lo stesso valore.


- Come troviamo il valore in un indicatore?

cos'è un "valore"?

- "Se stiamo sostituendo senza mezzi termini".

Se non capite la funzione, otterrete un valore "nuovo", il che significa che ogni nuova barra avrà lo stesso valore.

 

Buon pomeriggio.

Affrontato un problema quando si testano gli EA. Tutto è andato bene per un paio di mesi, ho scritto diversi EA che aprivano e chiudevano gli ordini secondo le mie regole. Un giorno un altro EA ha smesso di testare. Indipendentemente dal tempo impostato nel tester passa un mese, era sempre settembre 2014 e il test si è fermato. Mi ci è voluto molto tempo per tirarlo fuori, scaricare i dati storici, ecc. Poi ho deciso di reinstallare MetaTrader. Poi ho deciso di reinstallare Meta Trader, l'ho disinstallato e reinstallato. Ora tutti gli Expert Advisors disponibili in generale non funzionano più. I miei ordini non si aprono. Ho alcuni dati storici. Quando l'imaging è attivato, il grafico passa il periodo di tempo richiesto, ma non si fa trading. Per favore, consigliatemi almeno in che direzione scavare, tutte le mie idee sono finite.

Molte grazie in anticipo.

 
sergeev:

- Come troviamo il valore in un indicatore?

cos'è il "valore"?

- "Se solo lo colleghiamo"

Mostrami questo codice "stupido" per avere qualcosa di cui parlare. finora tutto ciò che possiamo vedere è la tua mancanza di comprensione di come funziona la funzione.


Non voglio nemmeno discutere. Non sono molto bravo a programmare. Sono solo un tipo occasionale. Codice più tardi. "Valore" è aperto.

 

Ciao a tutti, potete dirmi come tracciare un triangolo e calcolare l'angolo ottuso di un triangolo?

Motivazione: