[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 597
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Buon pomeriggio, continuando a prendere confidenza con la codifica, ho preso l'esempio EA dall'articolo della sezione tutorial, ho sostituito il codice dell'esempio:
A uno arbitrario a scopo di allenamento:
Le compravendite non appaiono, potreste dirmi per favore qual è la ragione, come risolvere il codice.Urain, grazie, non finisco mai di stupirmi della logica di mql, e se si prova a usare for(int i=1; per provare, lo script non si semplifica - potresti dirmi come formattarlo, non riesco ancora a sentire la logica del linguaggio, come definire l'operatore che sposta l'array?
P. S. Ho dichiarato l'array, per errore nello script di esempio ha rimosso:
Differenze di prezzo. Di conseguenza, diversi, al contrario, i risultati degli indicatori...
#proprietà indicator_buffers 2
#property indicator_color1 blue
#property indicator_color2 Red
extern int n = 20;
extern int t3_period = 5;
extern double b = 0,618;
extern int int mBars = 300;
extern int Bars.Count = 0;
int i,t,c;
double Buf1[],Buf2[],CF_p[5001],CF_n[5001],Ch_p[5001],Ch_n[5001],k_n,k_p,ch_p,ch_n,cff_p,cff_n,
AcBars,t3,t32,A1,A2,b2,b3,c1,c2,c3,c4,e1,e2,e3,e4,e5,e6,n1,w1,w2,e12,e22,e32,e42,e52,e62;
//+------------------------------------------------------------------+
int init() {
SetIndexStyle(0, DRAW_LINE);
SetIndexBuffer(0, Buf1);
SetIndexStyle(1, DRAW_LINE);
SetIndexBuffer(1, Buf2);
return(0); }
//+------------------------------------------------------------------+
int start() {
limite int;
se (IndicatorCounted()<0) return(-1);
limit=Bars-IndicatorCounted();
if (Bars.Count>0 && limit>Bars.Count) limit=Bars.Count;
for(int i=0; i<limit; i++)
{
b2=b*b; b3=b2*b; c1=-b3; c2=(3*(b2+b3)); c3=-3*(2*b2+b3); c4=(1+3*b+b3+3*b2); n1=t3_periodo;
if(n1<1) n1=1; n1=1+0,5*(n1-1); w1=2/(n1+1); w2=1-w1;
if(AcBars==0) AcBars=Bars-mBars;
for(c=AcBars; c<=Bars-1; c +++) { i=Bars-1-c; {
if(Close[i]>Close[i+1]) { Ch_p[i]=Close[i]-Close[i+1]; CF_p[i]=Ch_p[i]+CF_p[i+1]; Ch_n[i]=0; CF_n[i]=0; }
else { Ch_p[i]=0; CF_p[i]=0; Ch_n[i]=Close[i+1]-Close[i]; CF_n[i]=Ch_n[i]+CF_n[i+1]; }}
for(t=i+n; t>=i; t--) { ch_p=Ch_p[t]+ch_p; ch_n=Ch_n[t]+ch_n ; cff_p=CF_p[t]+cff_p; cff_n=CF_n[t]+cff_n; }
k_p=ch_p-cff_n; k_n=ch_n-cff_p;
A1=k_p; e1=w1*A1+w2*e1; e2=w1*e1+w2*e2; e3=w1*e2+w2*e3; e4=w1*e3+w2*e4;
e5=w1*e4+w2*e5; e6=w1*e5+w2*e6; t3=c1*e6+c2*e5+c3*e4+c4*e3; Buf1[i]=t3;
A2=k_n; e12=w1*A2+w2*e12; e22=w1*e12+w2*e22; e32=w1*e22+w2*e32; e42=w1*e32+w2*e42;
e52=w1*e42+w2*e52; e62=w1*e52+w2*e62; t32=c1*e62+c2*e52+c3*e42+c4*e32; Buf2[i]=t32;
AcBars=AcBars+1; ch_p=0; ch_n=0; cff_p=0; cff_n=0; }
}
return(0); }
Potete dirmi dove l'errore non si aggiorna, la cronologia è normale e quella online no
Buon pomeriggio. Un array è stato dichiarato, l'operatore che sposta l'indice dell'array è stato impostato, ma gli ordini non vengono piazzati. Per favore, ditemi cosa c'è che non va.
ProvaOrderSend, poi funziona...
Avete letto l'aiuto standard di MetaEditore? Se no, leggete tutto...
Buon pomeriggio. Ho dichiarato un array e definito l'operatore che sposta l'indice dell'array, ma gli ordini non vengono piazzati. Per favore, consigliatemi cosa c'è che non va.
Ho bisogno di trovare una posizione aperta che abbia la perdita maggiore.
Il punto è che devo trovare la posizione con più profitto di quella perdente e chiuderla in contro-chiusura.
Forse qualcuno ha qualche esperienza con questo, o ha affrontato un tale problema?
Prova OrderSend, poi funziona...
Avete letto l'aiuto standard di MetaEditore? Se no, leggete tutto...
Di età infantile per fare una domanda senza aver affrontato per aiutare e yandex sono cresciuti. Ci sono molti Invii, ma le posizioni non si aprono: