Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1209

 
Oleg:

Colleghi, per favore consigliate perché il suono smette di suonare quando il volume desiderato della candela.

Il file audio è nella cartella SOUNDS, quando imposto l'avviso il file viene riprodotto normalmente, ma non c'è alcun suono nell'indicatore.

Oppure, hai bisogno di una cartella speciale con suoni per gli indicatori?


/---- Il ciclo principale del calcolo dell'indicatore

for(bar=limit; bar>=0 && !IsStopped(); bar--)
{
Range=(high[bar]-low[bar])/_Point;
IndBuffer[bar]=Range;

if(Range<5)
{
if (prev_calculated > 0 && Flag==0)
{
Flag=1;
}
}
if(Range>=Threshold){
clr=0;
if (prev_calculated > 0 && Flag==1 )
{
Flag=0;

PlaySound("zummer");


}
}

for(bar=limit; bar>=0 && !IsStopped(); bar--)
{
  Range=(high[bar]-low[bar])/_Point;
  IndBuffer[bar]=Range;

  if(Range<5)
  {
    if (prev_calculated > 0 && Flag==0)
    {
      Flag=1;
    }
  }

  if(Range>=Threshold) {
    clr=0;
    if (prev_calculated > 0 && Flag==1 )
    {
      Flag=0;
      ResetLastError();
      PlaySound("zummer");
      Print(__FUNCTION__, " Error #", GetLastError());
    }
  }
}



E postare qui l'errore che dà.

 
Иван:
Salve. Domanda: come fa il tester a calcolare i risultati delle posizioni chiuse in MT4 quando si lavora con i cross (coppie senza $) nel tester, se il conto dove si fa il test è un conto in dollari? Per il ricalcolo dei totali di posizione in dollari, il tester prende il tasso di cambio della valuta base del cross verso il dollaro al momento attuale o al momento dell'intervallo testato? Ho il forte sospetto che lo sia al momento attuale. Se è così, non è possibile farlo contare al momento dell'intervallo?

Taras Slobodyanik:

Leggere il MODE_TICKVALUE per ogni tick stesso.

Beh, diciamo che conta. Ma come si può "chiedere" al tester di visualizzare nella tabella dei risultati il valore che ho calcolato, piuttosto che il suo calcolo curvo?
 
Mihail Matkovskij:

Guardate attentamente l'esempiohttps://www.mql5.com/ru/forum/160683/page1208#comment_17279150 . Non ci trovi niente...?

Questa è la funzione:

Dovresti stare un po' più attento!

Forse non ci siamo capiti, o forse non ho formulato esattamente la mia domanda, ma .... ho guardato attentamente la lista di tutte le funzioni nel MQL4 Reference e nel MQL5 Reference

Non ho trovato la funzione

searshValue(double & array2D[2][], const int _len, const int _index, const double _value)

Non ne ho trovato nessuno. Ho guardato l'esempio sul tuo link. Ho visto il codice con funzione sconosciuta. Ma non ho trovato la risposta alla mia domanda - da quale lingua proviene questa funzione. Se fosse in MQL4 eMQL5, penso che sarebbe nella lista delle funzioni nelle loro directory.

E poi ho pensato che fosse una funzione personalizzata. Ma l'articolo di Kovalev dice che i calcoli della funzione personalizzata sono eseguiti al di fuori dei limiti inferiori di start()
. E ho anche letto che quando si scrive codice in MT si possono usare funzioni di altri linguaggi, non solo MQL4 e MQL5 .

Le variabili con identificatori CONST sono elencate come parametri di questa funzione. Non li ho mai incontrati inMQL4 e mi ha anche confuso.
So che le vostre capacità di programmazione sono di molti ordini di grandezza diverse dalle mie. Sono solo all'inizio della comprensione. Vi chiedo di non giudicarmi severamente e di essere indulgente con me se sarò ottuso e farò domande stupide. Vi sarei grato se poteste mandarmi qualche link alle informazioni di cui ho bisogno, o dirmi dove leggere.

Un'altra cosa.... Ho creato un nuovo EA, copiato il primo codice che mi hai mandato, compilato il codice senza errori. Non ho fatto alcun cambiamento in esso ... Sono rimasto molto sorpreso che la funzione Print() mancasse nel libro mastro dopo aver eseguito l'EA nel tester. Anche se è stato eseguito molte volte nel nostro EA.
Grazie ancora per il supporto informativo e le preziose informazioni.

 
ANDREY:

Forse non ci siamo capiti, o forse non ho formulato la domanda con precisione, ma.... ho guardato attentamente la lista di tutte le funzioni nel Manuale.. .

Andrey, non pensare che ti stia giudicando duramente. Se non capite da dove viene una funzione, cliccate con il tasto destro del mouse e selezionate "Sposta nella definizione Alt+G". E non essere imbarazzato se non sai qualcosa. È normale.

Come imparare a programmare. Per fare questo, bisogna rispondere alla domanda: a cosa serve? Se è per creare robot di trading e programmi di analisi tecnica, ci sono solo esempi rilevanti, lezioni e articoli in MQL. Forse anche dei libri. Tuttavia, quando hofatto conoscenza con MQL, l'ho imparato abbastanza bene, quindi non ho letto nessun libro, solo la documentazione. Vi consiglio di capire prima di tutto cos'è il programma. Per farlo, si parte dallo studio del modello di eventi MQL: https://docs.mql4.com/ru/basis/function/events . Questo è un modello di base. Se la padroneggiate, potete facilmente andare avanti. Forse questo ti aiuterà: Getting Started with MQL5: Writing a Simple Expert Advisor and Indicator(ho usato il motore di ricerca). Di più:le basi della lingua. In particolare:chiamata di funzione eparametri di passaggio(dove avete domande). Se avete domande durante lo studio (e ce ne saranno), potete usare la ricerca su Google o YouTube. O fare domande qui.Idealmente, sarebbe bene imparare il C++. Se cercate su Google qualcosa sulla sintassi, potete anche aggiungere "C++".

Функции обработки событий - Функции - Основы языка - Справочник MQL4
Функции обработки событий - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
В языке MQL4 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL4: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
 
Mihail Matkovskij:

Andrei, non pensare che ti stia giudicando duramente. Se non capite da dove viene questa o quella funzione, cliccate con il tasto destro e selezionate "Vai alla definizione Alt+G". E non essere imbarazzato se non sai qualcosa. È normale.

Come imparare a programmare. Per fare questo, bisogna rispondere alla domanda: a cosa serve? Se si tratta di creare robot di trading e programmi di analisi tecnica, ci sono solo esempi rilevanti, lezioni e articoli in MQL. Forse anche dei libri. Tuttavia, quando hofatto conoscenza con MQL, l'ho imparato abbastanza bene, quindi non ho letto nessun libro, solo la documentazione. Vi consiglio di capire prima di tutto cos'è il programma. Per farlo, si parte dallo studio del modello di eventi MQL: https://docs.mql4.com/ru/basis/function/events . Questo è un modello di base. Se la padroneggiate, potete facilmente andare avanti. Forse questo ti aiuterà: Getting Started with MQL5: Writing a Simple Expert Advisor and Indicator(ho usato il motore di ricerca). Inoltre:le basi della lingua. In particolare:chiamata di funzione eparametri di passaggio(dove avete domande). Se avete domande durante lo studio (e ce ne saranno), potete usare la ricerca su Google o YouTube. O fare domande qui.Idealmente, sarebbe bene imparare il C++. Se cerchi su Google qualcosa sulla sintassi, sentiti libero di aggiungere anche 'C++'.

Grazie per i consigli e i suggerimenti. Tutto è iniziato per me quando ho fatto un corso gratuito di forex a Teletrade a Mosca alcuni anni fa, per niente da fare e per il desiderio di mettere i miei soldi da qualche parte. Ma dopo aver completato il corso, mi sono subito fatto l'idea che fare trading a casaccio è una perdita di denaro garantita... nonostante le vittorie occasionali. Ecco perché ho preso la ferma decisione di non giocare con i miei soldi finché non avessi avuto un sistema, e prima di laurearmi non possedevo nemmeno un PC. Non sono un matematico. Non riesco a staccarmi dal mio computer e da MT4 da quando ho comprato un computer e ho preso MT4 in corso, non riesco a staccarmi dal computer e da MT4 fino a questo momento. Mi osservo e non riesco a capire da dove viene questa voglia irresistibile e irrazionale. Non credo che sia solo per i soldi. Io sto bene con i soldi. Non lavoro e ho tutto il mio tempo a disposizione. E ho bisogno di qualcosa che lo occupi in modo che non si trascini troppo a lungo. Ho notato che quando studio il Forex e la programmazione il tempo vola velocemente e in modo impercettibile, così, dopo essermi laureato al corso mi ci è voluto molto tempo per padroneggiare il computer e contemporaneamente fissavo i grafici su MT e cercavo di capire come e perché il prezzo si muove in una direzione o nell'altra. Si può dire che il grafico mi ha affascinato e incantato e ha creato una forte posizione dominante nel mio cervello. Man mano che progredivo nella mia comprensione del computer, di Internet e del forex, sono venuto a conoscenza del trading algoritmico e ho deciso di leggere qualcosa al riguardo. E mi ha anche attirato al punto che ho anche imparato un po' di codifica dal tutorial di Kovalev. Più capivo il materiale del libro e cercavo di applicarlo mentre codificavo, più mi venivano pensieri diversi, che cercavo di codificare. Ma alcuni mesi fa, abbastanza inaspettatamente e accidentalmente ho visto un modello, che appare molto chiaramente sulle coppie EUR-USD e FUNT-DOLLAR. Sono riuscito a codificare questo modello. E l'Expert Advisor con questo codice nel tester ha disegnato un grafico di equilibrio nel tester dal 2008, che si muove costantemente verso l'alto con drawdown accettabili. Questo è stato un ulteriore e potente impulso per me per diventare più entusiasta di studiare la programmazione MQL4. Al momento non sono ancora abbastanza padrone per iniziare a studiare MQL5.

Grazie ancora per i link e i vostri commenti.

Questo è un grafico di equilibrio

Ho alcune idee su come rendere questo grafico più ottimale. Ma non ho ancora abbastanza esperienza per codificarli tutti.

 
ANDREY:

Quando imparate MQL4 e passate a MQL5, vi attirerà ancora di più... :)

 
Mihail Matkovskij:

Quando imparate MQL4 e passate a MQL5, vi attirerà ancora di più... :)

Vediamo quanto velocemente succede...

 
Mihail Matkovskij:

Se non capite da dove viene una funzione, cliccate con il tasto destro e selezionate "Vai alla definizione Alt+G". E non essere imbarazzato se non sai qualcosa. Va bene.

È una voce di menu preziosa per me. E sono stato molto contento di sentirne parlare e della sua funzionalità da voi. Ma per qualche motivo questo articolo non funziona per me. Ho provato diverse opzioni.

Passare il mouse sulla funzione (al suo posto prima delle parentesi) e cliccare con il tasto destro del mouse. Il menu di contesto "Goto Alt+G" è attivo. Ci clicco sopra ma non succede niente. Premo Alt+G in inglese e maiuscolo, non succede niente.

Penso che dovrei essere buttato nell'Aiuto, o meglio nel luogo dove si descrive la funzione con il tasto destro del mouse.
Ho MT-4 build 1260
Ho letto l'aiuto di MetaEditor, ma non ho trovato nulla su questa caratteristica. E questo oggetto è molto prezioso per me. Forse mancano alcune impostazioni in MetaEditor?
Vi sarei grato se poteste condividere i vostri pensieri sul perché questo articolo non funziona per me.

Questa è la barra degli strumenti del mio MetaEditor. Molti dei pulsanti non sono attivi. Potrebbe trattarsi di uno di questi pulsanti?


 
ANDREY:

Grazie per i consigli e i suggerimenti. Per me, tutto è iniziato quando ho seguito un corso gratuito di forex a Teletrade a Mosca qualche anno fa, senza niente da fare e per il desiderio di mettere i miei soldi da qualche parte. Ma dopo aver completato il corso, mi sono subito fatto l'idea che fare trading a casaccio è una perdita di denaro garantita... nonostante le vittorie occasionali. Ecco perché ho preso la ferma decisione di non giocare con i miei soldi finché non avessi avuto un sistema, e prima di laurearmi non possedevo nemmeno un PC. Non sono un matematico. Non riesco a staccarmi dal mio computer e da MT4 da quando ho comprato un computer e ho imparato a giocarci. Mi osservo e non riesco a capire da dove viene questa voglia irresistibile e irrazionale. Non credo che sia solo per i soldi. Io sto bene con i soldi. Non lavoro e ho tutto il mio tempo a disposizione. E ho bisogno di qualcosa che lo occupi in modo che non si trascini troppo a lungo. Ho notato che quando studio il Forex e la programmazione il tempo vola velocemente e in modo impercettibile, così, dopo essermi laureato al corso mi ci è voluto molto tempo per padroneggiare il computer e contemporaneamente stavo fissando i grafici su MT e cercando di capire come e perché il prezzo si muove in una direzione o in un'altra. Si può dire che il grafico mi ha affascinato e incantato e ha creato una forte posizione dominante nel mio cervello. Man mano che progredivo nella mia comprensione del computer, di Internet e del forex, sono venuto a conoscenza del trading algoritmico e ho deciso di leggere qualcosa al riguardo. E mi ha anche attirato al punto che ho anche imparato un po' di codifica dal tutorial di Kovalev. Più capivo il materiale del libro e cercavo di applicarlo mentre codificavo, più mi venivano pensieri diversi, che cercavo di codificare. Ma alcuni mesi fa, abbastanza inaspettatamente e accidentalmente ho visto un modello, che appare molto chiaramente sulle coppie EUR-USD e FUNT-DOLLAR. Sono riuscito a codificare questo modello. E l'Expert Advisor con questo codice nel tester ha disegnato un grafico di equilibrio nel tester dal 2008, che si muove costantemente verso l'alto con drawdown accettabili. Questo è stato un ulteriore e potente impulso per me per diventare più entusiasta di studiare la programmazione MQL4. Al momento non l'ho padroneggiato abbastanza bene per iniziare a studiare MQL5.

Grazie ancora per i link e per avermi messo sulla strada giusta.

Questo è un grafico di equilibrio

Ho alcune idee su come rendere questo grafico più ottimale. Ma mi manca ancora l'esperienza per codificarli a fondo.

La cosa più importante per un programmatore è essere in grado di impostare un compito e trovare il modo di risolverlo. E questo definisce una mentalità matematica. Se riesci a cambiare la tua mentalità, se Dio vuole.

E se state cercando di scrivere in mql4, guarderete sempre la documentazione per mql5 per trovare somiglianze tra i linguaggi, quindi considerate che avendo trattato con mql4, avete già trattato con mql5. Le lingue sono così simili che è più facile elencare le differenze che le somiglianze.

Il libro di testo di Kovalev è stato scritto così tanto tempo fa che nella maggior parte dei casi, prima di scrivere qualcosa, è necessario trovare metodi moderni, anche se quelli usati negli esempi del libro di testo funzioneranno per qualche tempo.

Questo articolo può aiutare molto, non solo a passare a mql5, ma anche a capire la differenza tra il mql4 descritto da Sergei Kovalev e il moderno mql4
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 
Alexey Viktorov:

La cosa più importante per un programmatore è essere in grado di impostare un problema e trovare il modo di risolverlo. Ed è questo che definisce una mentalità matematica. Se siete in grado di cambiare la vostra mentalità, che Dio vi aiuti.

E se si sta cercando di scrivere in mql4, sarà sempre guardare la documentazione mql5 per trovare somiglianze nei linguaggi, quindi considerare che avendo trattato con mql4 si è già trattato con mql5. Le lingue sono così simili che è più facile elencare le differenze che le somiglianze.

Il libro di testo di Kovalev è stato scritto così tanto tempo fa che nella maggior parte dei casi prima di scrivere qualcosa è necessario trovare metodi moderni, anche se quelli usati negli esempi del libro di testo funzioneranno per qualche tempo.

Grazie per le preziose informazioni.

Per quanto riguarda la mentalità matematica. Dal momento che sono da zero .... anche se troppo lungo .... Ho una certa familiarità con il libro di testo di Kovalev, e ho anche imparato a scrivere codice primitivo che si compila senza errori, e anche codificato qualcosa di simile a "grail" ..... significa che la mia mentalità sta cambiando nella direzione che mi serve..... , come mi sembra.
Per favore ditemi se va bene ... Si possono eseguire funzioni MQL5 in MetaEditor 4?

Grazie