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

 
TarasBY:

Ecco uno dei possibili modi per cercare N biglietti degli ultimi ordini chiusi, e si possono filtrare gli ordini per tipo (COMPRA, VENDI) e per redditività (in perdita, redditizio):

Dopo che la funzione fGet_TicketsLastCloseOrd() è chiamata e restituisce la quantità di biglietti trovati secondo i parametri specificati, potete (io lo farei) controllare con la quantità di biglietti specificata (fi_NUM) e il valore restituito dalla funzione. Tutti i biglietti raccolti saranno nell'array passato alla funzione per riferimento.

E in questa variante non è importante quanti di questi ultimi biglietti vengono cercati. :)

E se hai bisogno di profitto da questi ultimi ordini chiusi, allora è ancora più facile:


puoi insegnarmi come usarlo praticamente?

Diciamo che ho bisogno di ottenere il profitto totale di 12 ultime posizioni chiuse, dove devo inserire il numero 12 in questo codice?

Ho provato in questo modo

      Print (fGet_TicketLastClosePos(-2,0,iTime (NULL, PERIOD_D1, 0)),fGet_TicketsLastCloseOrd(12,0),fGet_ProfitLastCloseOrd(12,-2));

dice '0' - tipi incompatibili


 
hoz:

Perché iOpen() dovrebbe estrarre i dati dal server? La documentazione dice che restituisce un valore... Quindi è il ritorno, non il download.

Allora... cosa posso dire, come posso spiegare cosa sono le montagne a chi vive nella steppa...
 
hoz:

Zhunko:
Integer
:

In tutte queste discussioni e tentativi di scoprire la verità, per dirla delicatamente, sono estremamente confuso (nelle azioni dei cercatori) e indignato (nell'inazione degli sviluppatori) dal fatto che anche i programmatori esperti devono indovinare qualcosa, sperimentare, spendere tempo e sforzi su quello che per definizione dovrebbe essere materiale aperto, trasparente e di riferimento per gli sviluppatori. In modo che non ci siano domande come "forse...", "forse no..." in linea di principio. Come si organizza il lavoro con gli utenti in modo che anche dopo le discussioni giorno e notte la verità rimane ancora indefinita e inconoscibile! - Sono stupito dal basso livello di approccio al lavoro e dalla mancanza di rispetto per gli utenti.

Non ho nulla di positivo da dire a MetaQuotes a questo proposito.

Rispetto gli utenti che cercano di fare del loro meglio.

Ma non posso chiamare questo approccio professionale - ahimè. Né loro, né altri. Perché succede a loro e ad altri è un'altra questione. Ma è deprimente, francamente parlando.

Perché non c'è nessuna fonte che dia risposte chiare e inequivocabili a queste domande? Se ce n'è uno, dov'è, e perché ci sono ancora esperimenti piuttosto che dichiarazioni?
 
lottamer:


mi insegnerai come usarlo praticamente?

diciamo che ho bisogno di ottenere il profitto totale delle ultime 12 posizioni chiuse? dove inserisco il numero 12 in questo codice?

Ho provato in questo modo

dice '0' - tipi incompatibili


Per gli ultimi 12 ordini chiusi:
double ld_Profit = fGet_ProfitLastCloseOrd (12);
Print (ld_Profit);
 
Chiripaha:

In tutte queste discussioni e tentativi....

Questo è internet, ci sarà sempre gente che dimostrerà che il sole sorge a ovest e tramonta a est, che di notte c'è luce e d'inverno buio, che 2 x 2 = 5, ecc.

Qualunque sia l'argomento, troverete su internet un post con un'opinione completamente contraria alla verità e con un'accesa difesa della stessa.

 
TarasBY:
Per gli ultimi 12 ordini chiusi:

c'è qualcosa che non va. Mostra -0,28 invece di -3,68
 
Integer:

Questo è internet, ci sarà sempre gente che dimostrerà che il sole sorge a ovest e tramonta a est, che la notte è chiaro e l'inverno è buio, che 2 x 2 = 5, ecc.

Qualunque sia l'argomento, su internet si può trovare un post con un'opinione completamente contraria alla verità e con un'accesa difesa della stessa.

Gli argomenti e le discussioni, anche su internet, vanno bene. Purché non si tratti di fatti di fondo. E quando lo sviluppatore determina - "è così che è" - non c'è niente da discutere.

E tu, Dmitry, purtroppo, hai ragione sul fatto che ci sono queste persone. Ma questo è esattamente ciò che dice la mancanza di professionalità.

È uno sviluppatore che può indagare, sperimentare, fare esperimenti e scegliere le migliori varianti di implementazione. Un UTENTE è un professionista che deve usare abilmente ciò che altre persone hanno già creato e non cercarlo, altrimenti non è un utente ma uno sviluppatore, uno scienziato, un ricercatore (che sono cose molto diverse), e con l'aiuto di ciò che ha creato crea altre cose e compie altri compiti. Altrimenti rimarrete bloccati sul posto.

Il fatto che si debba fare una ricerca, e che finora nessuno nel corso delle vostre discussioni e argomentazioni abbia dato un link alla posizione ufficiale e alla fonte, indica che queste informazioni non esistono. Altrimenti le persone intelligenti non starebbero discutendo di cose ovvie.

 
lottamer:

c'è qualcosa che non va. Mostra -0.28 invece di -3.68
Se hai filtrato correttamente i tuoi ordini, cosa che ti ho suggerito di fare, e se includi commissioni e swap nei tuoi calcoli, allora tutto funziona correttamente.
 

Salve. Come posso superare le perdite di memoria quando chiamo un indicatore con dei parametri? Per esempio, chiamo ZigZag(25,5,35) nell'indicatore (o in Expert Advisor su ogni tick):

double ZigZag(int index){

   return(iCustom(NULL,0,"ZigZag",0,25,5,35,index));

} 

Il terminale è molto lento e si blocca. Succede quando si usa qualsiasi indicatore tramite iCustom con i parametri di input specificati.

Perde molta memoria. Come combatterlo?).

 
Come posso fare in modo che il programma dia il livello EMA come prezzo? Supponiamo che EMA1 con periodo (1), EMA2 con periodo (0), EMA1 sia uguale a 1,3321, mentre EMA2 per il periodo corrente è 1,3200. Il risultato dell'espressione (da EMA1 a EMA2) deve essere 0,0121. Quando si esegue lo script, l'avviso mostra zero, mentre abbiamo bisogno di "0.0121". Come risolvere questo problema?