Aiuto per la codifica - pagina 179

 

Grazie mille! mladen

Ora è diventato chiaro!

In questo modo non ho pensato Grazie ancora!

 
mladen:
Nella tua immagine stai mostrando un grafico a 1 ora e il valore dell'indicatore giornaliero

Nella chiamata iCustom() state usando il time frame corrente. Se vuoi usare il time frame giornaliero devi specificarlo nella chiamata iCustom (altrimenti non sarà mai lo stesso)

Inoltre, stai usando una chiamata a barra aperta. Se hai intenzione di usare una chiamata multi time frame dall'EA allora dovresti sapere che usare una barra aperta multi time frame nel back-test darà risultati non validi (saprà sempre "il futuro") quindi non dovresti usare una chiamata a barra aperta se hai intenzione di usare multi time frame

Младен день добрый, ещё раз..

вот что у меня сейчас получилось..

дальше ни фантазии ни опыта не хватает,

сильно не судите и не ругайте... для меня это ещё тяжело.

надеюсь на вашу снисходительность и понимание.

datetime timeprev;

extern color Color_Buy = Blue;// цвет вертикальной линии при сигнале к покупке

extern color Color_Sell = Red;// цвет вертикальной линии при сигнале к продаже

int start() {

double aTrend[2] ;

int ticket, err;

if (timeprev == Time[0]) return (0);

timeprev = Time[0];

aTrend[0] =iCustom(NULL, PERIOD_D1, "DSS Bressert + ahtf_(FILTER)", 6, 0); // буфер номер 6

aTrend[0] =iCustom(NULL, PERIOD_D1, "DSS Bressert + ahtf_(FILTER)", 6, 1); // буфер номер 6

if (aTrend[0] > aTrend[1] && aTrend[0] !=Close[1]) //Signal_Buy

{

RefreshRates();

//=========================================

{

string name = StringConcatenate(" BUY ",Symbol()," ",TimeToStr(Time[0]));

ObjectCreate(name,OBJ_VLINE,0,Time[0],0);

ObjectSet(name,OBJPROP_COLOR,Color_Buy);//Color_Buy_line

}

//=========================================

err = GetLastError();

}

if (aTrend[0] < aTrend[1] && aTrend[0] !=Close[1])//Signal_Sell

{

RefreshRates();

//============================================

{

name = StringConcatenate(" SELL ",Symbol()," ",TimeToStr(Time[0]));

ObjectCreate(name,OBJ_VLINE,0,Time[0],0);

ObjectSet(name,OBJPROP_COLOR,Color_Sell);//Color_Sell_line

}

//=============================================

err = GetLastError();

}

return(0); }

//+-----------------------------------+

Помогите взять сигналы с индикатора - с периодом( PERIOD_D1),

на рабочем графике (H1)

 

Buongiorno a tutti. Sono qui per una richiesta. Mi piacerebbe avere un avviso quando il trend sia al rialzo che al ribasso raggiunge il 70%. Sarebbe bello anche se ci sarà un'indicazione cioè il colore sulla candela dove il + Trend + UP o DOWN ha raggiunto il 70%.

Se è apparso un errore durante la compilazione 'l'uso del codice sorgente decompilato è proibito' errore, questo sarà di aiuto: Ho usato una vecchia build di mt4 questa FXDDmt4setup_Build220 caricata da matfx e ha compilato con successo senza errori. Mi dispiace per il problema.

 
shtopr:
Младен день добрый, ещё раз..

вот что у меня сейчас получилось..

дальше ни фантазии ни опыта не хватает,

сильно не судите и не ругайте... для меня это ещё тяжело.

надеюсь на вашу снисходительность и понимание.

datetime timeprev;

extern color Color_Buy = Blue;// цвет вертикальной линии при сигнале к покупке

extern color Color_Sell = Red;// цвет вертикальной линии при сигнале к продаже

int start() {

double aTrend[2] ;

int ticket, err;

if (timeprev == Time[0]) return (0);

timeprev = Time[0];

aTrend[0] =iCustom(NULL, PERIOD_D1, "DSS Bressert + ahtf_(FILTER)", 6, 0); // буфер номер 6

aTrend[0] =iCustom(NULL, PERIOD_D1, "DSS Bressert + ahtf_(FILTER)", 6, 1); // буфер номер 6

if (aTrend[0] > aTrend[1] && aTrend[0] !=Close[1]) //Signal_Buy

{

RefreshRates();

//=========================================

{

string name = StringConcatenate(" BUY ",Symbol()," ",TimeToStr(Time[0]));

ObjectCreate(name,OBJ_VLINE,0,Time[0],0);

ObjectSet(name,OBJPROP_COLOR,Color_Buy);//Color_Buy_line

}

//=========================================

err = GetLastError();

}

if (aTrend[0] < aTrend[1] && aTrend[0] !=Close[1])//Signal_Sell

{

RefreshRates();

//============================================

{

name = StringConcatenate(" SELL ",Symbol()," ",TimeToStr(Time[0]));

ObjectCreate(name,OBJ_VLINE,0,Time[0],0);

ObjectSet(name,OBJPROP_COLOR,Color_Sell);//Color_Sell_line

}

//=============================================

err = GetLastError();

}

return(0); }

//+-----------------------------------+[/PHP]

Помогите взять сигналы с индикатора - с периодом( PERIOD_D1),

на рабочем графике (H1)

shtopr

Cambia questo :

aTrend[0] =iCustom(NULL, PERIOD_D1, "DSS Bressert + ahtf_(FILTER)", 6, 0); // буфер номер 6

aTrend[0] =iCustom(NULL, PERIOD_D1, "DSS Bressert + ahtf_(FILTER)", 6, 1); // буфер номер 6

a questo :

[PHP]aTrend[0] =iCustom(NULL, PERIOD_D1, "DSS Bressert + ahtf_(FILTER)", 6, 0); // буфер номер 6

aTrend[1] =iCustom(NULL, PERIOD_D1, "DSS Bressert + ahtf_(FILTER)", 6, 1); // буфер номер 6

(la seconda linea dovrebbe usare atrend[1] non atrend[0] come la prima linea)

e prova allora

 

Младен Спасибо болшое!

 
strawmango:
Buona giornata a tutti. Sono qui per una richiesta. Mi piacerebbe avere un avviso quando la tendenza, sia verso l'alto che verso il basso, raggiunge il 70%. Sarebbe bello anche se ci sarà un'indicazione cioè il colore sulla candela dove il + Trend + UP o DOWN ha colpito il 70%.

Se è apparso un errore durante la compilazione 'l'uso del codice sorgente decompilato è proibito' errore, questo sarà di aiuto: Ho usato una vecchia build di mt4 questa FXDDmt4setup_Build220 caricata da matfx e ha compilato con successo senza errori. Mi dispiace per il problema.

забирайте. код большой, пришлось повозиться.

 

доброго дня младен!

исправления помогли! Спасибо.

теперь уже гораздо лучше! но ещё есть ложные сигналы,

как от них избавиться? хотелось, что бы всё работало идеально.. ))

как сделать правильно?

File:
84701_1.jpg  140 kb
 
shtopr:
доброго дня младен!

исправления помогли! Спасибо.

теперь уже гораздо лучше! но ещё есть ложные сигналы,

как от них избавиться? хотелось, что бы всё работало идеально.. ))

как сделать правильно??

Francamente non so cosa sta succedendo

Il primo è che hai usato i parametri di default invece del 2,9,5 (come sull'indicatore)

Il secondo è il seguente. Quello che ho notato è che i valori del dss giornaliero stanno cambiando di volta in volta anche se non dovrebbero cambiare affatto. Questo significa che nel back testing hanno cambiato qualcosa su come gli indicatori multi time frame vengono chiamati da un EA. Cosa hanno cambiato non ne ho idea, ma sembra che d'ora in poi il back testing multi time frame non funzionerà più come prima

Allego la versione che ho testato che vi mostrerà il valore del DSS e vedrete che di volta in volta sta cambiando i valori attuali del DSS (anche se non dovrebbe farlo nel back test - o hanno cambiato qualcosa per farlo funzionare in multi time frame per la barra corrente nello stesso modo in cui funziona in runtime). Quindi, o si tratta di un nuovo modo in cui il back test sta funzionando o di un altro bug di Metatrader, non posso dire quale dei due sta accadendo (dal momento che nello stesso tempo l'indicatore stesso funziona come dovrebbe)

File:
test_5.mq4  2 kb
 
shtopr:
доброго дня младен!

исправления помогли! Спасибо.

теперь уже гораздо лучше! но ещё есть ложные сигналы,

как от них избавиться? хотелось, что бы всё работало идеально.. ))

как сделать правильно?

shtopr,

Date un'occhiata a questo post: https: //www.mql5.com/en/forum/181280/page7

Lì troverai cosa succede quando usi l'indicatore multi time frame in un EA e quando fai il back test di tale EA

 
kenwa:
Ciao mladen, potresti gentilmente aiutare a convertire questi due in versione rsi separatamente? Ho provato ma non so come farlo, cioè rsi di kairi, rsi di cci? grazie mille per l'aiuto.

kenwa

Questo è rsi di cci

Scoprirai che è molto facile fare lo stesso con l'indicatore "kairi".

File: