Cercare di estrarre i dati dai buffer perché non funziona dai file
Ci possono essere più buffer nella finestra dei dati - potete proibirli con la funzione: SetIndexLabel(1, NULL); Guardate il contenuto dei buffer da zero a dieci. Vedi se i valori che ricevi corrispondono e sono visibili. Spostare il cursore del mouse sulla barra il cui numero è nella funzione iCustom. Controlla come il risultato della funzione dipende dal numero di parametri (parametri di default). Per accelerare il processo durante il debug, usate la funzione script e Alert invece di scrivere su un file. All'inizio dello script, mettere Alert("---------------------") segnalerà gli ultimi valori visualizzati. Tutto sommato, è molto affascinante e interessante e c'è molto da scavare
Ci possono essere più buffer nella finestra dei dati - potete proibirlo con la funzione: SetIndexLabel(1, NULL); Guardate il contenuto dei buffer da zero a dieci. Vedi se i valori che ricevi corrispondono e sono visibili. Spostare il cursore del mouse sulla barra il cui numero è nella funzione iCustom. Controlla come il risultato della funzione dipende dal numero di parametri (parametri predefiniti). Per accelerare il processo durante il debug, usate la funzione script e Alert invece di scrivere su un file. All'inizio dello script, mettere Alert("---------------------") segnalerà gli ultimi valori visualizzati. Tutto sommato, è molto affascinante e interessante e c'è molto da scavare
Sì, la domanda è come prendere i dati dal campo richiesto usando i metodi MQL4. Per esempio dagli avvisi?
BUONA GIORNATA! Aiutami o dammi un consiglio! Ci sono due linee orizzontali con valori di prezzo! Vorrei: Scrivere su file - Simbolo, valori di linea. Leggere dal file - Simbolo, valori di linea. L'idea è che io costruisco i livelli sul terminale Demo e poi trasferisco i parametri al terminale Life installato sul server!
Rewerpool: BUONA GIORNATA! Aiutatemi o datemi un consiglio! Ci sono due linee orizzontali con valori di prezzo! Vorrei: Scrivere in un file - Simbolo, valori di linea. L'idea è che i livelli sono costruiti sul terminale demo e poi trasferiti al terminale Life installato sul server!
E ora il mio problema. Gli esperti locali mi ricordano il mio compagno di classe (oh, quanto tempo fa era) - sapeva tutte le regole, tutte le formule, ma quando applicare quale, non riusciva a pensare bene, e passava attraverso quasi tutto, in modo che non ha mai incontrato il tempo assegnato. È lo stesso qui: sanno molto, ma non vedono la soluzione, lavorano solo per "pancia". All'istituto, ci hanno insegnato a risolvere un problema senza numeri e formule, e solo allora saprai chiaramente quali formule applicare. I nuovi arrivati in MKL4 non capiscono le sottigliezze della lingua, ed è qui che hanno bisogno di aiuto (non nel senso di "leggere un libro di testo"). Ma nessuno può mostrarvi le insidie dell'apertura/chiusura delle posizioni. Forse non lo sanno? Così hanno lasciato correre la mia domanda...
Allora, dov'è la domanda? Hanno scrollato un paio di pagine indietro - no.
Nel post 1149 c'è un codice per chiudere le posizioni.Mezza soluzione:solo se si apre un tipo di posizione. Se, per esempio, una posizione Sell è stata aperta e non è ancora chiusa, allo stesso tempo viene aperta e chiusa una posizione Buy, la posizione Sell non può vedere alcuna condizione per essere chiusa prima che un'altra posizione Sell si apra e chiuda (secondo le sue condizioni). E se BAY apre e chiude di nuovo, manca di nuovo le sue condizioni di chiusura. Quindi cosa fare?
Nel post 1149 codice per la chiusura delle posizioni.Mezza soluzione:solo se si aprono posizioni dello stesso tipo. Se, per esempio, prima si apre una posizione Sell e non si è ancora chiusa, e allo stesso tempo si apre e si chiude una posizione Buy, allora la posizione Sell non vede le sue condizioni di chiusura finché non si apre e si chiude un'altra posizione Sell (secondo le sue condizioni). E se BAY apre e chiude di nuovo, manca di nuovo le sue condizioni di chiusura. Quindi cosa fare?
Sì, lo vedo. E vedo la risposta alla domanda nel post sottohttps://www.mql5.com/ru/forum/160587/page115#comment_6521492. In altre parole, il problema è che la funzionalità non è divisa in sotto-attività logiche. Hai messo insieme: l'analisi degli ordini, la decisione di un'azione commerciale e l'esecuzione di un'operazione.
Un tale compito può essere risolto esattamente in tre fasi:
Raccolta di informazioni sugli ordini che devono essere monitorati dal programma. Questo è solo il ciclo di valutazione dell'ordine, che avete già. Il risultato di questo ciclo deve essere l'array di ordini.
Calcolo dei segnali di trading. Il risultato del calcolo è un comando per aprire e/o chiudere ordini. Dipende dalla strategia di trading. In precedenza, quando non c'era l'enumerazione, usavo i codici: 0 - nessun segnale, 1 - apri acquisto, -1 - apri vendita, 2 - chiudi acquisto, -2 - chiudi vendita.
Esecuzione di un'operazione commerciale. Se c'è un segnale di trading e uno degli ordini (punto 1) è adatto ad esso, viene eseguita un'operazione di trading. Dopo di che, l'intero algoritmo viene riavviato a partire dal punto 1. In alcuni casi, si esce anche da OnTick per continuare sul prossimo tick.
Vedere cosa c'è negli altri buffer...
quindi ce ne sono solo 8 sullo schermo.
Cerco di estrarre i dati dai buffer perché non posso ottenerli dai filequindi ce ne sono solo 8 sullo schermo.
Cercare di estrarre i dati dai buffer perché non funziona dai fileCi possono essere più buffer nella finestra dei dati - potete proibirli con la funzione: SetIndexLabel(1, NULL); Guardate il contenuto dei buffer da zero a dieci. Vedi se i valori che ricevi corrispondono e sono visibili. Spostare il cursore del mouse sulla barra il cui numero è nella funzione iCustom. Controlla come il risultato della funzione dipende dal numero di parametri (parametri di default). Per accelerare il processo durante il debug, usate la funzione script e Alert invece di scrivere su un file. All'inizio dello script, mettere Alert("---------------------") segnalerà gli ultimi valori visualizzati. Tutto sommato, è molto affascinante e interessante e c'è molto da scavare
Ci possono essere più buffer nella finestra dei dati - potete proibirlo con la funzione: SetIndexLabel(1, NULL); Guardate il contenuto dei buffer da zero a dieci. Vedi se i valori che ricevi corrispondono e sono visibili. Spostare il cursore del mouse sulla barra il cui numero è nella funzione iCustom. Controlla come il risultato della funzione dipende dal numero di parametri (parametri predefiniti). Per accelerare il processo durante il debug, usate la funzione script e Alert invece di scrivere su un file. All'inizio dello script, mettere Alert("---------------------") segnalerà gli ultimi valori visualizzati. Tutto sommato, è molto affascinante e interessante e c'è molto da scavare
Sì, la domanda è come prendere i dati dal campo richiesto usando i metodi MQL4. Per esempio dagli avvisi?
Sono tutti in bella vista.
BUONA GIORNATA! Aiutatemi o datemi un consiglio! Ci sono due linee orizzontali con valori di prezzo! Vorrei: Scrivere in un file - Simbolo, valori di linea. L'idea è che i livelli sono costruiti sul terminale demo e poi trasferiti al terminale Life installato sul server!
Nessuno ti darà la vodka, qui sono tutti avidi :)
Nessuno ti darà la vodka, qui sono tutti avidi :)
Esatto, è secondo le regole.
Soldi al mattino, sedie al mattino.
Soldi al mattino, sedie alla sera.
Ecco perché hanno lasciato cadere la mia domanda...
Allora, dov'è la domanda? Ho guardato qualche pagina indietro e non c'è.
Allora, dov'è la domanda? Hanno scrollato un paio di pagine indietro - no.
Nel post 1149 c'è un codice per chiudere le posizioni.Mezza soluzione:solo se si apre un tipo di posizione. Se, per esempio, una posizione Sell è stata aperta e non è ancora chiusa, allo stesso tempo viene aperta e chiusa una posizione Buy, la posizione Sell non può vedere alcuna condizione per essere chiusa prima che un'altra posizione Sell si apra e chiuda (secondo le sue condizioni). E se BAY apre e chiude di nuovo, manca di nuovo le sue condizioni di chiusura. Quindi cosa fare?
Nel post 1149 codice per la chiusura delle posizioni.Mezza soluzione:solo se si aprono posizioni dello stesso tipo. Se, per esempio, prima si apre una posizione Sell e non si è ancora chiusa, e allo stesso tempo si apre e si chiude una posizione Buy, allora la posizione Sell non vede le sue condizioni di chiusura finché non si apre e si chiude un'altra posizione Sell (secondo le sue condizioni). E se BAY apre e chiude di nuovo, manca di nuovo le sue condizioni di chiusura. Quindi cosa fare?
Sì, lo vedo. E vedo la risposta alla domanda nel post sottohttps://www.mql5.com/ru/forum/160587/page115#comment_6521492. In altre parole, il problema è che la funzionalità non è divisa in sotto-attività logiche. Hai messo insieme: l'analisi degli ordini, la decisione di un'azione commerciale e l'esecuzione di un'operazione.
Un tale compito può essere risolto esattamente in tre fasi: