[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 376

 
-xlapex-:

Qui ho applicato la funzione MathAbs, Alert mostra zero e zero, ma vorrei un modulo di differenza e un indice di barra...

int start()
{
int mas1[30,2],mas2[30,2],mas3[30,2],ind_1;
{
for (int i=1;i<=count_bars;i++)
{
mas1[i, 0]=Close[i];
mas1[i, 1]=i;
mas2[i, 0]=Open[ i];
mas2[i, 1]=i;

mas3[i, 0] = MathAbs(Close[ i]-Open[ i]);
mas3[i, 0] = i;

ArraySort( mas3);
mod_1=mas3[2, 0];
ind_1=mas3[2, 1];

Alert( mod_1," ",ind_1);
}
}

return(0);
}

I vostri array sono int, e Open e Close sono doppi in modo corrispondente 1 - 1 = 0
 

Ciao a tutti

Sono nuovo di mql4 e sto cercando di scrivere un Expert Advisor usando l'indicatore aligator

Sto cercando di scrivere un EA su mql4 ma non è ancora uscito niente di utile.

I cittadini professionisti possono avervi fatto richieste così banali , domande, . ..

Ma ancora può chiedere a voi professionisti di scrivere un esperto sull'indicatore dell'aligatore


Strategia Pips


Le posizioni di acquisto e di vendita vengono chiuse quando vengono raggiunti StopLoss e TakeProfit

Un segnale di acquisto quando la linea verde incrocia la blu e la rossa dal basso verso l'alto apre una posizione di acquisto

un segnale Sell quando il righello verde incrocia il rosso e il blu dal basso verso l'alto per aprire una posizione Sell

non aprire più di un ordine finché il crossover non è chiuso


StopLoss =10;

TakeProfit =10;

Magia =33;

SlipPage =5;

Lotto =0,1;

Grazie in anticipo


 
artmedia70:
I vostri array sono int, ma Open e Close sono doppi
Sostituito, ancora zero. E un'altra cosa - nei miei array bidimensionali, un insieme è di tipo doppio, mentre il secondo è di tipo int (indici delle barre). Come portarli a un tipo durante i calcoli, ma per ritornare di nuovo al tipo precedente quando il risultato è in uscita?
 
-xlapex-:
Sostituito, ancora zero. Un'altra cosa - nei miei array bidimensionali, un insieme è di tipo doppio, e il secondo è di tipo int (indici delle barre). Come convertirli nello stesso tipo per il tempo dei calcoli, ma per tornare di nuovo allo stesso tipo quando il risultato è in uscita?

E a cosa corrisponde count_bars?
 
Roger:

E a cosa corrisponde count_bars?

count_bars = 30;


Ho pensato, e ho deciso che due array sono ridondanti, sono già specificati programmaticamente. Ora sarà più facile pensare. Come posso ridurli a un solo tipo?

int start()
{
double mas1[30,2],mod_1;
int ind_1;
{
for (int i=1;i<=30;i++)
{
mas1[i, 0] = MathAbs(Close[i]-Open[i]);
mas1[i, 1] = i;

ArraySort(mas1);
mod_1=mas1[2, 0];
ind_1=mas1[2, 1];

Alert(mod_1," ",ind_1);
}
}
return(0);
}


 
-xlapex-:

count_bars = 30;

Poi sostituire con

mod_1=mas1[2, 0];
ind_1=mas1[2, 1];

a

mod_1=mas1[i, 0];
ind_1=mas1[i, 1];
 
Roger:

Poi sostituire con

a

Sostituito. mod_1 dà set={1,3,5,7,9,...,29} e ind_1 continua a mostrare zero.
 
-xlapex-:
L'ho sostituito. mod_1 dà set={1,3,5,7,9,...,29}, ma ind_1 continua a mostrare zero.


non mostra zero

double mas1[30,2],mod_1; 
int ind_1; 
for (int i=1;i<=30;i++)
{ 
   mas1[i, 0] = MathAbs(Close[i]-Open[i]);
   mas1[i, 1] = i;

   ArraySort(mas1);
   mod_1=mas1[i, 0];
   ind_1=mas1[i, 1];

   Print(mod_1," ",ind_1);
}

ma il tuo codice è un po' incomprensibile

per esempio, l'array mas non è stato ancora formato, ma lo state già ordinando

Forse il contesto della tua domanda rende meglio l'idea:

double mas1[30,2],mod_1; 
int ind_1; 
for (int i=1;i<=30;i++)
{ 
   mas1[i, 0] = MathAbs(Close[i]-Open[i]);
   mas1[i, 1] = i;
}
ArraySort(mas1);
mod_1=mas1[2, 0];
ind_1=mas1[2, 1];
Print(mod_1," ",ind_1);
 
-xlapex-:
Sostituito. mod_1 dà set={1,3,5,7,9,...,29}, ma ind_1 continua a mostrare zero.

Sì.... E perché sono così distratto?!

Si scopre che tutto è semplice - ArraySort(mas1,30,1,MODE_DESCEND ). Tutto quello che devi fare è scrivere tutto quello che devi fare.

 
abolk:


non mostra zero

ma il tuo codice è un po' incomprensibile

per esempio, l'array mas non è stato ancora generato e lo state già ordinando

E cosa intende per "non formato". Cos'altro mi manca?