[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 485
Allo SL, l'EA dovrebbe aprire un ordine dello stesso tipo e al TP del tipo opposto! Ma per qualche motivo l'EA apre spesso un ordine del tipo sbagliato!
Kogalym писал(а)>> Allo SL l'EA dovrebbe aprire un ordine dello stesso tipo e al TP del tipo opposto! Ma per qualche motivo l'EA apre spesso l'ordine del tipo sbagliato!
Chi sa se questo indicatore è adatto ad un EA, ho trovato una strategia dove è applicato dall'autore, può essere scritto nell'EA e come farlo, per esempio, puoi mostrarmi un esempio. Ho scoperto che l'istogramma è verde e se la linea è sotto l'istogramma, dà un segnale di acquisto. Lo stesso per la vendita.
и не понятно, что именно вы хотите получить в массивах MAX и MIN
Lasciatemi spiegare di nuovo :)
C'è un array che contiene tutti i valori delle colonne MACD.
Dobbiamo prendere una dozzina di tutti quei valori (in ordine) e cercare il valore massimo in essi, e disegnarlo nell'indicatore, e così via fino alla fine.
Ecco di nuovo il codice:
for(i=0; i<50; i=i+10) //общий цикл для всех значений МАКД, шаг 10
{
int k = i;
for(k=i; k<i+10; k++) // цикл внутри десятки значений, шаг 1
{
x10[k] = MACD[k];// массив десяток
}
int IndexMAX = ArrayMaximum(x10); // найден индекс максимального значения внутри десятки int IndexMIN = ArrayMinimum(x10); // --//--
MAX[k] = MACD[IndexMAX]; // Рисуем найденное максимальное значение внутри десятки на k баре
MIN[k] = MACD[IndexMIN];
}
Per come la vedo io, non viene disegnato perché l'indice dell'array con le decine non coincide con l'indice di questo valore nell'array principale con i valori MAKD.
In altre parole, quando il contatore raggiunge, diciamo, 30 nel ciclo principale, poi nel sottociclo andrà 30-31-32...39 (supponiamo, il massimo di loro sarà il valore 34), la funzione Arraymaximum(x10) lo troverà, ma scriverà in IndexMAX esattamente il numero ordinale del SUO (x10) array, cioè in realtà il vero valore sarà 34, ma ne scriverà un altro (da 0 a 9, perché è un array di decine). Non riesco a capire cosa fare...
C'è un array che contiene tutti i valori delle colonne MACD.
Dobbiamo prendere da tutti quei valori una dozzina di valori (in ordine) e cercare il valore massimo in essi, e rispettivamente disegnarlo nell'indicatore, e così via fino alla fine.
Ecco di nuovo il codice:
Per come la vedo io, non viene disegnato perché l'indice dell'array con le decine non coincide con l'indice di questo valore nell'array principale con i valori MAKD.
In altre parole, quando il contatore raggiunge, diciamo, 30 nel ciclo principale, poi nel sottociclo andrà 30-31-32...39 (supponiamo, il massimo di loro sarà il valore 34), la funzione Arraymaximum(x10) lo troverà, ma scriverà in IndexMAX esattamente il numero ordinale del SUO (x10) array, cioè in realtà il vero valore sarà 34, ma ne scriverà un altro (da 0 a 9, perché è un array di decine). Non riesco a capire cosa fare...
for(i=0; i<limit; i+=10) //общий цикл для всех значений МАКД, шаг 10
{
int k;
for(k=0; k<10; k++) // цикл внутри десятки значений, шаг 1
{
x10[k] = MACD[i+k];// массив десяток
}
int IndexMAX = ArrayMaximum(x10); // найден индекс максимального значения внутри десятки int IndexMIN = ArrayMinimum(x10); // --//--
MAX[k] = x10[IndexMAX]; // Рисуем найденное максимальное значение внутри десятки на k баре
MIN[k] = x10[IndexMIN];
}
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Ma per qualche motivo l'EA apre spesso un ordine del tipo sbagliato!
Per favore, ditemi dove c'è un errore!
Allo SL l'EA dovrebbe aprire un ordine dello stesso tipo e al TP del tipo opposto!
Ma per qualche motivo l'EA apre spesso l'ordine del tipo sbagliato!
Puoi dirmi dov'è l'errore?
и не понятно, что именно вы хотите получить в массивах MAX и MINкакова размерность массива x10 ?
10?
Тогда надо так переписать:
Lasciatemi spiegare di nuovo :)
C'è un array che contiene tutti i valori delle colonne MACD.
Dobbiamo prendere una dozzina di tutti quei valori (in ordine) e cercare il valore massimo in essi, e disegnarlo nell'indicatore, e così via fino alla fine.
Ecco di nuovo il codice:
Per come la vedo io, non viene disegnato perché l'indice dell'array con le decine non coincide con l'indice di questo valore nell'array principale con i valori MAKD.
In altre parole, quando il contatore raggiunge, diciamo, 30 nel ciclo principale, poi nel sottociclo andrà 30-31-32...39 (supponiamo, il massimo di loro sarà il valore 34), la funzione Arraymaximum(x10) lo troverà, ma scriverà in IndexMAX esattamente il numero ordinale del SUO (x10) array, cioè in realtà il vero valore sarà 34, ma ne scriverà un altro (da 0 a 9, perché è un array di decine). Non riesco a capire cosa fare...
Lasciatemi spiegare di nuovo :)
C'è un array che contiene tutti i valori delle colonne MACD.
Dobbiamo prendere da tutti quei valori una dozzina di valori (in ordine) e cercare il valore massimo in essi, e rispettivamente disegnarlo nell'indicatore, e così via fino alla fine.
Ecco di nuovo il codice:
Per come la vedo io, non viene disegnato perché l'indice dell'array con le decine non coincide con l'indice di questo valore nell'array principale con i valori MAKD.
In altre parole, quando il contatore raggiunge, diciamo, 30 nel ciclo principale, poi nel sottociclo andrà 30-31-32...39 (supponiamo, il massimo di loro sarà il valore 34), la funzione Arraymaximum(x10) lo troverà, ma scriverà in IndexMAX esattamente il numero ordinale del SUO (x10) array, cioè in realtà il vero valore sarà 34, ma ne scriverà un altro (da 0 a 9, perché è un array di decine). Non riesco a capire cosa fare...
Mostra tutto il codice dell'indicatore
Весь код индикатора покажиLasciatemi spiegare di nuovo :)
Credo che tu volessi scrivere così:
Qual è il suo obiettivo?
Beh, cosa vuoi ottenere. Suddividerlo in decine è inutile. Si spostano continuamente nel tempo.
мне кажется, Вы хотели написать вот так:
Non disegna :(((.
s.w. k=0 l'ho finito :)
А какую цель преследуешь?
Ну, что хочешь получить. Разбивать на десятки бесмысленно. Они все время передвигаются во времени.
Sì, l'obiettivo è letterale... voglio che il massimo sia visualizzato tra ogni 10 barre...