Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1154

 
SEM:

Cercare di normalizzare il TakeProfit per la vendita

Anche SYMBOL_DIGITS è una costante. NON restituisce"il numero di cifre decimali in un simbolo di citazione". Dice a SymbolInfoInteger() quale valore della proprietà del carattere intero restituire.
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как...
 
Artyom Trishkin:
Anche SYMBOL_DIGITS è una costante. NON restituisce il valore "numero di cifre decimali in una citazione simbolica". Dice a SymbolInfoInteger() quale valore della proprietà del carattere intero restituire.

OK, allora come si fa a normalizzare il TP per la vendita?

  Print(NormalizeDouble(SymbolInfoDouble(Symbol(),SYMBOL_POINT),(int)SymbolInfoInteger(Symbol(),SYMBOL_DIGITS)));

restituisce anche un valore non chiaro = (EURUSD,M15) 1e-05

 
SEM:

Ok, allora come normalizzare il TP per Vendere?

restituisce anche poco chiaro = (EURUSD,M15) 1e-05

1e-05 è uno alla meno quinta potenza, cioè 0,00001. Cosa ti hanno insegnato al liceo?

 
SEM:

Ok, allora come normalizzare il TP per Vendere?

restituisce anche un incomprensibile = (EURUSD,M15) 1e-05

L'avete normalizzato per il robot.

È necessario utilizzareDoubleToString per l'output nelle stampe

 Print(DoubleToString(SymbolInfoDouble(Symbol(),SYMBOL_POINT),(int)SymbolInfoInteger(Symbol(),SYMBOL_DIGITS)));
 
Vitaly Muzichenko:

Per il robot, avete normalizzato.

È necessario utilizzareDoubleToString per l'output nelle stampe

Grazie per il vostro aiuto! Linea di fondo:

double _SYMBOL_POINT_ = SymbolInfoDouble(Symbol(),SYMBOL_POINT);
int _SYMBOL_DIGITS_   = (int)SymbolInfoInteger(Symbol(),SYMBOL_DIGITS);


{
  double _PriceCurrent_TakeProfit =NormalizeDouble(m_position.PriceOpen()-(TakeProfit*_SYMBOL_POINT_),_SYMBOL_DIGITS_) ;
  double _PriceCurrent=NormalizeDouble(m_position.PriceCurrent()-(TakeProfit*_SYMBOL_POINT_),_SYMBOL_DIGITS_);
}
 
Franklins100:

Questa è un'idea, ma i test incrociati non produrranno risultati accurati, secondo me. I test, sempre secondo la mia inesperta opinione, dovrebbero essere fatti in una versione finale e completa. E qui la domanda è: come e con quali parametri informatici è possibile accelerare il più possibile i test, senza ricorrere all'uso di potenza di terzi. GPU o CPU?

I test incrociati sono accurati quanto i test diretti. Se si comprendono tutte le variabili, si specifica un passo accettabile per le variabili quando le si divide in gruppi. Poi, a seconda dell'immagine 3D, è possibile selezionare uno o più gruppi di valori per ogni gruppo di variabili come risultato dei test. E infine si esegue un test completo con una gamma ristretta e un'alta discrezione dei parametri.

Eseguo un Expert Advisor come questo ogni sabato. Più di 300 variabili. Durante il giorno, eseguo test incrociati. Poi eseguo quello principale di notte. La domenica analizzo i risultati. Analizzo cosa è cambiato rispetto al set della settimana scorsa. E poi, a seconda della situazione, a volte faccio altri test. Sto eseguendo tutto su due computer.

Alla fine ci vogliono circa 30 ore di macchina. Se lo eseguissi direttamente penso che il computer si bloccherebbe :) per circa due settimane. Sai, devi fare quello che puoi per farlo funzionare.

La velocità dei test riguarda il processore centrale (per MT5 esattamente).

Mi ci è voluto molto tempo per eseguire i primissimi test. Ora lo sto eseguendo da una settimana. Penso che ogni EA abbia le sue sottigliezze. Ho semplicemente introdotto dei coefficienti e i parametri di base sono cambiati molto raramente. Si scopre che io aggiusto principalmente per la volatilità. Inoltre ho un modulo di notizie serio con una ripartizione individuale per tipi di notizie, invece delle semplici tre stelle :) In generale, penso che le "notizie" siano il punto più debole di tutti gli EA. Inoltre, ci sono i periodi di "cambio di contratto", "scadenza dell'opzione". Vale anche la pena lavorare con loro.

 
Franklins100:

Questa è un'idea, ma i test incrociati non produrranno risultati accurati, secondo me. I test, sempre secondo la mia inesperta opinione, dovrebbero essere fatti in una versione finale e completa. E qui la domanda è: come e con quali parametri informatici è possibile accelerare il più possibile i test, senza ricorrere all'uso di potenza di terzi. GPU o CPU?

C'è un argomento sui test:valutare i core della CPU per l'ottimizzazione

Оцениваем ядра CPU для оптимизации
Оцениваем ядра CPU для оптимизации
  • 2019.08.09
  • www.mql5.com
Предлагаю собрать статистику по производительности разных процессоров с целью оценки их эффективности для работы тестера стратегий в режиме оптимиз...
 
Vladimir Karputov:

C'è un argomento sui test:valutare i core della CPU per l'ottimizzazione

BenditO:

La convalida incrociata è accurata quanto i test diretti. Se si comprendono tutte le variabili, si specifica un passo accettabile per le variabili quando le si raggruppa. A seconda della vista 3D, è possibile selezionare uno o più gruppi di valori per ogni gruppo di variabili a seconda dei risultati. E infine si esegue un test completo con una gamma ristretta e un'alta discrezione dei parametri.

Eseguo un Expert Advisor come questo ogni sabato. Più di 300 variabili. Durante il giorno, eseguo test incrociati. Poi eseguo quello principale di notte. La domenica analizzo i risultati. Analizzo cosa è cambiato rispetto al set della settimana scorsa. E poi, a seconda della situazione, a volte faccio altri test. Sto eseguendo tutto su due computer.

Alla fine ci vogliono circa 30 ore di macchina. Se lo eseguissi direttamente penso che il computer si bloccherebbe :) per circa due settimane. Devi fare quello che puoi per farlo funzionare.

La velocità dei test riguarda il processore centrale (per MT5 esattamente).

Mi ci è voluto molto tempo per eseguire i primissimi test. Ora lo sto eseguendo da una settimana. Penso che ogni EA abbia le sue sottigliezze. Ho semplicemente introdotto dei coefficienti e i parametri di base sono cambiati molto raramente. Si scopre che io aggiusto principalmente per la volatilità. Inoltre ho un modulo di notizie serio con una ripartizione individuale per tipi di notizie, invece delle semplici tre stelle :) In generale, penso che le "notizie" siano il punto più debole di tutti gli EA. Inoltre, ci sono i periodi di "cambio di contratto", "scadenza dell'opzione". Ho anche loro da lavorare.

Grazie mille.

 

Buona giornata a tutti!

Sto cercando di imparare cose elementari in MQL5, ma improvvisamente ho incontrato un messaggio di avviso visualizzato nell'immagine allegata durante la compilazione del codice copiato da MQL5 Reference.

Mi chiedo se ci siano anche degli errori in MQL5 Reference. Per favore, potete dirmi cosa sistemare nel codice (sarebbe utile anche il MQL5Reference stesso) per evitare un tale avvertimento?

Sinceramente, Vladimir.




Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Документация по MQL5 - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
  • www.mql5.com
MetaQuotes Language 5 (MQL5) - язык программирования технических индикаторов, торговых роботов и вспомогательных приложений для автоматизации торговли на финансовых рынках. MQL5 является современным языком высокого уровня и разработан MetaQuotes Software Corp. для собственной торгово-информационной платформы. Синтаксис языка максимально близок...
 
MrBrooklin:

Buona giornata a tutti!

Sto cercando di imparare cose elementari in MQL5, ma improvvisamente ho incontrato un messaggio di avviso visualizzato nell'immagine allegata durante la compilazione del codice copiato da MQL5 Reference.

Mi chiedo se ci siano anche degli errori in MQL5 Reference. Per favore, potete dirmi cosa sistemare nel codice (o nel MQL5 Reference stesso) per evitare un tale avvertimento?

Sinceramente, Vladimir.

Sì, ci sono alcune imprecisioni nella Guida.