Money_Maker: Grazie mille questo sarà più veloce, è per questo che ho anche deciso di "lippy" grazie speciale per i codici dei caratteri ora non dovrò cercarli.
Ho scritto per sostituire i nomi brevi dei personaggi, spezzare le linee in lettere e fare la sostituzione.
no non lo è ... il significato della decodifica è questo: ogni lettera russa ha un valore ad esempio "a" che è una combinazione di \u0430
per convertire è necessario determinare quale lettera ha questo o quel valore e poi sostituire questi valori con lettere ... Potrebbe essere possibile attraverso KernelDll ma è un percorso fangoso, almeno non ha funzionato per me, non ci sono molte informazioni e sembra che non sia del tutto giusto ... ma una funzione personalizzata è l'unica via d'uscita facile secondo me
Buon pomeriggio. Ho un piccolo problema quando uso l'indicatore quando si passa ad un altro timeframe, il terminale inizia a rallentare, e a volte si blocca completamente.
L'indicatore è le Bande di Bollinger con il valore di deviazione visualizzato. Non so cosa esattamente nel codice stia causando la degradazione delle prestazioni.
Qualcuno può consigliare come si risolvono questi problemi in generale, o da dove cominciare?
Buon pomeriggio. Ho un piccolo problema quando uso l'indicatore quando si passa ad un altro timeframe, il terminale inizia a rallentare, e a volte si blocca completamente.
L'indicatore è le Bande di Bollinger con il valore di deviazione visualizzato. Non so cosa esattamente nel codice stia causando una degradazione delle prestazioni.
Qualcuno può consigliare come si risolvono questi problemi in generale, o da dove cominciare?
Molto probabilmente c'è un grande periodo per il calcolo, ecco perché si blocca, non credo che tu debba contare per 5000 barre nella storia per ottenere i valori attuali.
Trader76 ecco la funzione che è stata aggiunta: iMAOnArray. In esso, è necessario specificare il numero di elementi da calcolare. Ho specificato tutti gli elementi dell'array; questo è l'unico modo per ottenere il valore corretto della deviazione standard media.
L'ho verificato sovrapponendo una media mobile all'indicatore di deviazione standard. Se specifico un numero particolare di elementi, il valore calcolato cambia.
Forse, l'indicatore è lento a causa del calcolo dell'intero array, ma non lo calcola correttamente in altri modi.
Trader76 ecco la funzione che è stata aggiunta: iMAOnArray. In esso, è necessario specificare il numero di elementi da calcolare. Ho specificato tutti gli elementi dell'array; questo è l'unico modo per ottenere il valore corretto della deviazione standard media.
L'ho verificato sovrapponendo una media mobile all'indicatore di deviazione standard. Se specifico un numero particolare di elementi, il valore calcolato cambia.
Forse, l'indicatore è lento a causa del calcolo dell'intero array, ma non lo calcola correttamente in altri modi.
Questo è esattamente quello che ho aggiunto, prima di questo l'indicatore non rallentava.
//+------------------------------------------------------------------- //|Расчет среднего значения девиации//+-------------------------------------------------------------------
Averagedeviation=iMAOnArray(deviationBuffer,0,30,0,MODE_SMA,i);
//+------------------------------------------------------------------- //|Вывод значения на экран отдельным объектом//+------------------------------------------------------------------- string Text =DoubleToStr(deviation,4); // Текст для отображения с указанием количества знаков ппосле запятойif(deviation<=(Averagedeviation*1.1)&&deviation>=(Averagedeviation*0.9))// Выбор цвета зависит от динамики
Color_Day_Percent = Color_0; // Цвет для 0if(deviation>Averagedeviation*1.1) // Выбор цвета зависит от динамики
Color_Day_Percent = Color_Up; // Цвет для +if(deviation<Averagedeviation*0.9) // Выбор цвета зависит от динамики
Color_Day_Percent = Color_Dn; // Цвет для -if(ObjectFind(Obj_Name)==-1) // Если объекта нет..
{
ObjectCreate(Obj_Name,OBJ_LABEL,0,0,0); // Создаём новый объект
ObjectSet (Obj_Name,OBJPROP_CORNER, 1); // Угол привязки
ObjectSet (Obj_Name,OBJPROP_XDISTANCE,15); // Координата Х
ObjectSet (Obj_Name,OBJPROP_YDISTANCE,15); // Координата Y
}
ObjectSetText(Obj_Name,Text,10,"MS Sans Serif",Color_Day_Percent);// Текстовое описание объекта
i--;
}
//----------------------------------------------------------------------return(0);
}
int deinit()
{
ObjectDelete(Obj_Name); // Удаление объекта при выходеreturn(0);
}
//+------------------------------------------------------------------+
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.
Grazie mille questo sarà più veloce, è per questo che ho anche deciso di "lippy" grazie speciale per i codici dei caratteri ora non dovrò cercarli.
Ho scritto per sostituire i nomi brevi dei personaggi, spezzare le linee in lettere e fare la sostituzione.
StringGetChar()
StringGetChar()
O è quello sbagliato?
per convertire è necessario determinare quale lettera ha questo o quel valore e poi sostituire questi valori con lettere ... Potrebbe essere possibile attraverso KernelDll ma è un percorso fangoso, almeno non ha funzionato per me, non ci sono molte informazioni e sembra che non sia del tutto giusto ... ma una funzione personalizzata è l'unica via d'uscita facile secondo me
Ho scritto per sostituire i nomi brevi dei caratteri, spezzare le stringhe in lettere e fare la sostituzione.
Buon pomeriggio. Ho un piccolo problema quando uso l'indicatore quando si passa ad un altro timeframe, il terminale inizia a rallentare, e a volte si blocca completamente.
L'indicatore è le Bande di Bollinger con il valore di deviazione visualizzato. Non so cosa esattamente nel codice stia causando la degradazione delle prestazioni.
Qualcuno può consigliare come si risolvono questi problemi in generale, o da dove cominciare?
Buon pomeriggio. Ho un piccolo problema quando uso l'indicatore quando si passa ad un altro timeframe, il terminale inizia a rallentare, e a volte si blocca completamente.
L'indicatore è le Bande di Bollinger con il valore di deviazione visualizzato. Non so cosa esattamente nel codice stia causando una degradazione delle prestazioni.
Qualcuno può consigliare come si risolvono questi problemi in generale, o da dove cominciare?
Trader76 ecco la funzione che è stata aggiunta: iMAOnArray. In esso, è necessario specificare il numero di elementi da calcolare. Ho specificato tutti gli elementi dell'array; questo è l'unico modo per ottenere il valore corretto della deviazione standard media.
L'ho verificato sovrapponendo una media mobile all'indicatore di deviazione standard. Se specifico un numero particolare di elementi, il valore calcolato cambia.
Forse, l'indicatore è lento a causa del calcolo dell'intero array, ma non lo calcola correttamente in altri modi.
Il periodo di media calcolato è 30.
Trader76 ecco la funzione che è stata aggiunta: iMAOnArray. In esso, è necessario specificare il numero di elementi da calcolare. Ho specificato tutti gli elementi dell'array; questo è l'unico modo per ottenere il valore corretto della deviazione standard media.
L'ho verificato sovrapponendo una media mobile all'indicatore di deviazione standard. Se specifico un numero particolare di elementi, il valore calcolato cambia.
Forse, l'indicatore è lento a causa del calcolo dell'intero array, ma non lo calcola correttamente in altri modi.
Il periodo di media calcolato è 30.
Questo è esattamente quello che ho aggiunto, prima di questo l'indicatore non rallentava.
Questo è esattamente quello che ho aggiunto, prima di questo l'indicatore non rallentava.
Beh, se non lo vuoi, bene.
Non capisco. Cosa vuol dire che non vuoi?
Vuoi tutto il codice? Ok.
Il nome è in cirillico, ecco perché è in geroglifico.