[Archivo!] Escribir un asesor de forma gratuita - página 71

 

Pido ayuda para escribir un sencillo robot de trading basado en el indicador i-Regr. Si se hace bien, garantizo un pago razonable.

Si alguien está interesado, puede escribir a ma.gog@mail.ru

 
Estimados señores programadores Estoy pidiendo ayuda para escribir un EA, ya que no hablo MQL todavía. Si el EA es rentable, estoy dispuesto a compartir mis ganancias con la persona que lo escribió, o describir sus condiciones. Creo que debería ser rentable.

La idea general es la siguiente:


1. El asesor experto debe colocar órdenes pendientes de stop y límite en los fractales (stop de compra, stop de venta, límite de compra, límite de venta), se debe establecer el tiempo de expiración de las órdenes (horas, minutos).

2.
Los tipos de órdenes deben ser conmutables (órdenes stop y limitadas juntas; o por separado: sólo órdenes stop, sólo órdenes limitadas),

3. La distancia de la orden que se coloca al fractal debe establecerse en pips, y para las órdenes stop por separado, y para las órdenes limitadas por separado.

4. StopLoss y TakeProfit son fijos, se establecen inmediatamente.


5. Quieres tener un trailing stop de un pip y desactivarlo.

6. Hay que arreglar el lote. Pero también es posible crear una gestión del dinero.


7. El diferencial debe tenerse en cuenta en las órdenes: (orden de compra + diferencial, orden de venta - diferencial)


Para contactar: Cashinroman@yandex.ru
 

Puede alguien entender este código, por qué en el probador libra USD H4 funciona muy bien
Y en la demo y en el real sólo vierte algo para cambiarlo sps tal vez mira en la historia

extern double Init_line1 = 1.9620;

extern double Init_line2 = 1.9630;

extern double Init_line3 = 1.9640;

extern double Init_line4 = 1.9650;

extern int Línea_de_paso = 40;

extern double Lots = 1;

extern int ColUr = 2;


int i, j;

int a[4][4];//1-compra, 2-venta, 3-compra, 4-venta


doble minlote;

datetime LastWork;


//+------------------------------------------------------------------+

//| función de inicialización de expertos |

//+------------------------------------------------------------------+


//********************************************************************

//verificar si hay posiciones abiertas,

//presenta el número de posiciones abiertas en el array a[4][4].

bool Pred()

{

int NL; //qué filas hay en el array

for (i=0; i<=4; i++)

for (j=0; j<=4; j++)

a[i][j]=-1;//todos en -1

for (i=0; i<OrdersTotal(); i++) //invertir todos los pedidos

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)//seleccionar orden si no es posible

romper;

if (OrderSymbol()==Symbol())//hay posiciones para este símbolo

if (OrderComment()=="a1")//¿Hay una marca?

NL=0;

else if (OrderComment()=="a2")//¿es nuestra etiqueta?

NL=1;

else if (OrderComment()=="a3")//¿es nuestra etiqueta?

NL=2;

else if (OrderComment()=="a4")//¿es nuestra etiqueta?

NL=3;

si no

continuar;//¿no? entonces continuar la búsqueda

//tenemos nuestras órdenes, ocupémonos de ellas

if (OrderType()==OP_BUY)//si la posición es de COMPRA

a[NL][0]=OrdenTicket();//recuerda su número

else if (OrderType()==OP_SELL)//si la posición está en venta

a[NL][1]=OrdenTicket();//recuerda su número

else if(OrderType()==OP_BUYSTOP)//si la posición está pendiente de compra

a[NL][2]=PedirTicket();//recordar su número

else if (OrderType()==OP_SELLSTOP)//si la posición está pendiente de venta

a[NL][3]=OrdenTicket();//recuerda su número

}// fin del bucle

}



//********************************************************************

/Ejemplo:

//Nivel de control 1.9420, precio actual 1.9277 o 1.9537 encontrar cerca del nivel inferior

//а)|1.9420-1.9277|*10000/40=3.575

//3,575-3=0,575; 0,575*40=23; 1,9277-0,0023=1,9255 nivel superior más cercano

//б)|1.9420-1.9537|*10000/40=2.925

// 2,925-2=0,925; 0,925*40=37; 1,9537-0,0037=1,9500 Nivel bajo más cercano

int init()

{

LastWork = -1;

}

//********************************************************************

int deinit()

{

return(0);

}


//********************************************************************

int inicio()

{

si (CurTime() - LastWork < 5)

return(0); // no más de una vez cada 5 segundos

LastWork = CurTime();

Pred();//todo recogido

Comment("a[1][1]=",a[0][0]," a[0][2]=",a[0][1]," a[1][3]=",a[0][2]," a[1][4]=",a[0][3],"\n",

"a[2][1]=",a[1][0], "a[2][2]=",a[1][1], "a[2][3]=",a[1][2], "a[2][4]=",a[1][3],"\n"

"a[3][1]=",a[2][0]," a[3][2]=",a[2][1], "a[3][3]=",a[2][2], "a[3][4]=",a[2][3],"\n"

"a[4][1]=",a[3][0]," a[4][2]=",a[3][1]," a[4][3]=",a[3][2]," a[4][4]=",a[3][3],"\n")

comentario de la cadena;

double Init_line,qw,qw1,uo,w, sl, op;

for(i=0;i<ColUr;i++)//ejecuta el array a[4][4]

{

//se necesita más

coment=";

si (i==0)

{

coment="a1";

Init_line=Init_line1;

}

else if(i==1)

{

coment="a2";

Init_line=Init_line2;

}

else if(i==2)

{

coment="a3";

Init_line=Init_line3;

}

else if(i==3)

{

coment="a4";

Init_line=Init_line4;

}

//buscar el nivel más cercano

w=(MathAbs(Línea_de_inicio)*1/Punto)/Línea_de_paso;//coeficiente

si (Oferta>=Línea_de_inicio)

qw=Step_line*(w-MathFloor(w));//número de puntos hasta el nivel más cercano

si no

qw=Línea_de_paso*(w-MathFloor(w));//número de puntos hasta el nivel más cercano

qw1=Línea_de_paso-qw;//número de puntos hasta el nivel más cercano

// Comentario("Línea1 ",Línea_de_inicio," w=",((Línea_de_inicio)*1/Punto)/Línea_de_paso," qw=",qw," NuevaLínea",Oferta-(qw)*Punto);

if ((a[i][0]==-1)&&(a[i][1]==-1)&&(a[i][2]==-1)&&(a[i][3]==-1))//нету открытых

{

//hacer pedidos

si (qw+4>=15)// podemos colocar una espera para vender

OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-(qw)*Point,0,Bid-Point*(qw-2*Step_line),0,0,CLR_NONE);

else //poner el siguiente nivel hacia abajo

OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-Point*(qw+Step_line),0,Bid-Point*(qw+Step_line-2*Step_line),0,coment,0,CLR_NONE);

if (qw1>=15)//puede poner una espera para Comprar

OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+(qw1-4)*Point,0,Ask+Point*(qw1-4-2*Step_line),0,coment,0,0,CLR_NONE);

si no// ponerlo en el siguiente nivel superior

OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+Point*(qw1-4+Step_line),0,Ask+Point*(qw1-4+Step_line-2*Step_line),0,coment,0,0,CLR_NONE);

}

¡¡¡¡¡¡¡¡¡¡¡¡¡//!!!!!!!!!!!!!

else if (a[i][0]!=-1)// vale la pena comprar

{//compra abierta

OrderSelect(a[i][0],SELECT_BY_TICKET, MODE_TRADES);//seleccionar orden abierta

uo=OrderOpenPrice();//su precio de apertura - nivel

op=uo;

if (uo<(Ask-(qw-4)*Point))//el precio de apertura es inferior al mínimo actual

//comprobar SL open, si es necesario modificar

if (OrderStopLoss()<(Ask-Point*(qw+4+2*Step_line)))//SL es inferior a 2 niveles por debajo del precio actual

OrderModify(a[i][0],NULL,Ask-Point*(qw+4+2*Step_line),NULL,NULL,CLR_NONE);

sl=OrderStopLoss();

//decidir sobre los pendientes

if (a[i][3]!=-1)//se vende la parada

{

OrderSelect(a[i][3],SELECT_BY_TICKET, MODE_TRADES);//posición en pendiente

uo=OrderOpenPrice();//precio de apertura - nivel

if(uo!=sl)//(Bid-Point*(qw+2*Step_line)))//el nivel de apertura es igual al stop de COMPRA

OrderModify(a[i][3],sl, sl+Punto*(2*Línea_de_paso),NULL,NULL,CLR_NONE)

// OrderModify(a[i][3],Bid-Point*(qw-2*Step_line),Bid+qw*Point,NULL,NULL,NULL);

}

else if (a[i][3]==-1)//se ha abierto el turno de compra, se debe fijar el sellstop

OrderSend(Symbol(), OP_SELLSTOP, Lots, sl,0,sl+Point*(2*Step_line),NULL,coment,0,0,CLR_NONE);

// OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-(qw+2*Step_line)*Point,0,Bid-Point*(qw),NULL,coment,0,0,0);

}

¡¡¡¡¡¡¡¡¡¡¡¡¡//!!!!!!!!!!!!!

else if (a[i][1]!=-1)//stand sell

{

OrderSelect(a[i][1],SELECT_BY_TICKET, MODE_TRADES);//selecciona la orden abierta

uo=OrderOpenPrice();//precio de apertura - nivel

op=uo;

si (uo>(Oferta+(qw1)*Punto))//el precio de apertura es superior al nivel máximo actual

//comprobar SL open, si es necesario modificar

if (OrderStopLoss()>(Bid+Point*(qw1+2*Step_line)))//SL es superior a 2 niveles por encima del precio actual

OrderModify(a[i][1],NULL,Bid+Point*(qw1+2*Step_line),NULL,NULL,CLR_NONE);

sl=OrderStopLoss();

//tomar un aplazamiento

if (a[i][2]!=-1)// cuesta buystop

{

OrderSelect(a[i][2],SELECT_BY_TICKET, MODE_TRADES);//posición en pendiente

uo=OrderOpenPrice();//precio de apertura - nivel

si (uo!=sl)//el nivel de apertura es igual al stop de VENTA

OrderModify(a[i][2],sl,sl-(2*Step_line)*Point,NULL,NULL,CLR_NONE);

// OrderModify(a[i][2],Ask+Point*(qw1-4+2*Step_line), Ask+(qw1-4)*Point,NULL,NULL,NULL);

}

else if (a[i][2]==-1)//se ha abierto el turno de venta, hay que poner buystop

OrderSend(Symbol(), OP_BUYSTOP, Lots, sl,0,sl-Point*(2*Step_line),NULL,0,0,CLR_NONE);

//OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+(qw1-4+2*Step_line)*Point,0,Ask+Point*(qw1-4),NULL,coment,0,0);

}

}

retorno (0);

}

 
Cashin:
¡Estimados señores programadores! Me gustaría pedir ayuda para escribir un EA. Todavía no hablo MQL. Si mi EA es rentable, estoy dispuesto a compartir mis ganancias con la persona que lo ha escrito, o describir sus condiciones. Creo que debería ser rentable.

Sobre "compartir el premio" - eso es digno)

Pero es más interesante "describir los términos".

Mis condiciones: ahora escribiré por el dinero, no pretendo lucrarme.

Contactos en el perfil

 
Estimados visitantes de este sitio. Hay que escribir un Asesor Experto muy sencillo. Tengo una sugerencia. Yo te doy una condición, tú me das el Asesor Experto. También podrás utilizar mi sencilla estrategia. Te agradecería que me explicaras cómo cambiar el volumen de la orden en el EA, cuando esto sea necesario. Daré las condiciones en correspondencia privada o en el ICQ 300333834 o en el correo forexbmf@yandex.ru Andrew.
 
october:
Estimados visitantes de este sitio. Hay que escribir un Asesor Experto muy sencillo. Tengo una sugerencia. Yo te doy una condición, tú me das el Asesor Experto. También podrás utilizar mi sencilla estrategia. Te agradecería que me explicaras cómo cambiar el volumen de la orden en el EA, cuando esto sea necesario. Voy a dar los términos durante la correspondencia personal o ICQ 300333834 o correo forexbmf@yandex.ru Andrew.

Si quieres operar en él de forma gratuita (preferiblemente real o demo 1-2 meses).

Por lo demás, aquí https://www.mql5.com/ru/job

 
sergeev sobre la estrategia que requiere un EA - el comercio manual es muy difícil, casi imposible (toma mucho tiempo y difícil de hacer una apuesta en el tiempo). Sin embargo, después de escuchar la condición te darás cuenta de que este tipo de comercio tiene sentido.
 

Однако выслушав условие вы поймёте, что действительно имеет смысл такая торговля.

octubre, no tienes ni idea de cuántas personas antes que tú han dicho más o menos las mismas palabras y se han desanimado.

 
october:
Estimados visitantes del sitio. Hay que escribir un EA muy sencillo.

Consulte el asistente de EA en línea: http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/

Soporte de idioma ruso disponible

 
la tarea aquí, y justificar que no funcionará )
Razón de la queja: