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

 

Buona giornata!

La mia domanda è molto semplice: quando si accede al buffer degli indicatori come array (in modo che il primo elemento abbia indice 0), ArraySetAsSeries deve essere chiamatoad ogni iterazione - o è sufficiente una chiamata di questa funzione, per esempio, in init()?

 
betmen >> :

Sto usando il seguente codice per questo:


bool Fun_New_bar()
/*
è progettato per rilevare se c'è una nuova barra,
altrimenti restituisce "false".
===========
Variabili:
===========
Test_Time - Tempo di prova
*/
{
static datetime Test_Time=0;
if(Test_Time!=Time[0])
{
Test_Time=Time[0];
return(true);
}
return(false);
}


Per la mia domanda si prega di aiutare chi lo sa o dirmi se non è possibile... Sto cercando una risposta da 3 giorni e finora nessuna fortuna. :-(




Grazie mille. Mi ha aiutato.
 
betmen >> :

Tu proponi di avviare un exe compilato da un altro IDE durante l'inizializzazione, in alternativa, è davvero possibile eseguire un file exe durante l'inizializzazione, ma poi c'è un altro problema - come passare i dati del programma nelle variabili dell'indicatore stesso?

cioè come trasferire il valore di combobox1.text convertito in un numero in MA_Method?

Non è esteticamente piacevole via file, e MetaTrader e "test.exe" creato da me non hanno spazio di memoria comune.

No. Non lo suggerirei :-). Questo è abbastanza complicato. Stavo parlando di Dll, l'ho descritto più o meno dettagliatamente.

Le stringhe vengono passate. Ti sto solo dando un avvertimento. I numeri passano senza alcun problema.

In metatrader si importa così: get(int & to[]), in C si spiega con get(int * to). Trova un esempio.

 
xp3rienced >> :

Buona giornata!

La mia domanda è molto semplice: quando si accede al buffer degli indicatori come array (in modo che il primo elemento abbia l'indice 0), ArraySetAsSeries deve essere chiamatoad ogni iterazione - o è sufficiente una chiamata di questa funzione, per esempio, in init()?

Basta mettere i dati lì dentro. Se è già un buffer indicatore (SetIndexBuffer) - non è necessario fare nulla.

Perché è sorta la domanda? :-)

 
jartmailru >> :

Basta inserire i dati lì. Se è già un buffer indicatore (SetIndexBuffer)- non c'è bisogno di fare nulla.

Perché è sorta la domanda? :-)


Lo faccio e basta. Sì, l'array è un buffer indicatore. E ho bisogno che sia trattato come un array, quando il primo elemento ha un indice zero. O stai dicendo (con "non fare nulla") che questo indirizzamento, per i buffer degli indici, è il default?

La domanda è sorta perché ho bisogno di riempire il buffer da "passato" a "futuro", e non so se la modalità di indirizzamento dell'array viene resettata, e se lo è, in quali circostanze. Questo è tutto)

 
xp3rienced >> :

O stai dicendo (con "non fare nulla") che questo indirizzamento, per i buffer degli indici, è il default? o_O

Sì, andrai bene.

 
jartmailru >> :

>> Sì. Andrà tutto bene.


>> Grazie mille!
 
jartmailru >> :

No. Non sto suggerendo :-). È abbastanza complicato. Stavo parlando di Dll, l'ho scritto più o meno in dettaglio.

Vengono passate delle stringhe. Ti sto solo dando un avvertimento. I numeri sono passati senza problemi.

Metatrader li importa in questo modo: get(int & to[]), mentre C spiega get(int * to). Trova un esempio.

Grazie, continueremo a scavare...

 
C'è anche una domanda. L'indicatore può avere più barre che nel grafico corrente, e in questa situazione: ci sono nuovi valori nell'array degli indici, ma le barre non appaiono nell'indicatore. Come risolvere il problema? Senza ricalcolo completo e ridimensionamento dell'array di indici, preferibilmente :)
 
Colleghi, cosa può significare l'errore 130 quando si cerca di impostare un ritardo? Devo controllare la distanza minima prima di posizionare il pendolo! Capisco che non siete tutti sensitivi, supponiamo che io mantenga la distanza minima al 100%, in questo caso cos'altro potrebbe essere la causa dell'errore 130?