[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 40

 
Twilight:


Stai suggerendo di spingere il codice dell'indicatore nell'Expert Advisor e ricalcolarlo lì?

E se ci fossero 5 indicatori di questo tipo?

C'è un modo per ricalcolarli diversamente?

Attacco tutti gli indicatori all'Expert Advisor tramite iCustom

L'indicatore e il suo ultimo valore vengono richiamati ad ogni nuova barra, ma non viene ridisegnato nella finestra dei simboli scambiati finché non si cambia il timeframe e si torna indietro.

Se clicchi sul grafico e premi aggiorna, non si ridisegna, per qualche motivo si ridisegna solo quando cambi timeframe.

Non conosco la vostra immaginazione. Se volete farvi una bella idea dell'indicatore, dovreste guardare nel suo codice. In particolare, il limite variabile. È presente in questo indicatore. A proposito, a giudicare dai commenti a questo indicatore, il suo autore ha proibito all'indicatore di rerizzare e tu puoi farlo come vuoi ma non otterrai quello che vuoi perché l'essenza del rerizzare è l'aspetto del segnale di qualche barra fa.

Buona fortuna.

 
silatyt:

Non sono al corrente delle sue fantasie. Per ottenere una bella immagine da un indicatore, bisogna scavare nel suo codice. In particolare, con la variabile limite. È presente in questo indicatore. A proposito, a giudicare dai commenti a questo indicatore, l'autore proibisce all'indicatore di fare rerifting. Puoi farlo come vuoi ma non otterrai quello che vuoi perché l'essenza del rerifting è l'apparizione del segnale qualche barra fa.

Buona fortuna.

In Metatrader, in qualsiasi finestra dello strumento, se cliccate con il tasto destro, c'è un pulsante di aggiornamento

C'è un modo per chiamare questa funzione programmaticamente?

RefreshRates non sembra esserlo.

 

Potete dirmi come implementare il codice EA in due o tre righe:

Quando arriva un segnale (per esempio l'incrocio di due MA)

1. Expert Advisor rileva il tempo del segnale (in ore, minuti), lo memorizza;

2. conta alla rovescia di un minuto.

Poi, la disponibilità a fare qualcosa (ad esempio, aprire un ordine)

 
Twilight:
In Metatrader in qualsiasi finestra dello strumento, se si fa clic con il tasto destro, c'è un pulsante Aggiorna

c'è un modo per chiamare questa funzione programmaticamente?

RefreshRates non sembra esserlo.


Biblioteca. Avete bisogno di 4.7.7 ServiceTickIndicators().

 //=====================================================================================================================================================================
 // 4.7. Функции для управления обновлением графика.
 //=====================================================================================================================================================================
 // 4.7.1. Функция запускает обновление всех графиков с указанным периодом. Если обновление уже запущено, то функция меняет период обновления графиков.
 //        Останавливается обновление функциями "ServiceStopRefreshChart()" или "ServiceStopRefreshAllCharts()" или закрытием графика.
 void ServiceRefreshAllCharts(int nPeriodMilliSec); // Период обновления графика в миллисекундах.
 //=====================================================================================================================================================================
 // 4.7.2. Функция запускает обновление всех графиков однократно. Вызов функции при работающих других режимах останавливает обновление всех графиков.
 void ServiceRefreshAllOnceCharts();
 //=====================================================================================================================================================================
 // 4.7.3. Функция запускает обновление указанного графика с указанным периодом. Если обновление уже запущено, то функция меняет только период обновления графика.
 //        Останавливается обновление функциями "ServiceStopRefreshChart()" или "ServiceStopRefreshAllCharts()" или закрытием графика.
 void ServiceRefreshChart(int hwndChart,        // Системный дескриптор обновляемого графика.
                          int nPeriodMilliSec); // Период обновления графика в миллисекундах.
 //=====================================================================================================================================================================
 // 4.7.4. Функция останавливает обновление указанного графика.
 void ServiceStopRefreshChart(int hwndChart); // Системный дескриптор графика, на котором останавливается обновление.
 //=====================================================================================================================================================================
 // 4.7.5. Функция корректно останавливает обновление всех графиков при bTerminate = FALSE, иначе функция завершает обновление аварийно.
 void ServiceStopRefreshAllCharts(int bTerminate); // Флаг аварийной остановки потоков обновления графиков.
                                                   // FALSE - потоки останавливаются корректно, TRUE - потоки останавливаются аварийно.
 //=====================================================================================================================================================================
 // 4.7.6. Функция эммулирует тик для эксперта на указанном графике.
 void ServiceTickExpert(int hwndChart); // Системный дескриптор окна графика, для эмуляции тика для эксперта.
 //=====================================================================================================================================================================
 // 4.7.7. Функция эммулирует тик для индикаторов на указанном графике.
 void ServiceTickIndicators(int hwndChart); // Системный дескриптор окна графика, для эмуляции тика для индикаторов.

Solo che è meglio aspettare un po'. Pubblicata una nuova versione. Forse i moderatori lo pubblicheranno oggi.

 
Zhunko:

Biblioteca. Avete bisogno di 4.7.7 ServiceTickIndicators().

Solo che è meglio aspettare ancora un po'. Pubblicata una nuova versione. Forse i moderatori lo pubblicheranno oggi.


Pagato?

 
Twilight:
In Metatrader, in qualsiasi finestra dello strumento, se cliccate con il tasto destro, c'è un pulsante di aggiornamento

c'è un modo per chiamare questa funzione programmaticamente?

RefreshRates non sembra essere così.


#import "user32.dll"
int PostMessageA (int hWnd, int  Msg, int wParam, int lParam);
#import

PostMessageA (WindowHandle (Symbol(), Period()), 0x0111, 33324, 0);

Ma non vi darà nulla. :)

 
Twilight:


Pagato?

No. Dove c'è scritto che è stato pagato?
 
silatyt:

Ma non ti servirà a niente... :)

Dovete ridisegnarlo visivamente.

Ciclo attraverso le ultime N barre e se c'era un segnale - segnale=vero.

Dopo di che puoi fare quello che vuoi con tutti gli altri indicatori non ridisegnati.

PostMessageA (WindowHandle(Symbol(), Period()), 0x0111, 33324, 0);

Dove inserire? All'inizio di Start?

Grazie.

 
Twilight:

Sarà ridisegnato visivamente.

Ciclo attraverso le ultime N barre e se c'era un segnale allora signal=true

E poi puoi fare quello che vuoi con qualsiasi altro indicatore non ridisegnato.

PostMessageA (WindowHandle(Symbol(), Period()), 0x0111, 33324, 0);

Dove inserire? All'inizio di Start?

Grazie.

Prima della chiamata dell'indicatore (potete farlo anche all'inizio di start()).

P.S. Tutti stanno "scappando" dal ridisegno, e tu ci sei dietro - in modo non convenzionale... :))

 
silatyt:

Prima di chiamare l'indicatore (può anche essere all'inizio di start()).

P.S. Tutti stanno "scappando" dal ridisegno, mentre tu ci sei dietro... :))


Per esempio, ecco una variante: ridisegniamo su m5 e controlliamo se c'è un segnale per le ultime 12 barre.

E sui nuovi m15 m30 controlliamo se c'è stato un segnale su m5 e se il prezzo è ancora rilevante, cioè soddisfa i requisiti per entrare.

Ed è anche possibile analizzare quante volte durante la stessa ora il segnale è cambiato, è scomparso, ecc.

E il segnale ha un nome ed è possibile analizzare visivamente il grafico per nome =)

In generale, un intero campo non arato per la sperimentazione. Ma finora, un tale risultato =)

Con la mia modifica

http://komplekt73.ru/forex/m5chastr.htm

Motivazione: