[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 143

 
todem:

Cosa c'entra un ordine selezionato?

Prendiamo i dati dall'indicatore, gli ordini non sono coinvolti qui


Si usa OrderSymbol() -- Restituisce il nome dello strumento finanziario per l'ordine attualmente selezionato.
L'ordine deve essere preselezionato utilizzando la funzione OrderSelect().

Ecco il vostro codice:

double CC1=0,CC2=0;
  if(OrderSymbol()=="EURUSD"){ CC1 = iCustom("EURUSD",60,"CC2",3,6,0,1); CC2 = iCustom("EURUSD",60,"CC2",3,6,1,1); }
  if(OrderSymbol()=="GBPUSD"){ CC1 = iCustom("GBPUSD",60,"CC2",3,6,0,1); CC2 = iCustom("GBPUSD",60,"CC2",3,6,2,1); }
  if(OrderSymbol()=="USDCHF"){ CC1 = iCustom("USDCHF",60,"CC2",3,6,0,1); CC2 = iCustom("USDCHF",60,"CC2",3,6,3,1); }
  if(OrderSymbol()=="USDJPY"){ CC1 = iCustom("USDJPY",60,"CC2",3,6,0,1); CC2 = iCustom("USDJPY",60,"CC2",3,6,4,1); }
  if(OrderSymbol()=="USDCAD"){ CC1 = iCustom("USDCAD",60,"CC2",3,6,0,1); CC2 = iCustom("USDCAD",60,"CC2",3,6,5,1); }
  if(OrderSymbol()=="AUDUSD"){ CC1 = iCustom("AUDUSD",60,"CC2",3,6,0,1); CC2 = iCustom("AUDUSD",60,"CC2",3,6,6,1); }
  if(OrderSymbol()=="NZDUSD"){ CC1 = iCustom("NZDUSD",60,"CC2",3,6,0,1); CC2 = iCustom("NZDUSD",60,"CC2",3,6,7,1); }
  if(OrderSymbol()=="EURGBP"){ CC1 = iCustom("EURGBP",60,"CC2",3,6,1,1); CC2 = iCustom("EURGBP",60,"CC2",3,6,2,1); }
  if(OrderSymbol()=="EURCHF"){ CC1 = iCustom("EURCHF",60,"CC2",3,6,1,1); CC2 = iCustom("EURCHF",60,"CC2",3,6,3,1); }
  if(OrderSymbol()=="EURJPY"){ CC1 = iCustom("EURJPY",60,"CC2",3,6,1,1); CC2 = iCustom("EURJPY",60,"CC2",3,6,4,1); }
qui CC1, CC2 ricevono i valori corrispondenti allo strumento dell'ordine selezionato

se si citasse l'intero codice, si potrebbe dire con certezza qual è il problema invece di tirare a indovinare

 
100yan:

doppio MA13=iMA(NULL,..... etc
Quindi volete prima calcolare il valore della maschera, cioè qualche numero, e poi scoprire con quale periodo è stato calcolato? No, non funziona così))
 
eddy:
Perché MainBuffer[i] supera 100? Dov'è l'errore?
MathMax e MathMin restituiscono il numero della barra, non l'estremo stesso
 
abolk:


si usa OrderSymbol() -- Restituisce il nome dello strumento finanziario per l'ordine attualmente selezionato.
L'ordine deve essere preselezionato usando OrderSelect().

Ecco il tuo codice:

CC1, CC2 ottengono valori corrispondenti allo strumento dell'ordine selezionato

se si citasse tutto il codice, si potrebbe dire con certezza qual è il problema invece di tirare a indovinare

omettere ORDER... quindi sarebbe Symbol()
 
Sergey_Rogozin:

La cosa interessante è che dà gli stessi valori in tutti i casi.

Cioè, dà gli stessi valori per tutti i caratteri.

double CC1=0,CC2=0;
  if(Symbol()=="EURUSD"){ CC1 = iCustom("EURUSD",60,"CC2",3,6,0,1); CC2 = iCustom("EURUSD",60,"CC2",3,6,1,1); }
  if(Symbol()=="GBPUSD"){ CC1 = iCustom("GBPUSD",60,"CC2",3,6,0,1); CC2 = iCustom("GBPUSD",60,"CC2",3,6,2,1); }
  if(Symbol()=="USDCHF"){ CC1 = iCustom("USDCHF",60,"CC2",3,6,0,1); CC2 = iCustom("USDCHF",60,"CC2",3,6,3,1); }
  if(Symbol()=="USDJPY"){ CC1 = iCustom("USDJPY",60,"CC2",3,6,0,1); CC2 = iCustom("USDJPY",60,"CC2",3,6,4,1); }
  if(Symbol()=="USDCAD"){ CC1 = iCustom("USDCAD",60,"CC2",3,6,0,1); CC2 = iCustom("USDCAD",60,"CC2",3,6,5,1); }
  if(Symbol()=="AUDUSD"){ CC1 = iCustom("AUDUSD",60,"CC2",3,6,0,1); CC2 = iCustom("AUDUSD",60,"CC2",3,6,6,1); }
  if(Symbol()=="NZDUSD"){ CC1 = iCustom("NZDUSD",60,"CC2",3,6,0,1); CC2 = iCustom("NZDUSD",60,"CC2",3,6,7,1); }
  if(Symbol()=="EURGBP"){ CC1 = iCustom("EURGBP",60,"CC2",3,6,1,1); CC2 = iCustom("EURGBP",60,"CC2",3,6,2,1); }
  if(Symbol()=="EURCHF"){ CC1 = iCustom("EURCHF",60,"CC2",3,6,1,1); CC2 = iCustom("EURCHF",60,"CC2",3,6,3,1); }
  if(Symbol()=="EURJPY"){ CC1 = iCustom("EURJPY",60,"CC2",3,6,1,1); CC2 = iCustom("EURJPY",60,"CC2",3,6,4,1); }
Questo è il modo corretto di farlo
 
alsu:
MathMax e MathMin restituiscono il numero della barra, non l'estremo stesso

MathMax restituisce il valore massimo di 2 valori - High[i] e 0, se incontra un High[i] maggiore di HighesBuffer[i] - lo restituisce.

MathMin restituisce il valore minimo di 2 valori - Low[i] e 99999, se l'urto con Low[i] è inferiore a LowesBuffer[i] - lo restituisce.

 
alsu:
Quindi volete prima calcolare il valore di una sventola, cioè un certo numero, e poi scoprire con quale periodo è stato calcolato? No, non funzionerà))

Non proprio... È possibile basarsi su qualche indicatore MA (non necessariamente il valore). Ma non so come ...
 
su cosa appoggiarsi e perché?
 
eddy:
A cosa fare riferimento e perché?

c'è un MA lavorativo (il periodo può variare)

c'è una funzione separata che utilizza lo stesso periodo. Per la bellezza della soluzione, è necessario riferirsi al MA, non al suo periodo.

è necessario calcolare il periodo della MA...

 
todem:
Così va meglio.

О! Beh, certo che lo siete. Qualcosa ha attirato la mia attenzione. Che errore grossolano!

Oh, grazie.

Motivazione: