Ho deciso di metterli in mqh e collegarli a "save". Si scopre che questo non può essere fatto - la #proprietà può essere impostata solo nel file sorgente mq5.
fxsaber: Ho diversi indicatori che contengono le stesse stringhe
Ho deciso di metterli in mqh e collegarli a "save". Si scopre che questo non può essere fatto - la #proprietà può essere impostata solo nel file sorgente mq5.
Perché una tale restrizione?
In effetti, queste proprietà sono proprietà di un progetto indicatore MQL.
Al momento, il file di progetto di un programma MQL è il file sorgente *.mq5(4). Inoltre, gli utenti possono usare file *.mqh di terzi che possono contenere queste proprietà.
L'editor salva automaticamente i file in Unicode se il testo contiene caratteri dalla gamma 128-255.
Questo è qualcosa di nuovo. Perché non prendere la codifica per i caratteri a singolo byte dalle impostazioni di sistema? Questo è stato il default fino ad ora.
Di nuovo, si potrebbe fare un'opzione in modo che coloro che ne hanno bisogno possano abilitare il formato a due byte.
Karputov Vladimir: Quando avremo un esempio, combineremo tutto in un post: problema, esempio, dati del sistema operativo e del terminale.
Fatto! Ora sono sotto Win764bit, ma il problema è lo stesso. In tempo reale tutto è come dovrebbe essere, ma nel tester nella visualizzazione il punto sinistro della linea rimane fermo e quello destro si muove.
datetime prevtime=0,
time_last_bar[1]={0};
bool New_Bar=false; // Флаг нового бараconstlong chart_ID=0; // ID графика conststring nname="TrendLine"; // имя линии constint sub_window=0; // номер подокна datetime time1=0; // время первой точки double price1=0; // цена первой точки datetime time2=0; // время второй точки double price2=0; // цена второй точки datetime prevbar=0;
double cclose[];
datetime ttime[];
//--------------------------------------------------------------------void Fun_New_Bar() // Ф-ия обнаружения ..
{ // .. нового бара
New_Bar=false; // Нового бара нетCopyTime(Symbol(),Period(),0,1,time_last_bar);
if(time_last_bar[0] != prevtime) // Сравниваем время
{
prevtime = time_last_bar[0]; // Теперь время такое
New_Bar=true; // Поймался новый бар
}
}
//=============================================================================================================intOnInit()
{
CopyTime(Symbol(),Period(),0,1,time_last_bar);
prevtime = time_last_bar[0];
ArraySetAsSeries(cclose,true);
ArraySetAsSeries(ttime,true);
ArrayResize(cclose,5);
ArrayResize(ttime,5);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
ObjectsDeleteAll(0," ",-1,-1);
Print("------------Работа эксперта завершена!------------");
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
Fun_New_Bar(); // Обращение к ф-ииif (New_Bar==false) // Если бар не новый..return; // ..то уходимPrint("новый бар !");
ObjectsDeleteAll(0," ",-1,-1);
ArrayInitialize(cclose,0);
ArrayInitialize(ttime,0);
CopyTime(Symbol(),0,1,2,ttime);
CopyClose(Symbol(),0,1,2,cclose);
price1=cclose[1];
time1=ttime[1];
price2=cclose[0];
time2=ttime[0];
Print("price1=",price1," time1=",time1," price2=",price2," time2=",time2);
//--- создадим трендовую линию по заданным координатам if(!ObjectCreate(chart_ID,nname,OBJ_TREND,sub_window,time1,price1,time2,price2))
{
Print(__FUNCTION__,
": не удалось создать линию тренда! Код ошибки = ",GetLastError());
return;
}
}
//--------------------------------------------------------------------------------
Disegno una normale TrendLine tra i punti di chiusura di due barre precedenti (su ogni nuova barra).
ObjectsDeleteAll(0," ",-1,-1);
ArrayInitialize(cclose,0);
ArrayInitialize(ttime,0);
CopyTime(Symbol(),0,1,2,ttime);
CopyClose(Symbol(),0,1,2,cclose);
price1=cclose[1];
time1=ttime[1];
price2=cclose[0];
time2=ttime[0];
Print("price1=",price1," time1=",time1," price2=",price2," time2=",time2);
//--- создадим трендовую линию по заданным координатам if(!ObjectCreate(chart_ID,nname,OBJ_TREND,sub_window,time1,price1,time2,price2))
{
Print(__FUNCTION__,
": не удалось создать линию тренда! Код ошибки = ",GetLastError());
return;
}
Tutto funziona bene in tempo reale. Ma nella modalità di visualizzazione nel tester, il punto sinistro della linea è attaccato all'inizio del riferimento e non si muove affatto. Qual è il problema?
Z.U. Non mi sembra di avere questo problema con MT4.
Z.U. In ogni caso, okromo quelle manipolazioni che ho dato sopra, non si fa altro. Quando viene rilevata una nuova barra, tutto viene cancellato e viene disegnata una nuova linea. Ma un esempio completo da compilare lo farò.
Fatto! Ora sono sotto Win764bit, ma il problema è lo stesso. In tempo reale tutto è come dovrebbe essere, ma nel tester nella visualizzazione il punto sinistro della linea rimane fermo e quello destro si muove.
Riconoscimento. C'è un po' di cattiveria nel tester.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Come si disattiva il salvataggio Unicode nel meta-editor? Ha bisogno di ANSI.
Perché questo bisogno?
L'editor salva automaticamente i file in Unicode se il testo contiene caratteri dalla gamma 128-255.
Perché questo bisogno?
L'editor salva automaticamente i file in Unicode se il testo ha caratteri nell'intervallo 128-255.
Ho tutti i file ora grandi il doppio. Li salvo in notepad in ANSI - ok. Dopo di che apro in meta editor e salvo - di nuovo unicode.
Prova ad aprire e salvare questo file allegato.
Ho deciso di metterli in mqh e collegarli a "save". Si scopre che questo non può essere fatto - la #proprietà può essere impostata solo nel file sorgente mq5.
Perché una tale restrizione?
Non posso allegare allegati nei messaggi privati.
Almeno ex4 di 4.9 Mb
Ho diversi indicatori che contengono le stesse stringhe
Ho deciso di metterli in mqh e collegarli a "save". Si scopre che questo non può essere fatto - la #proprietà può essere impostata solo nel file sorgente mq5.
Perché una tale restrizione?
Al momento, il file di progetto di un programma MQL è il file sorgente *.mq5(4).
Inoltre, gli utenti possono usare file *.mqh di terzi che possono contenere queste proprietà.
Perché questo bisogno?
L'editor salva automaticamente i file in Unicode se il testo contiene caratteri dalla gamma 128-255.
Questo è qualcosa di nuovo. Perché non prendere la codifica per i caratteri a singolo byte dalle impostazioni di sistema? Questo è stato il default fino ad ora.
Di nuovo, si potrebbe fare un'opzione in modo che coloro che ne hanno bisogno possano abilitare il formato a due byte.
Inoltre, gli utenti possono usare file *.mqh di terzi, che possono contenere queste proprietà.
È possibile impostarli in mqh, ma non saranno letti come se non esistessero.
Quando avremo un esempio, combineremo tutto in un post: problema, esempio, dati del sistema operativo e del terminale.
Fatto! Ora sono sotto Win764bit, ma il problema è lo stesso. In tempo reale tutto è come dovrebbe essere, ma nel tester nella visualizzazione il punto sinistro della linea rimane fermo e quello destro si muove.
Forum sul trading, sistemi di trading automatico e test di strategia
Bug, bug, domande
Alexey Kravchenko, 2016.10.04 09:09
Ciao!
Ho un problema che non capisco.
Disegno una normale TrendLine tra i punti di chiusura di due barre precedenti (su ogni nuova barra).
Tutto funziona bene in tempo reale. Ma nella modalità di visualizzazione nel tester, il punto sinistro della linea è attaccato all'inizio del riferimento e non si muove affatto. Qual è il problema?
Z.U. Non mi sembra di avere questo problema con MT4.
Forum sul trading, sistemi di trading automatico e test di strategia
Bug, bug, domande
Alexey Kravchenko, 2016.10.04 09:57
C'è un problema con l'esempio. La stessa shell bolt prende diversi file. Ne farò uno più semplice la sera quando torno a casa.
WinXP SP3. Costruire 1434
LE 0 14:55:39.873 Terminale MetaTrader 5 build 1434 avviato (MetaQuotes Software Corp.)
DI 0 14:55:39.889 Terminale Microsoft Windows XP (PC basato su X86), IE 08.00, Intel Pentium Dual E2200 @ 2.20GHz, RAM: 1150 / 2037 Mb, HDD: 74562 / 152625 Mb, GMT+07:00
LJ 0 14:55:39.889 Terminale C:\Programmi\MetaTrader 5
Z.U. In ogni caso, okromo quelle manipolazioni che ho dato sopra, non si fa altro. Quando viene rilevata una nuova barra, tutto viene cancellato e viene disegnata una nuova linea. Ma un esempio completo da compilare lo farò.
ж
Fatto! Ora sono sotto Win764bit, ma il problema è lo stesso. In tempo reale tutto è come dovrebbe essere, ma nel tester nella visualizzazione il punto sinistro della linea rimane fermo e quello destro si muove.