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

 
igrok333:
ha preso il prezzo prima quando l'ask era ancora vecchio,
e poi solo refreshrates ha cambiato l'ask, giusto?

la logica di esecuzione del codice è lineare - viene eseguito un comando, vengono fatte delle modifiche, poi viene eseguito il comando successivo

quindi è lo stesso nel tuo codice, hai fatto un'assegnazione, e l'aggiornamento del prezzo è già sotto il codice

fare un calcolo della cena nel ciclo e aggiornare le quotazioni .... prima del calcolo non dimenticare di normalizzare cena se è un calcolo, altrimenti la tua prossima domanda sarà perché non funziona ora)))

 
Igor Makanu:

la logica di esecuzione del codice è lineare - viene eseguito un comando, vengono fatte delle modifiche, poi viene eseguito il comando successivo

quindi è lo stesso nel tuo codice, hai fatto un'assegnazione, e l'aggiornamento del prezzo è già sotto il codice

fare un calcolo della cena nel ciclo e aggiornare le quotazioni .... prima del calcolo non dimenticare di normalizzare cena se è un calcolo, altrimenti la tua prossima domanda sarà perché non funziona ora)))


ora è chiaro come controllare.

double cena=Ask;

for (int i=0; i<=10; i++)
   {
   RefreshRates();   
   Alert(cena);
   Sleep(3000);
   }

e

for (int i=0; i<=10; i++)
   {   
   RefreshRates();   
   double cena=Ask;
   Alert(cena);
   Sleep(3000);
   }
 
Salve. C'è una cartella WinApi nella libreria standard. Sarebbe bene che il MQL5 Reference apparisse con la descrizione del suo contenuto. Nel frattempo, potreste suggerire un metodo per leggere e scrivere il campo della data di inizio dell'ottimizzazione in avanti nel tester? O forse anche aggiungere una nuova proporzione come 1/5?
 
Good Beer:
Salve. C'è una cartella WinApi nella libreria standard. Sarebbe bene che il MQL5 Reference avesse la descrizione del suo contenuto. Nel frattempo, potreste suggerire un metodo per leggere e scrivere il campo della data di inizio dell'ottimizzazione in avanti nel tester? O forse anche aggiungere una nuova proporzione come 1/5?

Non ha niente a che fare con mql.

https://docs.microsoft.com/en-us/windows/win32/apiindex/windows-api-list

Buona fortuna.

Windows API index - Win32 apps
  • 2018.05.31
  • GrantMeStrength
  • docs.microsoft.com
A list of the reference content for the Windows API.
 
Good Beer:
non c'è un metodo per leggere e scrivere il campo della data d'inizio avanti nel tester?

Non dirò com'è in un cinque, è così in un quattro:

extern datetime dtDateBegin   = D'2008.12.01';
extern datetime dtDateEnd     = D'2009.01.01';

#import "user32.dll"
   int SendMessageA(int hWnd, int Msg, int wParam, int lParam[]);
   int GetAncestor(int hWnd, int gaFlags);
   int GetDlgItem(int hDlg, int nIDDlgItem);
   int FindWindowExA(int hWndParent, int hWndChildAfter, string lpszClass, string lpszWindow);
#import

#define  DTM_SETSYSTEMTIME      0x1002

void start()
{
   int hTerminalWnd, hTesterWnd, hDateTimeBegin, rglSysTime[4];
   
// определяем системный дескриптор окна тестера
   
   hTerminalWnd = GetAncestor(WindowHandle(Symbol(), Period()) ,2);
   hTesterWnd = GetDlgItem(hTerminalWnd, 0xE81E);
   hTesterWnd = GetDlgItem(hTesterWnd, 0x53);
   hTesterWnd = GetDlgItem(hTesterWnd, 0x81BF);

// устанавливаем дату начала  оптимизации\тестирования

   hDateTimeBegin = FindWindowExA(hTesterWnd, GetDlgItem(hTesterWnd, 0x3FF), "SysDateTimePick32", "");
   ArrayInitialize(rglSysTime, 0);
   
   rglSysTime[0] = (TimeMonth(dtDateBegin) << 16) | TimeYear(dtDateBegin);
   rglSysTime[1] = (TimeDay(dtDateBegin)   << 16) | TimeDayOfWeek(dtDateBegin);
   
   SendMessageA(hDateTimeBegin, DTM_SETSYSTEMTIME, 0, rglSysTime);
}
 

Perché nessuno degli esempi forniti di codice pronto dal tutorial mql4 si compila?

Ho provato a scrivere qualcosa e mi sono trovato di fronte al fatto che la funzione OnTick passa alla funzione .mqh, ma altre funzioni .mqh sono chiamate da questa funzione e il compilatore non le vede e non capisco come fare. Ho scaricato i codici pronti usati nel tutorial e anche loro non funzionano. Avevo paura che il mio programma no no no sì appaia 5-7 errori, ma quando eseguo il download dalla libreria ufficiale così ci un inferno di un sacco... Errori 60-80-90. Compilato senza errori solo il file Variables.mqh, tutto il resto brucia brillantemente. Dov'è il materiale reale su questa lingua? Tutti questi video tutorial, quanto sono vecchi? Non funziona, solo quello che dice - fallo e avrai dei risultati.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
В языке MQL5 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL5: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
 
Denis Diakonov:

Perché nessuno degli esempi forniti di codice pronto dal tutorial mql4 si compila?

Ho provato a scrivere qualcosa e mi sono trovato di fronte al fatto che la funzione OnTick passa alla funzione .mqh, ma altre funzioni .mqh sono chiamate da questa funzione e il compilatore non le vede e non capisco come fare. Ho scaricato i codici pronti usati nel tutorial e anche loro non funzionano. Avevo paura che il mio programma no no no sì appaia 5-7 errori, ma quando eseguo il download dalla libreria ufficiale così ci un inferno di un sacco... Errori 60-80-90. Compilato senza errori solo il file Variables.mqh, tutto il resto brucia brillantemente. Dov'è il materiale reale su questa lingua? Tutti quei video tutorial sono di quando? Non funziona, solo quello che dice - fallo e avrai dei risultati.

Onestamente, è un flusso di coscienza :)

E nessun dettaglio.

 
come accedere
 
Artyom Trishkin:

Flusso di coscienza per essere onesti :)

E nessun dettaglio.

Una copia da un altro thread.


Si prega di avvisare. Ho funzioni definite dall'utente in file .mqh separati e le ho scritte attraverso #include. Quando si cambia l'inizio di una funzione, allora il programma deve chiamare un altro file .mqh (per esempio, per ottenere un valore del volume dell'ordine) e non funziona. Se scrivo tutto in un foglio, funziona o se scrivo la formula per calcolare il lotto direttamente nei parametri di apertura dell'ordine. Ho cercato tra le lezioni di MQL4 e ho letto la documentazione del programma, ma non ho trovato nulla. Non capisco davvero perché una funzione .mqh non possa interagire con un'altra funzione .mqh all'interno dei calcoli. Oppure, dovremmo fare in modo che il programma torni all'inizio se ci trovassimo di fronte a una tale necessità - restituirebbe il risultato all'inizio e poi l'inizio con questo calcolo tornerebbe alla funzione aprendo un ordine .mqh? Questo è qualcosa di spazzatura... O forse dovremmo in qualche modo dichiarare tutte le funzioni esistenti in un modo diverso in modo che interagiscano insieme? Grazie

 
Artyom Trishkin:

Flusso di coscienza per essere onesti :)

E nessun dettaglio.

Non è un ruscello, è uno scarico.

Motivazione: