[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 438

 
kosolapov:
Potete dirmi come confrontare il prezzo attuale della barra attuale con il prezzo massimo della barra precedente?

Bid - prezzo attuale della barra corrente,

High[1] - prezzo massimo della barra precedente

 

Amici, come può essere? Un fenomeno incomprensibile della natura è catturato nello screenshot.


 
artmedia70:

Forse sapete perché sulla visualizzazione il codice restituisce la variabile angle_line (restituisce l'angolo normalmente), ma su test ed esecuzione non lo fa (restituisce l'angolo 0°). Grazie!

//+------------------------------------------------------------------+
int start()
{
//----

ObjectCreate("LineAngle", OBJ_TRENDBYANGLE, 0, 0,0);
ObjectSet("LineAngle", OBJPROP_TIME1, Time[2];
ObjectSet("LineAngle", OBJPROP_PRICE1, Close[2];
ObjectSet("LineAngle", OBJPROP_TIME2, Time[0];
ObjectSet("LineAngle", OBJPROP_PRICE2, Open[0]);

double angle_line=ObjectGet("LineAngle",OBJPROP_ANGLE);

Print(" angle_line ",angle_line);

ritorno(0);
}
//+------------------------------------------------------------------+

 
kosolapov:
Potete dirmi come confrontare il prezzo attuale della barra attuale con il prezzo massimo della barra precedente?
if (Close[0] < High[1]) {

   ...

}
 
C'è un modo per tracciare tutte le azioni EA, cioè creare variabili, assegnare loro dei valori, confrontare le condizioni, ecc.
 
001:

Forse sapete perché sulla visualizzazione il codice restituisce la variabile angle_line (restituisce l'angolo normalmente), ma sul test e l'esecuzione non lo fa (restituisce l'angolo 0°). Grazie!

//+------------------------------------------------------------------+
int start()
{
//----

ObjectCreate("LineAngle", OBJ_TRENDBYANGLE, 0, 0,0);
ObjectSet("LineAngle", OBJPROP_TIME1, Time[2];
ObjectSet("LineAngle", OBJPROP_PRICE1, Close[2];
ObjectSet("LineAngle", OBJPROP_TIME2, Time[0];
ObjectSet("LineAngle", OBJPROP_PRICE2, Open[0]);

double angle_line=ObjectGet("LineAngle",OBJPROP_ANGLE);

Print(" angle_line ",angle_line);

ritorno(0);
}
//+------------------------------------------------------------------+


Nessun oggetto viene costruito durante i test e l'ottimizzazione
 
Vinin:

Gli oggetti non sono costruiti durante i test e l'ottimizzazione

Come posso trovare l'angolo di una linea retta in un EA in questi casi?
 
001:

Come si trova l'angolo di una linea retta in questi casi, nell'EA?

Conta. Tutti hanno studiato aritmetica
 
Buonasera, l'errore 4051 viene scritto dopo una lunga esecuzione normale, e improvvisamente, a circa 200 volte, l'ordine pendente non viene piazzato. L'errore 4051 è
Valore non valido di un parametro di funzione

Scrive anche disabilitato molto qualcosa. Calcolo il volume del lotto*A, dove extern double volume=0.1; A=NormalizeDouble(A,0);

Ecco, per ordine, l'intero ordine

 tiket= OrderSend( Symbol(), OP_BUYSTOP,  volume*A, Price +otstup*Point,Point * 3, R1, Price+takeprofit*Point+otstup*Point, "OP_BUYSTOP", 1000,  expiration, Red); 
   Alert ("OP_BUYSTOP", GetLastError( ));  }M=0;
   if (GetLastError( )!=0){Alert ("tiket",tiket," volume*A ",volume*A," Price +otstup*Point ",Price +otstup*Point," Price+takeprofit*Point+otstup*Point ",Price+takeprofit*Point+otstup*Point);}

E A assume valori compresi tra uno e sedici...

 
Sono in perdita!!! Cosa gli manca? Sì, e l'ultimo avviso non funziona... E anche questo.
if (GetLastError( )!=ERR_NO_ERROR){Alert ("t