[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 500
Ciao, Dimitri. Da parte mia, sono pronto a suggerirvi la seguente variante. Per analogia, vedi l'attivazione dei criteri di trading di questo articolo - ci sono anche due segnali - cioè, vedi dopo la seconda immagine "La prima cosa che dovresti aspettare sul grafico DeMarker è il momento in cui il DeMarker attraversa la linea MA veloce e lenta vicino a 0,7 per una posizione short. Questo è il primo segnale preliminare. Poi aspettiamo l'attraversamento delle linee MA stesse. Questo è il segnale principale, dopo il quale si possono prendere le letture dell'indicatore Taichi. Se le linee MA non sono attraversate, è considerato un falso segnale e il movimento del prezzo continuerà. Ecco come è implementato nel mio codice - nell'inclusione inclusa dei gufi che sono responsabili dell'attivazione dei criteri di trading.
Il trucco principale è che lavoriamo attraverso i due fi ndi sotto menzionati impostando e resettando le bandiere quando uno o un altro criterio di trading è innescato.
Salverete inoltre l'ora attuale quando il criterio principale è attivato usando TimeCurrent, cioè specificherete un'espressione di tipo x = TimeCurrent prima direturn(OP_BUY); oreturn(OP_SELL); dove x è una variabile globale di tipo datetime per analogia nella prima funzioneint_op_DeMarker. Poi fate lo stesso con la seconda funzioneint type_op_MA... - lì si memorizza la variabile y = TimeCurrent;
Poi nel blocco di calcolo dei criteri di trading si confronta il segno più e il valore di queste due variabili, come segue (si scopre che non è necessario l'analogo di lavorare con i valori UTC - invece si prende un confronto del tempo di ricezione dei vostri due segnali commerciali):
P.S. In più vi invio una funzione per la possibilità di ottimizzare il valore del TF di lavoro.
P.P.S. Ecco come questa struttura di codice è organizzata nel mio codice. Non escludo che ci siano varianti di codice molto migliori per soddisfare tali condizioni dell'EA. :-)))
demlin: Non sono stato vicino al computer per un po'))). Solo che non ho capito bene la funzione per ottimizzare il TF di lavoro. Che cos'è?
È solo una specie di "adattatore", che permette di ottimizzare i timeframe dell'EA attraverso le variabili esterne di owl per impostare i migliori (-quelli, nel caso di owl che lavora su diversi TF) per il suo funzionamento... Una buona e utile caratteristica...
È solo una specie di "adattatore" che permette di ottimizzare i timeframe EA tramite variabili owl esterne per impostare i migliori (-quelli, in caso di funzionamento owl su diversi TF) per il suo funzionamento... Una buona e utile caratteristica...
Nella mia risposta, guarda attentamente il codice - è elencato subito dopo la fine del criterio {... return (0)}... nel blocco delle variabili esterne:
externint t_trend_period =6; // для оптимизации по всем периодам от 0 до 7 шаг 1// на каком ТФ работаем: 1-М1, 2-М5, 3-М15, 4-М30, 5-Н1, 6 - Н4, 7-день
e come usarlo per ottenere i valori degli indicatori:
//--------------------------------------------------------------- 3 --int Criterion() // Пользовательская функция
{
//--------------------------------------------------------------- 4 --int trend_period=GetPeriod(t_trend_period); // для выбора оптимального значения рабочего ТФ// Параметры технич. индикат:double Taichi_1 = iCustom (Symbol(), trend_period, "Cronex Taichi",Tenkan, Kijun, Senkou, FlatSE, 0, 1);
...
...
//--------------------------------------------------------------- 6 --
return(0); // Выход из пользов. функции
}
//--------------------------------------------------------------- 7 --
//для оптимизации по всем ТФ
int GetPeriod(int period)
{int periodres;
switch(period)
{
case 1: periodres=1;break;
case 2: periodres=5;break;
case 3: periodres=15;break;
case 4: periodres=30;break;
case 5: periodres=60;break;
case 6: periodres=240;break;
case 7: periodres=1440;break;
case 8: periodres=10080;break;
default: periodres=1;break;
}
return(periodres);
}
Expert Advisor basato su ZUP con forconi modificati
Quando si usa l'indicatore con i forconi, nel tester, per qualche motivo i forconi dell'indicatore girano nella direzione opposta (all'indietro)
Cosa può causare questa inversione
Signori, se non vi dispiace, vi prego di inviarmi la funzione che traina l'equità. Non riesco a trovarlo...
https://www.mql5.com/ru/code/8781
E nel codebase ce n'è in abbondanza.
https://www.mql5.com/ru/code/8781
E c'è molto nel codice
Ciao, Dimitri. Da parte mia, sono pronto a suggerirvi la seguente variante. Per analogia, vedi l'attivazione dei criteri di trading di questo articolo - ci sono anche due segnali - cioè, vedi dopo la seconda immagine "La prima cosa che dovresti aspettare sul grafico DeMarker è il momento in cui il DeMarker attraversa la linea MA veloce e lenta vicino a 0,7 per una posizione short. Questo è il primo segnale preliminare. Poi aspettiamo l'attraversamento delle linee MA stesse. Questo è il segnale principale, dopo il quale si possono prendere le letture dell'indicatore Taichi. Se le linee MA non sono attraversate, è considerato un falso segnale e il movimento del prezzo continuerà. Ecco come è implementato nel mio codice - nell'inclusione inclusa dei gufi che sono responsabili dell'attivazione dei criteri di trading.
Il trucco principale è che lavoriamo attraverso i due fi ndi sotto menzionati impostando e resettando le bandiere quando uno o un altro criterio di trading è innescato.
Salverete inoltre l'ora attuale quando il criterio principale è attivato usando TimeCurrent, cioè specificherete un'espressione di tipo x = TimeCurrent prima direturn(OP_BUY); oreturn(OP_SELL); dove x è una variabile globale di tipo datetime per analogia nella prima funzioneint_op_DeMarker. Poi fate lo stesso con la seconda funzioneint type_op_MA... - lì si memorizza la variabile y = TimeCurrent;
Poi nel blocco di calcolo dei criteri di trading si confronta il segno più e il valore di queste due variabili, come segue (si scopre che non è necessario l'analogo di lavorare con i valori UTC - invece si prende un confronto del tempo di ricezione dei vostri due segnali commerciali):
P.S. In più vi invio una funzione per la possibilità di ottimizzare il valore del TF di lavoro.
P.P.S. Ecco come questa struttura di codice è organizzata nel mio codice. Non escludo che ci siano varianti di codice molto migliori per soddisfare tali condizioni dell'EA. :-)))
Grazie mille, la tua risposta è stata molto utile
:-))) E cominciavo a pensare che l'avessi ingoiato e mi avessi mandato via con tutte quelle analogie, esempi, ecc. .... :-)))
:-))) Pensavo che l'avessi ingoiato e mi avessi mandato via con tutte quelle analogie, esempi, ecc. .... :-)))
Non sono stato vicino al computer per un po'))). Solo che non ho capito bene la funzione per ottimizzare il TF di lavoro. Che cos'è?
È solo una specie di "adattatore", che permette di ottimizzare i timeframe dell'EA attraverso le variabili esterne di owl per impostare i migliori (-quelli, nel caso di owl che lavora su diversi TF) per il suo funzionamento... Una buona e utile caratteristica...
È solo una specie di "adattatore" che permette di ottimizzare i timeframe EA tramite variabili owl esterne per impostare i migliori (-quelli, in caso di funzionamento owl su diversi TF) per il suo funzionamento... Una buona e utile caratteristica...
Come si ottiene?
Nella mia risposta, guarda attentamente il codice - è elencato subito dopo la fine del criterio {... return (0)}... nel blocco delle variabili esterne:
e come usarlo per ottenere i valori degli indicatori: