Domande da un "manichino" - pagina 20

 

Saluti a tutti.

Domanda - Voglio usare i metodi della classe CTrade nel mio EA. Quali comandi dovrei aggiungere al codice per questo?

Ho provato molto con #include, #import... Non esce ancora niente :(

Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 
axmed0207:

Saluti a tutti.

Domanda - Voglio usare i metodi della classe CTrade nel mio EA. Quali comandi dovrei aggiungere al codice per questo?

Ho provato molto con #include, #import... Niente funziona finora :(


L'esempio di Expert Advisor MACD ti aiuta.

Collegare il modulo nel modo seguente

#include <Trade\Trade.mqh>

Dichiarare una variabile in uno dei due modi (a seconda dell'algoritmo e della necessità di certe caratteristiche di implementazione)

Questo può essere fatto come un oggetto indipendente o come parte della classe principale.

1. CTrade m_trade;  // trading object (автоматически создается и удаляется)
2. CTrade *m_trade; // trading object (указатель на динамический объект, требуется инициализация и деинициализация. В противном случая будут проблемы)

Un esempio di chiusura di una posizione (in dettaglio nel codice).

m_trade.PositionClose(Symbol())

Esempio di modifica di una posizione (vedi dettagli nel codice).

m_trade.PositionModify(Symbol(),sl,tp)

PS

Potete anche studiare il ripieno CExpert in dettaglio.

 
Grazie mille per la risposta esauriente :)
 
2011.07.15 13:30:35 2011.07.08 00:00:01 Lo sleep loop infinito rilevato durante il test.
Cosa significa?
 
dentraf:
2011.07.15 13:30:35 2011.07.08 00:00:01 Lo sleep loop infinito rilevato durante il test.
Cosa significa?

Teoricamente, questo è un motivo per squalificare un partecipante al campionato (almeno, problemi durante il test automatico dell'EA), ma in realtà, è un lavoro scorretto con sleep().

Consiglio di studiare questo articolo (e forse altri) più in dettaglio.

Per quanto riguarda la tua domanda, ecco la citazione dell'articolo:

Funzione Sleep() nel tester

La funzione Sleep() permette di sospendere l'esecuzione di un programma mql5 per un certo tempo durante il lavoro su un grafico in un Expert Advisor o in uno script. Questo può essere necessario quando si richiedono alcuni dati, che al momento della richiesta non sono pronti e bisogna aspettare che siano pronti. Un esempio dettagliato dell'uso della funzione Sleep() può essere trovato nella sezione Organizzazione dell'accesso ai dati.

Nel tester, le chiamate di Sleep() non ritardano il processo di test. Quando Sleep() viene chiamato, i tick generati vengono "suonati" entro il ritardo specificato, di conseguenza gli ordini pendenti, gli stop possono scattare, ecc. Dopo che Sleep() è stato chiamato, il tempo simulato nel tester è aumentato dell'intervallo specificato nel parametro della funzione Sleep.

Se, come risultato dell'esecuzione di Sleep() il tempo corrente nel tester supera la fine del periodo di test, si riceverà un errore "loop infinito in Sleep". Se si verifica un tale errore, i risultati dei test non vengono scartati, tutti i calcoli vengono completati (numero di trade, drawdown, ecc.) e i risultati vengono passati al terminale.

La funzione Sleep() non funziona in OnDeinit() perché dopo la sua chiamata il tempo del tester è garantito oltre l'intervallo di test.

 

Compagni!

Aggiungerò un'analisi della storia all'Expert Advisor. Potete dirmi come organizzare l'output dei dati?

Diciamo, la barra più lunga in un anno di storia. Come ottenere il valore è chiaro, ma dove emettere? Sarebbe più conveniente emetterlo direttamente sul grafico. O usando la funzione di stampa nel diario, ma non so come funzionerebbe? Ristamperà continuamente i valori? Avrei bisogno di impostare qualche condizione complicata per la stampa? Quale sarebbe la tua raccomandazione generale?

Документация по MQL5: Общие функции / Print
Документация по MQL5: Общие функции / Print
  • www.mql5.com
Общие функции / Print - Документация по MQL5
 
AUser:

Compagni!

Aggiungerò un'analisi della storia all'Expert Advisor. Potete dirmi come organizzare l'output dei dati?

Diciamo, la barra più lunga in un anno di storia. Come ottenere il valore è chiaro, ma dove emettere? Sarebbe più conveniente emetterlo direttamente sul grafico. O usando la funzione di stampa nel diario, ma non so come funzionerebbe? Ristamperà continuamente i valori? Avrei bisogno di impostare qualche condizione complicata per la stampa? Quale sarebbe la tua raccomandazione generale?


Provate a usare la funzione Comment(). Mette il testo nell'angolo superiore sinistro del grafico.

Lì potete anche usare il simbolo "\n" per passare alla linea successiva. Sfortunatamente, "t" non funziona.

 
voix_kas:

Provate a usare la funzione Comment(). Mette il testo nell'angolo in alto a sinistra del grafico.

Puoi anche usare "\n" per passare alla riga successiva. Sfortunatamente, "\t" non funziona.

Questo è tutto, grazie)
 

Potete dirmi quanti dati possono essere stipati in un array? Array della struttura MqlRates, ho intenzione di mettere tutta la storia delle barre orarie dal 2009, andrà bene?

p.s. Un'altra cosa con lo strategy tester, non funziona nei fine settimana perché il server non è disponibile o qualcosa è andato storto? Sembrava funzionare correttamente venerdì))

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных - Документация по MQL5
 

1. Il tutto sembra essere. Se c'è un limite, è al livello di soglia int o long. Non c'è molta RAM nel computer. =)

2. descrivere il problema del mancato funzionamento del tester in modo più preciso. Codici di errore, screenshot...

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений - Документация по MQL5