Aiuto per la codifica - pagina 723

 

ciao Mr.Mladen, ciao a tutti ... vorrei essere nel posto giusto, ho bisogno di un aiuto, per favore modifiche a questi indicatori, in modo che cambia colore linea magenta quando ha attraversato la linea di colore skyblue ... esempio: quando la croce sale, il colore linea magenta diventa verde, e quando attraversa giù girare rosso .. grazie prima. scusa per il mio inglese :)
 
bilbao:

ciao signor mladen

si prega di fare MTF ad esso

per quanto riguarda

Ecco la versione multi time frame

 
Ciao Mladen, mi hai aiutato in passato a modificare alcuni indicatori e apprezzo molto i tuoi sforzi. Spero che tu possa aiutarmi con questo indicatore. È un indicatore a tempo di candela ma indipendente dai tick e ha l'opzione di selezionare la scelta preferita di timeframes da monitorare. Ecco perché amo questo indicatore. L'unico problema che ho con esso è che quando lo carico su un grafico appare nel mezzo del grafico in modo che a volte ho difficoltà a vederlo correttamente a causa del movimento delle candele del prezzo. Spero che tu possa modificarlo in modo che abbia l'opzione di farlo apparire in qualsiasi angolo del grafico a destra. Allego l'indicatore con un'immagine che illustra ciò che intendo.
File:
 
baraozemo:

Ciao mladen,

ecco il campione-ea

Mladen,
iltrailing step funziona allo stesso modo per le operazioni di acquisto o divendita...
è spostare lo "stoploss" usando il passo di trailing.

per esempio: (un esempio di acquisto)


EA Input:
=========
TakeProfit      =22000 (22 points)
Trailing_Distance=4000 (4 points)
Trailing_Step    =2000 (2 points)
StopLoss         =8000 (8 points)

 

====operation entry
buy at price   3440.00  
stoploss      =3432.00 (entrance -8 points)
takeprofit    =3462.00 (entrance +22 points)
-------

price reached       =3444.00    (=4 points)
trailing distance reached   (4000=4 points) 
then move stoploss using 'step' (2000= 2 points)
new stoploss now is =3434.00    (=+2 points from step)

------- 

price reached       =3448.00    (=+4 points)
trailing distance reached (4000=4 points) 
then move stoploss using 'step' (2000= 2 points)
new stoploss now is =3436.00    (=+2 points from step)

-------

price grown up to   =3452.00    (=+4 points)
trailing distance reached (4000=4 points) 
then move stoploss using 'step' (2000= 2 points)
new stoploss now is =3438.00    (=+2 points from step)

-------

 

when is a "buy" operation , step (increase the stoploss price)
when is a "sell" operation, step (decrease the stoploss price)

 

salve signor mladen:

potresti fare un semplice istogramma di questo utile indicatore

per quanto riguarda

File:
 
mladen:

Ecco la versione multi time frame

grazie mille signore
 

Caro Mladen,

Ho bisogno del tuo aiuto per controllare il codice EA per l'utilizzo dell'indicatore SmStrengthRange 09_v2.4

dopo l'incrocio delle coppie ex EURUSD
(incrocio EUR verso USD superiore) allora appare il primo punto verde di divergenza = COMPRA
(incrocio EUR verso USD inferiore) allora appare il primo punto rosso di divergenza = VENDI

Ho appena provato da solo ma non funziona
Per favore controlla questo codice e correggi

// Indicatore che chiama

double USD=iCustom(NULL,0, "smStrengthRange09_v2.4",3,shift);
double USD1=iCustom(NULL,0, "smStrengthRange09_v2.4",3,shift+1);
double EUR=iCustom(NULL,0, "smStrengthRange09_v2.4",4,shift);
double EUR1=iCustom(NULL,0, "smStrengthRange09_v2.4",4,shift+1);
double GBP=iCustom(NULL,0, "smStrengthRange09_v2.4",5,shift);
double GBP1=iCustom(NULL,0, "smStrengthRange09_v2.4",5,shift+1);
double CHF=iCustom(NULL,0, "smStrengthRange09_v2.4",6,shift);
double CHF1=iCustom(NULL,0, "smStrengthRange09_v2.4",6,shift+1);
double JPY=iCustom(NULL,0, "smStrengthRange09_v2.4",7,shift);
double JPY1=iCustom(NULL,0, "smStrengthRange09_v2.4",7,shift+1);
double AUD=iCustom(NULL,0, "smStrengthRange09_v2.4",8,shift);
double AUD1=iCustom(NULL,0, "smStrengthRange09_v2.4",8,shift+1);
double CAD=iCustom(NULL,0, "smStrengthRange09_v2.4",9,shift);
double CAD1=iCustom(NULL,0, "smStrengthRange09_v2.4",9,shift+1);
double NZD=iCustom(NULL,0, "smStrengthRange09_v2.4",10,shift);
double NZD1=iCustom(NULL,0, "smStrengthRange09_v2.4",10,shift+1);

double green=iCustom(NULL,0, "smStrengthRange09_v2.4",11,shift);
double greena=iCustom(NULL,0, "smStrengthRange09_v2.4",11,shift+1);
double red=iCustom(NULL,0, "smStrengthRange09_v2.4",12,shift);
double reda=iCustom(NULL,0, "smStrengthRange09_v2.4",12,shift+1);

/Entry signal

if ((green!=EMPTY_VALUE && !(greena!=EMPTY_VALUE && EUR>USD)) signal1=1;

if((red!=EMPTY_VALUE && !(reda!=EMPTY_VALUE && EUR<USD)) signal2=2;


Si prega di chiedere aiuto per vedere questo codice e correggere


Grazie e saluti

 
basheer1966:

Caro Mladen,

Ho bisogno del tuo aiuto per controllare il codice EA per l'utilizzo dell'indicatore SmStrengthRange 09_v2.4

dopo l'incrocio delle coppie ex EURUSD
(incrocio EUR verso USD superiore) allora appare il primo punto verde di divergenza = COMPRA
(incrocio EUR verso USD inferiore) allora appare il primo punto rosso di divergenza = VENDI

Ho appena provato da solo ma non funziona
Per favore controlla questo codice e correggi

// Indicatore che chiama

double USD=iCustom(NULL,0, "smStrengthRange09_v2.4",3,shift);
double USD1=iCustom(NULL,0, "smStrengthRange09_v2.4",3,shift+1);
double EUR=iCustom(NULL,0, "smStrengthRange09_v2.4",4,shift);
double EUR1=iCustom(NULL,0, "smStrengthRange09_v2.4",4,shift+1);
double GBP=iCustom(NULL,0, "smStrengthRange09_v2.4",5,shift);
double GBP1=iCustom(NULL,0, "smStrengthRange09_v2.4",5,shift+1);
double CHF=iCustom(NULL,0, "smStrengthRange09_v2.4",6,shift);
double CHF1=iCustom(NULL,0, "smStrengthRange09_v2.4",6,shift+1);
double JPY=iCustom(NULL,0, "smStrengthRange09_v2.4",7,shift);
double JPY1=iCustom(NULL,0, "smStrengthRange09_v2.4",7,shift+1);
double AUD=iCustom(NULL,0, "smStrengthRange09_v2.4",8,shift);
double AUD1=iCustom(NULL,0, "smStrengthRange09_v2.4",8,shift+1);
double CAD=iCustom(NULL,0, "smStrengthRange09_v2.4",9,shift);
double CAD1=iCustom(NULL,0, "smStrengthRange09_v2.4",9,shift+1);
double NZD=iCustom(NULL,0, "smStrengthRange09_v2.4",10,shift);
double NZD1=iCustom(NULL,0, "smStrengthRange09_v2.4",10,shift+1);

double green=iCustom(NULL,0, "smStrengthRange09_v2.4",11,shift);
double greena=iCustom(NULL,0, "smStrengthRange09_v2.4",11,shift+1);
double red=iCustom(NULL,0, "smStrengthRange09_v2.4",12,shift);
double reda=iCustom(NULL,0, "smStrengthRange09_v2.4",12,shift+1);

/Entry signal

if ((green!=EMPTY_VALUE && !(greena!=EMPTY_VALUE && EUR>USD)) signal1=1;

if((red!=EMPTY_VALUE && !(reda!=EMPTY_VALUE && EUR<USD)) signal2=2;


Si prega di chiedere aiuto per vedere questo codice e correggere


Grazie e saluti

Non stai controllando gli incroci. Stai solo controllando se un certo valore è maggiore o minore dell'altro valore

Per gli incroci devi controllare almeno 2 valori di 2 buffer (4 valori da controllare)

 

Ciao Pro-Coders,

Vorrei implementare un filtro RSI bool che può essere attivato o disattivato.

Questa routine può/deve essere ottimizzata?

extern bool RSI_on = true;

   if(RSI_on=true)

     {
      if(trendNow!=trendPrev)
        {
         if(trendNow>0 && (NLD1>NLD2) && RSIfilter>51)
           {
            OpenBuy_  =true;
            CloseSell_=true;
           }
         else
         if(trendPrev>0 && (NLD1<NLD2) && RSIfilter<49)
           {
            OpenSell_=true;
            CloseBuy_=true;
           }
        }
     }
else
     if(trendNow!=trendPrev)
     {
      if(trendNow>0 && (NLD1>NLD2))
        {
         OpenBuy_  =true;
         CloseSell_=true;
        }
      else
      if(trendPrev>0 && (NLD1<NLD2))
        {
         OpenSell_=true;
         CloseBuy_=true;
        }
     }
 
tfi_markets:

Ciao Pro-Coders,

Vorrei implementare un filtro RSI bool che può essere attivato o disattivato.

Questa routine può/deve essere ottimizzata?

extern bool RSI_on = true;

   if(RSI_on=true)

     {
      if(trendNow!=trendPrev)
        {
         if(trendNow>0 && (NLD1>NLD2) && RSIfilter>51)
           {
            OpenBuy_  =true;
            CloseSell_=true;
           }
         else
         if(trendPrev>0 && (NLD1<NLD2) && RSIfilter<49)
           {
            OpenSell_=true;
            CloseBuy_=true;
           }
        }
     }
else
     if(trendNow!=trendPrev)
     {
      if(trendNow>0 && (NLD1>NLD2))
        {
         OpenBuy_  =true;
         CloseSell_=true;
        }
      else
      if(trendPrev>0 && (NLD1<NLD2))
        {
         OpenSell_=true;
         CloseBuy_=true;
        }
     }

Prova così (questo dovrebbe essere l'intero codice che sostituisce il codice superiore):

      if(trendNow!=trendPrev)
         if(trendNow>0 && (NLD1>NLD2) && (!RSI_on || (RSI_on && RSIfilter>51)))
           {
            OpenBuy_  =true;
            CloseSell_=true;
           }
         else
         if(trendPrev>0 && (NLD1<NLD2) && (!RSI_on || (RSI_on && RSIfilter<49)))
           {
            OpenSell_=true;
            CloseBuy_=true;
           }