Il dono di un errore di esecuzione difficile da trovare
In che modo ::CopyTicks è meglio di Copyticks?
E perché il risultato è sempre -1. Questi errori dovrebbero essere segnalati in fase di compilazione
Quindi, tutto è logico.ERR_INVALID_ARRAY ha avuto un errore.
CopyTicks è esattamente di tipo, se solo la sua dimensione è uguale a sizeof(MqlTick). Naturalmente, esattamente questa dimensione può essere controllata in fase di compilazione.
Bene, il CopyTicks personalizzato obbedisce a tutte le regole MQL.
Gli array di discendenti non possono essere convertiti in array di antenati. Ma elemento per elemento, sì. Questa è una restrizione di ArrayCopy, che sarebbe bello rimuovere.
// Возвращает true, если нет бара с таким временем ("дырка")bool IsHole( conststring Symb, constENUM_TIMEFRAMES TimeFrame, constdatetime time )
{
return(Bars(Symb, TimeFrame, SeriesInfoInteger(_Symbol, PERIOD_CURRENT, SERIES_FIRSTDATE), time) +
Bars(Symb, TimeFrame, time, SeriesInfoInteger(_Symbol, PERIOD_CURRENT, SERIES_LASTBAR_DATE)) ==
SeriesInfoInteger(_Symbol, PERIOD_CURRENT, SERIES_BARS_COUNT));
}
Каждый скрипт и каждый эксперт работает в собственном отдельном потоке. Все индикаторы, рассчитываемые на одном символе, даже если они запущены на разных графиках, работают в одном потоке. Таким образом, все индикаторы на одном символе делят между собой ресурсы одного потока. В одном потоке с индикаторами также последовательно выполняются...
Un piccolo suggerimento: eseguire EAs/scripts su oggetti OBJ_CHART.
Quindi l'esecuzione degli EAs si blocca - non viene eseguita in alcun modo. Ma gli script funzionano perfettamente. Pertanto, apre alcune opportunità.
Per esempio, possiamo usare le funzioni d'ordine degli indicatori sui grafici, dove c'è già un Expert Advisor in esecuzione. E non abbiamo bisogno di aprire nuovi grafici ausiliari.
Hai usatoun tipster, anche se l'indicatore può fare trading senza di esso, attraverso eventi
Questo richiede un EA "sniffer" da eseguire in parallelo, cioè è necessario un grafico ausiliario.
La situazione nell'esempio è un po' diversa: c'è un grafico e qualche EA è già in esecuzione su di esso. E vogliamo a volte passare OrderSend attraverso l'indicatore senza aprirne di nuovi.
Naturalmente, senza DLL per il mercato per passarlo.
Questo richiede un "rubinetto" EA per funzionare in parallelo, cioè è necessario un grafico ausiliario.
La situazione nell'esempio è un po' diversa: c'è un grafico e qualche EA è già in esecuzione su di esso. E vogliamo a volte passare OrderSend attraverso l'indicatore senza aprirne di nuovi.
Naturalmente, senza DLL per il mercato per passarlo.
Nel video funziona anche senza DLL. L'Expert Advisor ne ha bisogno solo uno su qualsiasi grafico, può essere su quello corrente.
L'esempio ha una situazione leggermente diversa: un grafico e c'è già qualche EA in esecuzione su di esso. E voglio eseguire OrderSend attraverso l'indicatore senza aprirne di nuovi a volte.
Il dono di un errore di esecuzione difficile da trovare
In che modo ::CopyTicks è meglio di Copyticks?
E perché il risultato è sempre -1. Questi errori dovrebbero essere segnalati in fase di compilazione
Quindi, tutto è logico.ERR_INVALID_ARRAY ha avuto un errore.
CopyTicks è esattamente di tipo, se solo la sua dimensione è uguale a sizeof(MqlTick). Naturalmente, esattamente questa dimensione può essere controllata in fase di compilazione.
Bene, il CopyTicks personalizzato obbedisce a tutte le regole MQL.
Gli array di discendenti non possono essere convertiti in array di antenati. Ma elemento per elemento, sì. Questa è una restrizione di ArrayCopy, che sarebbe bello rimuovere.
Forum sul trading, sistemi di trading automatico e test di strategia
Domande dai principianti MQL5 MT5 MetaTrader 5
fxsaber, 2017.10.19 21:13
Funziona senza accedere al server.
Un regalo sotto forma di un errore di esecuzione sfuggente
Nella prossima build il regalo sarà disattivato, purtroppo.
Forum sul trading, sistemi di trading automatico e strategie di trading di prova
Biblioteche: Esperto
fxsaber, 2017.10.31 01:27
Un piccolo suggerimento: eseguire EAs/scripts su oggetti OBJ_CHART.
Quindi l'esecuzione degli EAs si blocca - non viene eseguita in alcun modo. Ma gli script funzionano perfettamente. Pertanto, apre alcune opportunità.
Per esempio, possiamo usare le funzioni d'ordine degli indicatori sui grafici, dove c'è già un Expert Advisor in esecuzione. E non abbiamo bisogno di aprire nuovi grafici ausiliari.
Hai usatoun tip-off, anche se l'indicatore può fare trading senza di esso, tramite eventi
Hai usatoun tipster, anche se l'indicatore può fare trading senza di esso, attraverso eventi
Questo richiede un EA "sniffer" da eseguire in parallelo, cioè è necessario un grafico ausiliario.
La situazione nell'esempio è un po' diversa: c'è un grafico e qualche EA è già in esecuzione su di esso. E vogliamo a volte passare OrderSend attraverso l'indicatore senza aprirne di nuovi.
Naturalmente, senza DLL per il mercato per passarlo.
Questo richiede un "rubinetto" EA per funzionare in parallelo, cioè è necessario un grafico ausiliario.
La situazione nell'esempio è un po' diversa: c'è un grafico e qualche EA è già in esecuzione su di esso. E vogliamo a volte passare OrderSend attraverso l'indicatore senza aprirne di nuovi.
Naturalmente, senza DLL per il mercato per passarlo.
Nel video funziona anche senza DLL. L'Expert Advisor ne ha bisogno solo uno su qualsiasi grafico, può essere su quello corrente.
Hai bisogno di un solo Expert Advisor su qualsiasi grafico, puoi averne uno anche sul grafico corrente.
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Peculiarità del linguaggio mql5, sottigliezze e trucchi
fxsaber, 2017.10.31 06:08
L'esempio ha una situazione leggermente diversa: un grafico e c'è già qualche EA in esecuzione su di esso. E voglio eseguire OrderSend attraverso l'indicatore senza aprirne di nuovi a volte.
Applicazione
SZY Il convertitore BMP->GIF/PNG è anche implementato.