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

 
LOA:


Buona giornata! Non so se prenderlo come un elogio o viceversa, ma in ogni caso, grazie per la risposta.

Non riesco a trovare la soluzione, purtroppo, quindi penso che la cosa principale sia la qualità e la grammatica, e con questo, come ho capito, ho ancora una lacuna, perché il codice non è andato.

Sto aspettando una risposta alla mia domanda .....


È difficile controllare qualcosa senza avere tutti gli indicatori utilizzati

Sto aspettando una risposta alla mia domanda, soprattutto quando devo controllare la correttezza di tutti gli indicatori

 
Vinin:


È difficile controllare qualcosa senza tutti gli indicatori utilizzati

Una ragione in più per controllare che tutti gli indicatori funzionino correttamente


Victor, buona giornata!

Ci sono anche due indicatori coinvolti. Il loro codice è semplice. Sto allegando il loro codice.

Grazie mille per la vostra partecipazione e il vostro aiuto.

 
Potete dirmi come confrontare il prezzo attuale della barra attuale con il prezzo massimo della barra precedente?
 
quante celle possono essere create in un array come double m[x][y]; Ho provato questo - double m[10000][10000]; - il compilatore si acciglia, dove posso scoprirlo?
 
Roman.:


Familiarizzate con i concetti di EQUITÀ e EQUILIBRIO e la differenza tra loro.

Questo indicatore mostra l'equity line in tempo reale, poiché l'equity line è l'attuale profitto/perdita sulle posizioni non chiuse, "È possibile determinare realmente l'equity per punti chiave (chiusure di ordini)" - non è possibile, quindi si considererà il cambiamento dell'equity line sulle posizioni chiuse.

"L'equità è in qualche modo calcolata sulla base di dati storici" - no. Questo indicatore calcola la linea del capitale per il momento attuale sulla base delle posizioni aperte nel mercato.

Capito. Quindi dovrò salvarlo in un file per poterlo analizzare più tardi.
 
forexnew:
Quindi dovrai salvarlo in un file per poterlo analizzare in seguito.
Sì. Come opzione - perché no, anche lì - dovremmo pensare a un algoritmo di registrazione... non tutti in fila, ma selettivo, come condizioni - perdita attuale che supera gli ordini di mercato del precedente, poi la registrazione.
 
fore-x:
quante celle possono essere create in un array come double m[x][y]; ho provato double m[10000][10000]; - il compilatore si acciglia, dove posso trovarlo?
Forse c'è una restrizione da qualche parte, suggerirei che la dimensione dell'array in memoria non dovrebbe superare i 65 kilobyte. Puoi provare il tipo int/bool per cambiare.
 

Chi può spiegare questo effetto. Nella visualizzazione il codice restituisce la variabile angle_line (restituisce l'angolo), ma nel test e nell'esecuzione non lo fa (restituisce 0). Grazie!

//+------------------------------------------------------------------+
//| Proverka.mq4 |
//| asb |
//| |
//+------------------------------------------------------------------+
#proprietà copyright "asb"
#proprietà link ""
extern int Bar_First_1=3;
extern int Bar_Sec_1=0;
extern int Applied_Price_First;
extern int int Applied_Price_Sec;

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

double a_price_UP= iMA(NULL,0,1,0,0,0,Applied_Price_First,Bar_First_1);
double a_price_DOWN=iMA(NULL,0,1,0,0,0,Applied_Price_Sec, Bar_Sec_1);
double angle_line=ObjectGet("LineAngle",OBJPROP_ANGLE);

Print(" angle_line ",angle_line," a_price_UP ",a_price_UP," a_price_DOWN ",a_price_DOWN);

SetTLineByAngle(Red, "LineAngle",Time[Bar_First_1],a_price_UP,Time[Bar_Sec_1],a_price_DOWN,0,0,0);
//----

//----
ritorno(0);
}
//+----------------------------------------------------------------------------+
void SetTLineByAngle(color cl, string nm=",
datetime t1=0, double p1=0, datetime t2=0, double p2=0,
double an=0, bool ry=False, int st=0, int wd=1) {
if (nm=="") nm=DoubleToStr(Time[0], 0);
if (t1<=0) t1=Time[0];
se (p1<=0) p1=Bid;
if (t2<=0) t2=Time[0];
se (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_TRENDBYANGLE, 0, 0,0;)
ObjectSet(nm, OBJPROP_TIME1, t1);
ObjectSet(nm, OBJPROP_PRICE1, p1);
ObjectSet(nm, OBJPROP_TIME2, t2);
se (p2>0) ObjectSet(nm, OBJPROP_PRICE2, p2);
else ObjectSet(nm, OBJPROP_ANGLE, an);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_RAY, ry);
ObjectSet(nm, OBJPROP_STYLE, st);
ObjectSet(nm, OBJPROP_WIDTH, wd);
}
//+----------------------------------------------------------------------------+

 

Funzione di Kimiv SetTLineByAngle, affidabile, non ho idea di dove potrei sbagliare.

 
splxgf:

In generale, è una buona idea passare attraverso gli ordini cominciando dall'ultimo. Nel secondo caso, non abbiate paura di aggiungere delle parentesi alla condizione.


Puoi spiegare perché questa condizione non viene presa in considerazione nel primo caso e viene presa in considerazione nel secondo?