[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 711

 
miha-28:

Salve signori. Domanda, se c'è una funzione o qualcosa per determinare come le posizioni precedenti hanno chiuso con più o meno???? Se l'argomento è stato sollevato lasciate cadere il link. Grazie in anticipo....


https://www.mql5.com/ru/forum/107476/page21#79649

https://www.mql5.com/ru/forum/107476/page21#79908

 
C'è un array PeakUP[]. Ci scriviamo i valori degli estremi nel ciclo. Se nell'output dopo il ciclo, la dimensione dell'array ==1 (cioè se viene trovato un solo valore), facciamo un ulteriore ciclo per cercare i valori e aggiungiamo i valori aggiuntivi trovati allo stesso array. Faccio quanto segue:
BubleUP=TempIND[i-2];               // Возьмём значение "бугорка" - Это найденное дополнительное значение, которое нужно вписать в массив
                              
asize=ArraySize(PeakUP);           // Размер массива значений пичков... (именно он содержит только одно значение, а нужно минимум два)
ArrayResize(PeakUP, asize+1);       // ... увеличим его на 1
PeakUP[0]=BubleUP;                  // ... и впишем в него значение "бугорка"

Nell'output dopo tutte queste manipolazioni nella stampa vediamo:

PeakUP Size = 3 - significa che sono stati trovati due valori aggiuntivi e la dimensione dell'array dei picchi è aumentata a 3 - tutto è corretto qui, dopo:
PeakUP[0] = 49,9119 - questo è il valore trovato durante la ricerca di valori aggiuntivi. qui dovrebbe essere; dopo:
PeakUP[1] = 0 - questo dovrebbe essere il valore del primo estremo trovato (circa 82 penny)
PeakUP[2] = 0 - questo dovrebbe essere il valore di un singolo estremo trovato (circa 173 penny)

Domanda - dove ho perso due valori? E in generale - sto cercando di inserirli correttamente? Il codice che inizialmente riempie l'array PeakUP con i valori degli estremi funziona correttamente,
la seconda parte - aggiunta ripetuta di valori aggiuntivi all'array - non funziona.

Puoi dirmi cosa c'è che non va?

 
artmedia70:


Domanda - dove ho perso due valori? E in generale - sto cercando di inserirli correttamente? Il codice che inizialmente riempie l'array PeakUP con i valori estremi funziona correttamente,
la seconda parte - aggiunta ripetuta di valori aggiuntivi all'array - non funziona.

Potresti dirmi cosa c'è che non va?



Ecco, non c'è bisogno, grazie, ho risolto...
 
cyclik33:

Per favore, ditemi come fare. Ho provato a copiarlo come rapporto, ma dà in htm e non mostra il numero di trade perdenti di fila tutti uguali.

Non ho bisogno di copiare nulla. In deinit() è inserito il codice necessario che analizza i risultati e li salva nel file. A volte uso questo metodo quando ho bisogno di ottenere il mio criterio di ottimizzazione.
 
Non riesco a capirlo. Ho solo bisogno di visualizzare i calcoli mettendo dei punti sul grafico dell'indicatore AD nei luoghi dove si trovano gli estremi.
La funzione
bool ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0, double price3=0)
Sono perplesso... :(

È scritto nero su bianco che OBJ_ARROW usa solo una coordinata. QUALE? Dove prendo il valore datetime dall'indicatore? O devo memorizzarlo insieme all'extremum trovato? In breve - una montagna di domande e incomprensioni, e non ho trovato una risposta sul sito, tranne che per lavorare con altri tipi di elementi grafici...

Aiuto, indicare le dita per favore... :)

 
artmedia70:

È scritto nero su bianco che OBJ_ARROW usa solo una coordinata. QUALE? Dove ottengo il valore datetime dall'indicatore? O devo memorizzarlo insieme all'extremum trovato? Insomma - una montagna di domande e incomprensioni, non ho trovato una risposta sul sito, tranne che per lavorare con altri tipi di elementi grafici...

Aiuto, puntate il dito per favore... :)

Quando si trova un estremo, si trova in una certa barra e lo si incolla:

datetime time1=valore estremo, double price1=Time[numero di barra].

 
Roger:

Quando si trova un estremo, è ad una certa barra, quindi lo si inserisce:

datetime time1=valore estremo, double price1=Time[numero barra]

No, cerco gli estremi sul grafico dell'indicatore, in questo caso A/D
 
artmedia70:

È scritto nero su bianco che OBJ_ARROW usa solo una coordinata. QUALE?

Questa è un'imprecisione di Helpe. Naturalmente, non una coordinata, ma un punto (che ha due coordinate).
 
Mathemat:
Questa è un'imprecisione di Helpe. Naturalmente, non una coordinata, ma un punto (che ha due coordinate).

Grazie, Alexey, la metà è stata chiarita :) Ora voglio sapere come prendere e dove prendere queste coordinate per disegnarle sul grafico dell'indicatore. Il grafico dei prezzi è chiaro e comprensibile, ma l'indicatore è un casino...
 

Un grafico di un indicatore? È essenzialmente la stessa cosa. Gli estremi sono comunque solo sulle barre, non tra di esse.

L'induttore è una finestra separata (se lo si disegna separatamente, sotto la finestra del prezzo). Questa finestra ha le stesse coordinate - valore dell'indicatore e tempo.