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

 

Buon pomeriggio!

Questa è una semplice domanda, ma qualcosa non funziona, se non si mette StopLoss quando si apre un ordine, come scriverlo correttamente.

Ho provato a mettere NULL e 0.00000, ma errore 130 quando si cerca di aprire un ordine.

Puoi dirmi per favore come fare?

 
Boneshapper:

Buon pomeriggio!

Questa è una semplice domanda, ma qualcosa non funziona, se non si mette StopLoss quando si apre un ordine, come scriverlo correttamente.

Ho provato a mettere NULL e 0.00000, ma errore 130 quando si cerca di aprire un ordine.

Potete per favore consigliarmi come fare?

0 dovrebbe funzionare

quali sono gli altri parametri? e quante cifre sono 4 o 5?

 
Boneshapper:

Buon pomeriggio!

Questa è una semplice domanda, ma qualcosa non funziona, se non si mette StopLoss quando si apre un ordine, come scriverlo correttamente.

Ho provato a mettere NULL e 0.00000, ma errore 130 quando si cerca di aprire un ordine.

Potete per favore consigliarmi come fare?


Scrivetelo così: 0 è dove è impostato nell'apertura fi, inoltre nell'editor ME a questo fiu OrderSend () state il cursore, premete F1 e leggete attentamente il contenuto su questo aiuto.

ad esempio

OrderSend(Symbol(), OP_SELL, Lots, Bid, 0, 0, "старт", MagicNumber);
 

Mi chiedo dove la variabile up prenda il valore di sinistra!

Per favore, ditemi se c'è un errore nel codice o se non capisco

int up=0;
int init()
  {
//----
   up=0;
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+


int deinit()
  {
//----
   //Print(up);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   int i;
   int c=0;
   for (i=0;i<=3;i++)
   {
   if (iOpen("EURUSD",PERIOD_M5,i)>iOpen("EURUSD",PERIOD_M5,i+1))
   c++;
   
   }
   if (c==4)
   {
   up=up+1;
   }
   Print("c=",c,"up=",up);
   //----
   return(0);
  }
//+------------------------------------------------------------------+
 
solegs049:

Mi chiedo dove la variabile up prenda il valore di sinistra!

Per favore, ditemi se c'è un errore nel codice o se non capisco


UP può incrementare ad ogni tick. Dovrebbe essere inizializzato in start().
 

Ho dimenticato di dire che stavo testando su aperture di bar

il primo valore è già rimasto e dovrebbe essere 0

e in start() se lo inizializzo (su) sarà resettato, ma ho bisogno di contare quante volte ci sono state (in questo codice 4) sequenze

per un periodo di tempo

 
Per favore aiutatemi con questa domanda:

La funzione ArrayMinimum(), quando viene applicata ai volumi di tick, definisce una barra con il valore minimo del volume e restituisce il suo indice. Il problema è questo: ho bisogno di determinare l'indice della barra che ha anche un volume minimo ma superiore a quello determinato da questa funzione (cioè il secondo "minimo"). Come si può fare?
 
-xlapex-:
Per favore, aiutatemi con questa domanda:

La funzione ArrayMinimum(), se applicata ai volumi di tick, definisce una barra con il valore minimo del volume e restituisce il suo indice. Il problema è questo: ho bisogno di determinare l'indice della barra che ha anche un volume minimo, ma superiore a quello determinato da questa funzione (cioè il secondo "minimo"). Come si può fare?


Passando attraverso le celle dell'array e confrontandole con il minimo già trovato. Il problema è che ci può essere più di un valore identico, quindi è meglio decidere se il valore richiesto è più vicino alla fine o all'inizio dell'array, e interrompere il ciclo non appena viene trovato.
 
drknn:

Scorre le celle della matrice e le confronta con il minimo già trovato. Il problema è che ci può essere più di un valore identico - quindi è meglio decidere se il valore richiesto deve essere vicino alla fine o all'inizio dell'array e interrompere il ciclo non appena viene trovato.

Scorriamo i valori del volume e troviamo il minimo. Come troviamo l'indice di questa barra?

Il ciclo che ho usato è il seguente:

extern int Quant_Bars=5;
//-----------------------
int start()
{
int i;
double Minimum=10000;

for(i=0;i<=Quant_Bars-1;i++)
{
if (Volume[i]< Minimum)
Minimum=Volume[i];
}
Alert("Minimum ",Minimum);
return;
}

 

Qualcuno può dirmi come trovare, il più facilmente possibile, tutti (o non tutti, ma alcuni) i loro messaggi sul forum in un particolare thread?
Motivazione: