Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 325
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Vieni ad aiutarmi.
Il compito è quello di trovare l' elemento minimo nell'array[].
Il problema è risolverlo, ma il minimo mi sta uccidendo. Ho provato di tutto, gli array di input sono pieni - ho guardato attraverso il debug, cosa fare?
Forse ci sono delle sfumature?
dichiarato via
Vieni ad aiutarmi.
Il compito è quello di trovare l' elemento minimo nell'array[].
Il problema è risolverlo, ma il minimo mi sta uccidendo. Ho provato di tutto, gli array di input sono pieni - ho guardato attraverso il debug, cosa fare?
Forse ci sono delle sfumature?
dichiarato via
Provate ArraySort e controllate l'output sul primo indice.
Alla faccia della noosfera, non appena ho rinunciato alla domanda, ho iniziato ad avere un'intuizione: ho 0 nell'array, quindi dà min = 0. Ma ci sono ancora sezioni con valori non nulli, e il min è ancora 0, beh, che Dio mi aiuti, la domanda è spenta)) Grazie a chi ha appena letto la domanda, la noosfera ha dato
Domanda di attenzione))
Come si imposta la barra nell'indicatore da cui iniziare l'elaborazione?
if(prev_calculated>rates_total-Bmax)
{ ... то что нужно обрабатывать начиная с бара[rates_total-Bmax]
}
Provato questo, il risultato è che l'indicatore fa un solo movimento.
Ciao di nuovo, potresti per favore dirmi, conosco l'indice di un elemento dell'array, quale funzione può essere usata per trovare il suo valore?
int Totall=OrdersTotal();
double Price; // Prezzo dell'ordine selezionato
double Mas[]; //array per mettere in ordine tutti gli ordini
for(int i=0; i<OrdersTotal(); i++) //ordinare il ciclo
{
if(OrderSelect(i,SELECT_BY_POS)) // if(OrderSelect(i,SELECT_BY_POS))
{Price=OrderOpenPrice(); //riempire l'array con i prezzi
Mas[i] = Prezzo;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // Ora i prezzi di apertura sono ordinati in ordine decrescente
int Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND) // Viene determinato l'indice dell'elemento più vicino in valore al prezzo corrente
Come ho incontrato prima studiando le classi, ancora una volta ci sono sfumature che non sono descritte negli articoli o da qualche parte così nascoste che non è possibile trovare attraverso un motore di ricerca. Un'intera giornata passata invano a cercare spiegazioni. Per esempio cosa significa questo simbolo e come influisce se non. Come si vede qui sotto nell'esempio di stati, prima c'è e poi non c'è: &
Inoltre, non è chiaro cosa significhi questo simbolo: ~
*
Le funzioni mql4, mql5 passano sempre un array solo per riferimento (& == ampersand)
In primo luogo - nei parametri formali di una funzione - c'è una e commerciale che indica che non è l'array stesso che viene passato nella funzione, ma un collegamento ad esso. E poi - all'interno della funzione - state già lavorando con il riferimento, il che significa che non dovete specificarlo di nuovo.
La tilde (~) è scritta prima del nome del distruttore della classe - il costruttore e il distruttore hanno lo stesso nome della classe stessa, ma il distruttore ha ~.
Leggete questo articolo su quando usare i riferimenti e quando usare i puntatori.
Anche se è comunque necessario leggere le basi.
Salve di nuovo, potreste dirmi se conosco l'indice di un elemento dell'array e quale funzione si usa per scoprire il suo valore?
int Totall=OrdersTotal();
double Price; // Prezzo dell'ordine selezionato
double Mas[]; //array per mettere in ordine tutti gli ordini
for(int i=0; i<OrdersTotal(); i++) //ordinare il ciclo
{
if(OrderSelect(i,SELECT_BY_POS)) // if(OrderSelect(i,SELECT_BY_POS))
{Price=OrderOpenPrice(); //riempire l'array con i prezzi
Mas[i] = Prezzo;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // Ora i prezzi di apertura sono ordinati in ordine decrescente
int Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND) // Viene determinato l'indice dell'elemento più vicino in valore al prezzo corrente
Valore_elemento_array = Array[indice];
Per favore consigliatemi, ho un EA e l'ho testato al lavoro su un computer normale, windows hp. Tutto funziona bene e così via.
Torno a casa, a casa computer portatili macbook, e assolutamente con gli stessi parametri sullo stesso strumento con lo stesso timeframe mostra un risultato completamente diverso nel tester, qualche suggerimento o idee perché così?
Array_element_value = Array[index];
Grazie, ora c'è un nuovo problema. Quando si scrive la seguente condizione si verifica un errore 'PriceBlizko1' - identificatore non dichiarato. Per favore, spiega perché?
doppio prezzo; // Prezzo per l'ordine selezionato
doppio Mas[]; //array per organizzare tutti gli ordini
for(int i=0; i<OrdersTotal(); i++) // ciclo degli ordini
{
if(OrderSelect(i,SELECT_BY_POS)) // if(OrderSelect(i,SELECT_BY_POS))
{
Price=OrderOpenPrice(); /Riempire l'array con i prezzi
Mas[i] = Prezzo;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // Ora i prezzi di apertura sono ordinati in ordine decrescente
int Blizko1=ArrayBsearch(Mas,Bid,WHOLE_ARRAY,0,MODE_ASCEND); //L'indice dell'elemento di valore più vicino al prezzo corrente è determinato
doppio PriceBlizko1=Mas[Blizko1];
}
if (PriceBlizko1-Bid>=30*Point) //se l'ordine inferiore è oltre i 30 punti !!!!!! IN QUESTO STREET!!!!!
OrderSend(Symbol(),OP_SELL,LtsS,Bid,2,0,Bid+30*Point); //Open Sell order
Avviso (GetLastError()); /Messaggio di errore.
Usa il pulsante per inserire il codice!