Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1300

 
Vladimir Karputov:
 m_trade.SetExpertMagicNumber(InpMagic);

Sì, l'ho fatto, è venuto fuori che ho fatto un errore logico che ha causato la mancata chiamata del metodo. Grazie per la risposta.


Un'altra domanda: come chiamare un altro metodo della stessa classe all'interno di un metodo di classe (nel file .mqh)?

Il costrutto non funziona:

void CTradeMT45::CloseAll(int OrderType) {

CloseOrder(ticket);

}

void CTradeMT45::CloseOrder(ulong ticket){

}
 
Ildar Yusupov:

Sì, l'ho fatto, è venuto fuori che ho fatto un errore logico che ha causato la mancata chiamata del metodo. Grazie per la risposta.


Un'altra domanda: come chiamare un altro metodo della stessa classe all'interno di un metodo di classe (nel file .mqh)?

Il costrutto non funziona:

Ecco un consiglio: dimenticate la parola "ordine" (solo "ordine pendente" è permesso) e avrete immediatamente tutta la logica al suo posto.

 
Vladimir Karputov:

Un consiglio: dimenticate la parola "ordine" (si può usare solo "ordine pendente") e tutta la logica andrà subito a posto.

Invece di "Order", sarebbe più corretto usare la parola "Order" in mt5. Anche se sono simili nella loro essenza.

 
Valeriy Yastremskiy:

Invece di Ordine, la parola corretta da usare in mt5 è Ordine. Anche se sono parole simili.

C'è anche un ordine di mercato in MetaTrader 5. Non si può semplicemente rinunciare a qualcosa, che è parte integrante del sistema di ordini della piattaforma di trading, per motivi "religiosi".

Ci sono ordini in MT5. E sono visualizzati nella storia. E portano anche informazioni che una persona esperta userà a proprio vantaggio.

Bisogna solo sapere meglio come funzionano le cose, e non prendere per buono il nome di quello che si chiama esattamente un ordine. È un ordine commerciale. È l'origine del resto della catena di metamorfosi che porta a una posizione. Un ordine in sospeso è un'entità diversa. Può essere anche classificato come un ordine, per così dire, un ordine condizionato.

Quando l'ordine viene eseguito, appare un ordine di mercato che si trasforma in un'operazione che genera una posizione o la cambia. Se la memoria non mi inganna - è passato molto tempo da quando ho guardato tutta la storia con la catena di eventi dall'ordine alla chiusura di una posizione. Ma quando me ne occupavo a fondo, se la memoria non mi inganna, è esattamente così che va: ordine -- ordine a mercato -- affare -- apertura/cambio/chiusura posizione.

E, sì - queste non sono parole strettamente correlate, ma una traduzione dall'inglese al russo. Ordine == Ordine

 
Artyom Trishkin:

MetaTrader 5 ha anche un ordine di mercato. Non si può rinunciare a qualcosa che è parte integrante del sistema di ordini della piattaforma di trading per motivi "religiosi".

Ci sono ordini in MT5. E sono visualizzati nella storia. E portano anche informazioni che una persona esperta userà a proprio vantaggio.

Bisogna solo sapere meglio come funzionano le cose, e non prendere per buono il nome di quello che si chiama esattamente un ordine. È un ordine commerciale. È l'origine del resto della catena di metamorfosi che porta a una posizione. Un ordine in sospeso è un'entità diversa. Può essere anche classificato come un ordine, per così dire, un ordine condizionato.

Quando l'ordine viene eseguito, appare un ordine di mercato che si trasforma in un'operazione che genera una posizione o la cambia. Se la memoria non mi inganna - è passato molto tempo da quando ho guardato tutta la storia con la catena di eventi dall'ordine alla chiusura di una posizione. Ma quando me ne occupavo a fondo, se la memoria non mi inganna, è esattamente così che va: ordine -- ordine a mercato -- affare -- apertura/cambio/chiusura posizione.

E, sì - queste non sono parole strettamente correlate, ma una traduzione dall'inglese al russo. Ordine == Ordine.

A quanto pare, non sto parlando inglese. Non sto assolutamente chiedendo una sostituzione di concetti. Solo per una corretta comprensione sostituisci le parole. E di usare la sostituzione quando lo si spiega. E per utilizzare i concetti esistenti.

Nel commercio è usato come traduzione. E in russo un mandato è un ordine da eseguire in produzione. Un ordine di produzione è di solito un ordine di produzione.

 
Valeriy Yastremskiy:

A quanto pare non sono molto articolato. Non sto assolutamente chiedendo una sostituzione di concetti. Solo per sostituire le parole per una corretta comprensione. E di usare delle sostituzioni quando le si spiega. E per utilizzare i concetti esistenti.

Nel commercio è usato come traduzione. E in russo un mandato è un ordine da eseguire in produzione. Un ordine di produzione è di solito.

Un ordine da eseguire in produzione si chiama naryad. In alcuni luoghi si chiamava ordine-ordine, ordine-assegnazione...

C'è sempre stata solo una lettera di vettura per il rilascio dei prodotti. E un mandato è stato emesso di solito per un arresto... o una perquisizione... Quale si dovrebbe scrivere )))))))))

Non è poi così male... C'era anche un mandato per un posto dove vivere. Ne ho avuti due...

 

Non riesco a capire che tipo di assurdità sta dando l'indicatore. Voglio controllare su quali delle prossime 10 candele hanno picchi a zig zag, sulle stesse candele voglio evidenziare solo i massimi e anche solo i minimi. So che in 0 buffer tutti i picchi locali, in 1 - hai, in 2 - bassi.

Qual è il problema qui? Non lo capisco. Ho controllato le impostazioni dell'indicatore sul grafico e quelle che passo alla chiamata - sono le stesse. Stampo solo il buffer principale zero per controllare il funzionamento.

input int ExtDepth = 40;
input int ExtDeviation = 5;
input int ExtBackstep = 3;

double zz = 0;
double zi_0[];
double zi_1[];
double zi_2[];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   ArraySetAsSeries(zi_0,  true);
   ArraySetAsSeries(zi_1,  true);
   ArraySetAsSeries(zi_2,  true);
   zz = iCustom(_Symbol,PERIOD_CURRENT,"Examples\\ZigZag",ExtDeviation,ExtDeviation,ExtBackstep);
   
   CopyBuffer(zz,0,0,10,zi_0);
   CopyBuffer(zz,1,0,10,zi_1);
   CopyBuffer(zz,2,0,10,zi_2);
   
  
  for(int i = 0; i < 10; i++)
     {
       Print(i,"  ",zi_0[i]);
     }
   
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {

   
  }
//+------------------------------------------------------------------+


 
Nikita Chernyshov:

Non riesco a capire che tipo di assurdità sta dando l'indicatore. Voglio controllare su quali delle prossime 10 candele hanno picchi a zig zag, sulle stesse candele voglio evidenziare solo i massimi e anche solo i minimi. So che in 0 buffer tutti i picchi locali, in 1 - hai, in 2 - bassi.

Qual è il problema qui? Non lo capisco. Ho controllato le impostazioni dell'indicatore sul grafico e quelle che passo alla chiamata - sono le stesse. Stampo solo il buffer principale zero per controllare se funziona.


Nel buffer "0" picchi = valori di picco, o "0". "0" sono le barre che non sono picchi.

 

Buon pomeriggio.

La domanda è questa. Quando lavoro nello Strategy Tester, l'Expert Advisor salva le informazioni necessarie sulle posizioni in un file. Il file viene salvato nella cartella
"<terminal_folder>\Tester\<testing_agent_name>\MQL5\Files\........".

Più tardi voglio usare lo stesso file di dati solo sul grafico (NON nel tester). Il terminale permette di lavorare con i file della cartella

"<terminal_folder>\MQL5\Files\.....".

E' possibile per il codice MQL5 trascinare i file caricati dall'Expert Advisor nella cartella "<Cartella_terminale>\Tester\<Nome_agente_di_prova> \MQL5\Files\ "? O queste aree sono strettamente separate tra lo Strategy Tester e il solito lavoro?

Non sono stato in grado di scrivere tutto dallo Strategy Tester a "<Cartella_terminale>\MQL5\Files\" o di copiarlo usando il metodoFileMove.

 
satorifx:

Buon pomeriggio.

La domanda è questa. Quando lavoro nello Strategy Tester, l'Expert Advisor salva le informazioni necessarie sulle posizioni in un file. Il file viene salvato nella cartella
"<terminal_folder>\Tester\<testing_agent_name>\MQL5\Files\........".

Più tardi voglio usare lo stesso file di dati solo sul grafico (NON nel tester). Il terminale permette di lavorare con i file della cartella

"<terminal_folder>\MQL5\Files\.....".

E' possibile per il codice MQL5 trascinare i file caricati dall'Expert Advisor nella cartella "<Cartella_terminale>\Tester\<Nome_agente_di_prova> \MQL5\Files\ "? O queste aree sono strettamente separate tra lo Strategy Tester e il solito lavoro?

Non sono stato in grado di scrivere tutto dallo Strategy Tester a "<Cartella_terminale>\MQL5\Files\" o di copiarlo usando il metodoFileMove.

Scrivere nella cartella Shared per tutti i terminali( flagFILE_COMMON)