[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 597
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Buenas tardes, continuando con la codificación, tomé el ejemplo de EA del artículo de la sección de tutoriales, sustituí el código del ejemplo:
A una arbitraria con fines de formación:
Las operaciones no aparecen, por favor, aconseja cuál es la razón, cómo arreglar el código.Urain, gracias, no dejo de asombrarme de la lógica de mql, y si intentas usar for(int i=1; para probar, el script no se simplifica - ¿podrías decirme cómo formatearlo, aún no puedo sentir la lógica del lenguaje, cómo definir el operador que mueve el array?
P. S. Declaré la matriz, por error en el script de ejemplo ha eliminado:
Diferencias en los precios. En consecuencia, los resultados de los indicadores son diferentes, al contrario...
#property indicator_buffers 2
#property indicator_color1 blue
#property indicator_color2 Rojo
extern int n = 20;
extern int t3_period = 5;
extern double b = 0,618;
extern int mBars = 300;
extern int Bares.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 inicio() {
int límite;
if (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_period;
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; }
Si no, { Ch_p[i]=0; CF_p[i]=0; Ch_n[i]=Cerrada[i+1]-Cerrada[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); }
Me puedes decir donde no se actualiza el error, el historial es normal y el online no
Buenas tardes. Se ha declarado un array, se ha establecido el operador que mueve el índice del array, pero los pedidos no se realizan. Por favor, dígame qué es lo que está mal.
Prueba conOrderSend, entonces funciona...
¿Has leído el ayudante estándar de MetaEditore? Si no es así, lee todo el...
Buenas tardes. He declarado un array y definido el operador que mueve el índice del array, pero las órdenes no se colocan. Por favor, indíqueme qué es lo que está mal.
Necesito encontrar una posición abierta que tenga la mayor pérdida.
La cuestión es que tengo que encontrar la posición con más beneficios que la perdedora y cerrarlas en contracorriente.
¿Quizás alguien tenga alguna experiencia con esto, o se haya enfrentado a un problema así?
Prueba con OrderSend, entonces funciona...
¿Has leído el ayudante estándar de MetaEditore? Si no, léelo todo...
De edad infantil para hacer una pregunta sin haber dirigido a ayudar y yandex han crecido. Hay muchos envíos, pero los puestos no se abren: