Chiedete! - pagina 86

 
int start()

{

int limite;

int counted_bars=IndicatorCounted();

//---- controllare eventuali errori

if(counted_bars<0) return(-1);

//---- l'ultima barra contata sarà ricontata

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

//---- ciclo principale

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

{

//---- ma_shift impostato su 0 perché SetIndexShift chiamato in precedenza

ExtBlueBuffer=iMA(NULL,0,JawsPeriod,0,MODE_SMMA,PRICE_MEDIAN,i);

ExtRedBuffer=iMA(NULL,0,TeethPeriod,0,MODE_SMMA,PRICE_MEDIAN,i);

ExtLimeBuffer=iMA(NULL,0,LipsPeriod,0,MODE_SMMA,PRICE_MEDIAN,i);

}

//---- fatto

return(0);

}

Ciao codificatori,

Ho provato a passare attraverso alcune funzioni MQL4 e mi sono imbattuto in questo codice di esempio come sopra. Qualcuno potrebbe gentilmente spiegare:

1.)Qual è la ragione di usare la variabile "limit"?

2.)Ho provato ad eseguire il codice di esempio, che restituisce sempre il valore 2, qual è lo scopo del valore "limite" 2 nel ciclo for,

3.)Su quali barre di posizione lavora questo ciclo for?

Grazie.

 

cercare un semplice ea

ciao ... cerco questo semplice ea

EA di breakout giornaliero con trailing stop e funzione di blocco dei profitti.

Esiste?

 

Domanda sull'indicatore#property

Qual è la dichiarazione per codificare l'indicatore di #proprietà come una linea rispetto a un trattino (predefinito)?

Domanda semplice, ma risposta sconosciuta al momento!

Dave

Apprezzo che tu risponda a questo per me!

 

icustom ! indicatore -> ea

buongiorno, è un principiante della lingua mq4, apprezzerei un aiuto, io in anticipo grazie!

l'indicatore ha due variabili:

bool TurnedUp = false

bool TurnedDown = false

come utilizzare la funzione icustom nell'EA, per leggere i valori di TurnedUp e TurnedDown?

iCustom(Symbol(), "postfin",0,TurnedUp,0,0,0); ....

iCustom(Symbol(), "postfin",0,TurnedDown,0,0,0);

.....my sonda, non funziona, possibile perché si occupa di "bool" ??

parte EA e errore ..

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

//| ESPERTO CALCOLO DI BASE ||

//| INIZIA QUI ||

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

iCustom(Symbol(), "postfin",0,TurnedUp,0,0,0);

iCustom(Symbol(), "postfin",0,TurnedDown,0,0,0);

//EnterLong = TurnedUp;

// EnterShort = TurnedDown;

// EnterLong = true;

// if( TurnedUp == true ) EnterLong== true;

// EnterShort = TurnedDown;

//}

//if(icustom(Symbol(), "postfin", "TurnedUp",0,0) == True && EnterLong== 1 )

//{

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

//| CALCOLO DI BASE ESPERTO ||

//|FINE QUI

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

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

//|NON DOVRETE MODIFICARE NULLA AL DI SOTTO DI QUESTA CASELLA ||

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

// INSERIRE CONDIZIONE LUNGA

if(EnterLong == true && CountLongs(MagicNumber)== 0)

{

 

Qualcuno sa come fare questo?

Ecco cosa sto cercando di codificare:

Ho un grafico con un RSI collegato ad esso. Poi trascino una media mobile nella finestra RSI e scelgo "applica ai dati dell'indicatore precedente". Ora la mia media mobile sta usando i valori RSI per i suoi calcoli.

Non riesco a capire come codificare questo in un EA. I valori Applied_Price in mq4 non hanno l'opzione di scegliere "dati dell'indicatore precedente" per la media mobile.

In pratica sto cercando di ottenere la media mobile attuale dell'RSI attuale.

Se sapete cosa sto cercando di fare e se avete una soluzione, apprezzerei molto qualsiasi aiuto.

Grazie,

Wolfe

 

bisogno di aiuto per un codice semplice

Cari colleghi!

Ho un pezzo di codice per un filtro temporale che disabilita l'EA in determinate ore:

extern bool UseHourTrade = True;

extern int FromHourTrade = 8;

extern int ToHourTrade = 18;

-------------------------------------------------//

se (UseHourTrade){

if ((Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {

Comment("Non-Trading Hours!");

return(0);

____________________________________________

MA voglio disabilitare l'EA esattamente il venerdì prima del fine settimana. Non ho bisogno di posizioni aperte dopo le 8.00 CET di venerdì. Potresti farmi il favore di postare questo tipo di codice o di correggere il codice sopra menzionato?

Vi chiedo un consiglio perché non sono un programmatore

Cordiali saluti,

Warren

 

Per ridurre le risorse del PC

Ho visto il codice di esempio, di solito ogni codice si calcola da solo ogni tick,

cioè ogni singolo prezzo di alimentazione dal server, il gruppo di codice si calcola da solo.

Quindi i PC al terminale del cliente elaboreranno o calcoleranno ogni tick, questo fa sì che i PC del cliente abbiano bisogno di più risorse, come RAM e CPU

Idea per ridurre le risorse del PC e l'iterazione al terminale del cliente, se possiamo controllare quel gruppo di codice per calcolare a :

1. 1. Ogni minuto completo e non calcolare ad ogni tick. Ogni barra M1 completa e non calcolare ad ogni tick

Qualcuno può dare un codice di esempio per farlo?

I migliori saluti,

BornToWin

 

Allarme su qualsiasi indicatore MTF...

Codersguru,

È possibile aggiungere un allarme (preferibilmente una voce) a un indicatore MTF? Voglio che l'allarme suoni quando tutti e 3 i criteri sono soddisfatti nel mio RSI-3TF, se possibile.

Grazie per la risposta.

Cordialmente.

 
BornToWin:
Ho visto il codice di esempio, di solito ogni codice calcola se stesso ogni tick,

significa che ogni singolo prezzo di alimentazione dal server, il gruppo di codice calcola da solo.

Quindi i PC al terminale del cliente elaboreranno o calcoleranno ogni tick, questo fa sì che i PC del cliente abbiano bisogno di più risorse, come RAM e CPU

Idea per ridurre le risorse del PC e l'iterazione al terminale del cliente, se possiamo controllare quel gruppo di codice per calcolare a :

1. 1. Ogni minuto completo e non calcolare ad ogni tick. 2. Ogni barra M1 completa e non calcolare ad ogni tick. Ogni barra M1 completa e non calcolare ad ogni tick

Qualcuno può dare un codice di esempio per farlo?

i migliori saluti,

BornToWin
if(iVolume(NULL,PERIOD_M1,0) == 1)

{

//do what you want here, first tick of every M1 bar.

}
 

Ho la chiave! Qualche altra idea ?!

Grazie per la risposta Michel,

Ho la chiave.

Ma a volte il volume del primo tick di ogni barra M1 > 1

Mentre iVolume() > 1 al primo tick, il calcolo non è stato fatto!?

O il primo tick di quella barra M1 deve essere = 1?

E non possiamo cambiare l'espressione in >= 1, giusto?

Questo renderà questa idea inutile, perché calcola fino alla fine di quella barra dal vivo!

La mia idea è di calcolare solo al completo del TF M1.

Qualche altra idea?

BornToWin

Michel:
if(iVolume(NULL,PERIOD_M1,0) == 1)

{

//do what you want here, first tick of every M1 bar.

}
Motivazione: