Aiuto per la codifica - pagina 504

 
candyman752:
questa povera anima ha bisogno del tuo aiuto

Ok. Ho aggiunto di nuovo la parte delle condizioni di chiusura (allegata). Gli errori che appaiono quando l'originale viene compilato è lo stesso che ho aggiustato. Ora torniamo alle domande originali: sono riuscito a scrivere il codice in modo tale da soddisfare le condizioni che ho impostato quando ho postato per la prima volta quando ho iniziato la mia richiesta su questo. Che è comprare su RSI 6 Stoch 16.3.3 EMA 5 sopra il livello ema50 sopra il 70 e vendere quando

rsi 6 stoch16.3.3 ema5below ema50 level below 30. anche voi potreste interpretare le condizioni di chiusura per me. quello che ho fatto per correggere il file è stato aprire i file in meta editor e poi ho fatto in modo che lo schermo mostrasse da un lato un file e dall'altro un file, in modo tile, accanto ad esso e appena andato linea per linea per vedere quali linee mancavano o erano diverse. Non so codificare, ma posso provare a decifrare ciò che qualcuno ha fatto e per buon senso cambiare una cosa o due. sei una stella mladen

 
candyman752:
Ok. Ho aggiunto di nuovo la parte delle condizioni di chiusura (allegato). Gli errori che appaiono quando l'originale viene compilato è lo stesso che ho aggiustato. Ora torniamo alle domande originali: sono riuscito a scrivere il codice in modo tale da soddisfare le condizioni che ho impostato quando ho postato per la prima volta quando ho iniziato la mia richiesta su questo. Che è comprare su RSI 6 Stoch 16.3.3 EMA 5 sopra il livello ema50 sopra 70 e vendere quando rsi 6 stoch16.3.3 ema5below ema50 livello sotto 30. anche potrebbe interpretare le condizioni di chiusura per me. quello che ho fatto per correggere il file è stato aprire i file in meta editor e poi ha fatto lo schermo mostra un lato un file e un altro file, in modo tile, accanto ad esso e appena andato linea per linea per vedere quali linee erano mancanti o diverse. Non so codificare, ma posso provare a decifrare ciò che qualcuno ha fatto e per buon senso cambiare una cosa o due. sei una stella mladen

candyman752

Prova l'EA. Quelli sono avvertimenti del compilatore, non errori. Indipendentemente da questi avvertimenti l'EA dovrebbe funzionare

 
mladen:
candyman752 Prova l'EA. Quelli sono avvertimenti del compilatore, non errori. Indipendentemente da questi avvertimenti l'EA dovrebbe funzionare

Deduco che il tuo silenzio sulla conferma sia la conferma che sono riuscito a codificarlo per fare quanto segue: RSI 6 stoch 16-3-3 / 5EMA 50EMA.over bought level 70 oversold level 30. Dovrebbe comprare quando 5ema si muove sopra 50 ema e rsi e stoch sono sopra 70 e dovrebbe vendere quando 5 ema è sotto 50ema e rsi e stoch sono sotto 30.

 

Ciao madlen, lasciami mettere la mia richiesta in un altro modo

nell'EA originale le condizioni per comprare o vendere erano

if(EMA5aEMA10&&RSI1>RSILevel&&STOS<STOM&&STOS<Overbought&&STOM<Overbought)SBUY="true";

if(EMA5a>EMA10a&&EMA5<EMA10&&RSI1STOM&&STOS>Oversold&&STOM>Oversold)SSEL="true";

Ho quindi modificato il codice come segue

if(EMA5aEMA50&&RSI1>RSILevelb&&STOSOverbought&&&STOM>Overbought)SBUY="true";

if(EMA5a>EMA50a&&EMA5<EMA50&&RSI1STOM&&STOS<Oversold&&STOM<Oversold)SSEL="true";

RSI levelb=70 RSI levels=30 overbought=70 oversold=30.

Il cambiamento che ho fatto al codice corrisponde alle condizioni che ho dichiarato prima. comprare quando 5ema è sopra 5ema rsi sopra 70 stocastico sopra 70 e viceversa

 
candyman752:
Prendo atto che il tuo silenzio sulla conferma è la conferma che sono riuscito a codificarlo per fare quanto segue: RSI 6 stoch 16-3-3 / 5EMA 50EMA.over bought level 70 oversold level 30. Dovrebbe comprare quando 5ema si muove sopra 50 ema e rsi e stoch sono sopra 70 e dovrebbe vendere quando 5 ema è sotto 50ema e rsi e stoch sono sotto 30.

uomo delle caramelle752

Quello che ho detto è che la lista che il compilatore mostra dopo la compilazione contiene solo avvisi che non influenzano l'esecuzione dell'EA (qualsiasi EA). Non ho controllato la logica né ho testato l'EA. Questo è il motivo per cui ho detto che devi testarlo.

Per quanto riguarda il codice, funzionerà. Sta al tuo lavoro metterlo a punto e regolarlo dove serve

felice codifica

 

Codificatori,

Sto riscontrando alcuni problemi con il seguente codice.

Per molto tempo sto usando 2 indicatori come filtro. Essi visualizzano la tendenza in un istogramma nella seconda finestra.

Ho provato a creare un terzo indicatore che combina entrambi gli indicatori in un istogramma.

Purtroppo non funziona, ho chiamato entrambi gli indicatori con la funzione iCustom e uso il buffer giusto. Ma l'istogramma rimane vuoto.

Per trovare il problema ho sostituito le funzioni iCustom con una funzione iMA. In quel momento il codice ha funzionato e l'istogramma ha mostrato i colori giusti . Quindi ha qualcosa a che fare con le funzioni iCustom o con le istruzioni if.

Spero che qualcuno possa aiutarmi.

Grazie in anticipo

#property copyright ""#property link ""

#property version "1.00"

#property strict

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 LimeGreen

#property indicator_color2 Red

#property indicator_width1 3

#property indicator_width2 3

#property indicator_minimum 0

#property indicator_maximum 1

double Groen[];

double Rood[];

double zibo1g[],zibo1r[],zibo2g[],zibo2r[];

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

//| Custom indicator initialization function |

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

int OnInit()

{

SetIndexBuffer(0,Groen);

SetIndexStyle(0,DRAW_HISTOGRAM);

SetIndexLabel(0,"Groen");

SetIndexBuffer(1,Rood);

SetIndexStyle(1,DRAW_HISTOGRAM);

SetIndexLabel(1,"Rood");

IndicatorShortName("Zibo Combo");

return(INIT_SUCCEEDED);

}

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

//| Custom indicator iteration function |

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

int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],const double &high[],const double &low[],const double &close[],const long &tick_volume[],const long &volume[],const int &spread[])

{

int counted_bars=IndicatorCounted();

int limit=Bars-counted_bars;

double dResult = 1;

for(int i=0; i<limit; i++){

zibo1g=iCustom(NULL,0,"zibo1",0,i); //green histogram

zibo1r=iCustom(NULL,0,"zibo1",1,i); //red histogram

zibo2g=iCustom(NULL,0,"zibo2",0,i); //green histogram

zibo2r=iCustom(NULL,0,"zibo2",1,i); //red histogram

if(zibo1g != EMPTY_VALUE && zibo2g != EMPTY_VALUE)

Groen = dResult;

else if(zibo1r != EMPTY_VALUE && zibo2r != EMPTY_VALUE)

Rood = dResult;

}

return(rates_total);

}
 

m1-red.mq4

Ciao a tutti. Ho bisogno di aiuto per fissare questo indicatore .. in pratica bisogno di aggiungere un (20-periodo MA) con la stessa funzione di quello esistente, ed eliminare eliminare le caselle di colore, non utilizzati

Chiedo sempre scusa per il mio cattivo inglese

File:
m1-red.mq4  3 kb
 
xtractalpha:
Codificatori,

Sto riscontrando alcuni problemi con il seguente codice.

Per molto tempo sto usando 2 indicatori come filtro. Essi visualizzano la tendenza in un istogramma nella seconda finestra.

Ho provato a creare un terzo indicatore che combina entrambi gli indicatori in un istogramma.

Purtroppo non funziona, ho chiamato entrambi gli indicatori con la funzione iCustom e uso il buffer giusto. Ma l'istogramma rimane vuoto.

Per trovare il problema ho sostituito le funzioni iCustom con una funzione iMA. In quel momento il codice ha funzionato e l'istogramma ha mostrato i colori giusti . Quindi ha qualcosa a che fare con le funzioni iCustom o con le istruzioni if.

Spero che qualcuno possa aiutarmi.

Grazie in anticipo

#property copyright ""#property link ""

#property version "1.00"

#property strict

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 LimeGreen

#property indicator_color2 Red

#property indicator_width1 3

#property indicator_width2 3

#property indicator_minimum 0

#property indicator_maximum 1

double Groen[];

double Rood[];

double zibo1g[],zibo1r[],zibo2g[],zibo2r[];

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

//| Custom indicator initialization function |

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

int OnInit()

{

SetIndexBuffer(0,Groen);

SetIndexStyle(0,DRAW_HISTOGRAM);

SetIndexLabel(0,"Groen");

SetIndexBuffer(1,Rood);

SetIndexStyle(1,DRAW_HISTOGRAM);

SetIndexLabel(1,"Rood");

IndicatorShortName("Zibo Combo");

return(INIT_SUCCEEDED);

}

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

//| Custom indicator iteration function |

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

int OnCalculate(const int rates_total,const int prev_calculated,const datetime &time[],const double &open[],const double &high[],const double &low[],const double &close[],const long &tick_volume[],const long &volume[],const int &spread[])

{

int counted_bars=IndicatorCounted();

int limit=Bars-counted_bars;

double dResult = 1;

for(int i=0; i<limit; i++){

zibo1g=iCustom(NULL,0,"zibo1",0,i); //green histogram

zibo1r=iCustom(NULL,0,"zibo1",1,i); //red histogram

zibo2g=iCustom(NULL,0,"zibo2",0,i); //green histogram

zibo2r=iCustom(NULL,0,"zibo2",1,i); //red histogram

if(zibo1g != EMPTY_VALUE && zibo2g != EMPTY_VALUE)

Groen = dResult;

else if(zibo1r != EMPTY_VALUE && zibo2r != EMPTY_VALUE)

Rood = dResult;

}

return(rates_total);

}

I tuoi array zibo1g[],zibo1r[],zibo2g[] e zibo2r[] sono sempre array di dimensione zero (non sono mai inizializzati - ridimensionati agli elementi della barra)

È meglio che li dichiariate come buffer aggiuntivi se non avete familiarità con gli array in mql

 
morenokosta:
m1-red.mq4

Ciao a tutti. Ho bisogno di aiuto per fissare questo indicatore .. in pratica bisogno di aggiungere un (20-periodo MA) con la stessa funzione di quello esistente, ed eliminare eliminare le caselle di colore, non utilizzati

Chiedo sempre scusa per il mio cattivo inglese

Non ci sono caselle di colore in quello che hai allegato. Comunque prova questo: m1-red_1.mq4

File:
m1-red_1.mq4  3 kb
 

Grazie Mladen per essere sempre disponibile.

nel post precedente mi chiedevo se fosse possibile aggiungere un'altra MA di 20 periodi con la stessa formula

Motivazione: