[¡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 845

 
Top2n:
Tal vez alguien tenga un código de loca escrito, por favor envíemelo, se lo agradecería.
Ya te he contestado en persona, que es la misma pose de apertura, pero en sentido contrario. Y el volumen de la pose ver por sí mismo, basado en su lógica.
 
¡Lo hice con el pendiente, pero hay un error, cuanto más a menudo se abre en este lugar, más lejos de la orden se convierte. tiene que ser sin una tapa y justo en el lugar, pero no puedo escribir las condiciones en qué circunstancias se abrirá!
 
Top2n:
Lo he hecho con una pendiente, pero hay un problema: cuanto más a menudo se abre en este lugar, más se aleja de la orden. Necesito que sea sin tapa pero justo en el lugar, ¡pero no puedo escribir las condiciones en las que debe abrirse!

Si usted mismo no puede decidir las condiciones de apertura, ¿cómo puedo ayudarle?

Hay que intentar formalizar de alguna manera lo que se quiere hacer.

 
La orden contraria debe abrirse en un punto determinado, y si se cierra, debe volver a abrirse en el mismo punto, si el precio baja hasta él, claro.
 
Top2n:
La orden contraria debería abrirse en un punto determinado y luego, si se ha cerrado, se abrirá de nuevo en este punto, si el precio ha bajado hasta él. creo que sí

Sinceramente... Es más bien una especie de TOR de un cliente notorio, de los cuales hay muchos, que la lógica del programador :)

1. ¿Necesita una orden pendiente o abrir una posición contraria si la posición actual alcanza una determinada cantidad de puntos de pérdida?

2. Si es una orden contraria, y el precio la tocó, entonces se transformará en una orden de mercado, por lo tanto

2.1. si una posición de mercado se ha cerrado (¿con pérdidas? ¿con ganancias?), ¿se volverá a colocar la misma orden al mismo precio? (su tipo dependerá del precio actual)

2.2 Si se dispara una orden pendiente, ¿debo volver a fijarla?

2.3

2.4.

.... Hay un millón de preguntas más que hacer. No nos pongamos a buscar información sobre lo que buscas, ¿eh?

Escribe la lógica de lo que quieres hacer. Eso es lo primero. Puedes escribirlo en un papel y un lápiz...

Y luego puedes decidir cómo ponerlo todo en código.

 

Estoy interesado en trabajar con volúmenes. hay archivos en formato .csv . miré, en la carpeta trading-server hay archivos en formato .hst

cuál debe ser el formato de los archivos csv y cómo debo convertirlos a . hst ?

 

En realidad es más simple que eso, me parece.

1. Abrimos la orden de bahía, si el precio baja 10 pips entonces abrimos la venta,

2.si la venta es cerrada por el SL, el precio comienza a trabajar con la bahía, si el precio baja de nuevo a menos 10 pips, abre la venta de nuevo

Si sll es cerrado por TP, entonces mi EA hará todo bien.

Tengo una pregunta sobre cómo publicar una condición:

1. abrir orden de bahía, si el precio baja 10 pips, entonces abrir venta

2.si la venta es cerrada por el SL, el precio comienza a trabajar con la bahía, si el precio baja de nuevo a menos 10 pips, entonces abre la venta de nuevo

 

Por favor, discúlpeme si le distraigo con una pregunta probablemente estúpida.

Acabo de empezar a aprender esto y no tengo a nadie a quien pedir consejo.

He leído el manual varias veces. He iniciado un Asesor Experto con las funciones más simples, órdenes pendientes.

Sigo sin entender qué tengo que hacer para abrir las órdenes una vez, y no con cada tick.

//+------------------------------------------------------------------+
//| mi.mq4 |
//| Serjik |
//| |
//+------------------------------------------------------------------+
#property copyright "serjik"


//---- variables externas
extern double Lots=0.1; // tamaño del lote
extern int StopLoss=0; // stop loss
extern int TakeProfit=10; // beneficio
extern int int DistanceSet=10; // distancia del mercado de pedidos
extern int int Deslizamiento=3; //deslizamiento del precio
//----variables globales

//+------------------------------------------------------------------+
//| función de inicialización de expertos |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| función de desinicialización experta |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| función de inicio experto |
//+------------------------------------------------------------------+
int inicio()
{

double ldStop=0, ldTake=0;
double pAsk=Ask+DistanceSet*Point;
double pBid=Bid-DistanceSet*Point;

if (StopLoss!=0) ldStop=pAsk-StopLoss*Point;
if (TakeProfit!=0) ldTake=pAsk+TakeProfit*Point;
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake); //

if (StopLoss!=0) ldStop=pBid+StopLoss*Point; //
if (TakeProfit!=0) ldTake=pBid-TakeProfit*Point;
SetOrder(OP_SELLSTOP, pBid, ldStop, ldTake); //



}
//+------------------------------------------------------------------+
//| Ajuste de la orden |
//| Parámetros: |
//| op - operación |
//| pp - precio |
//| ldStop - nivel de parada |
//| ldTake - nivel de toma |
//+------------------------------------------------------------------+
void SetOrder(int op, double pp, double ldStop, double ldTake)
{

OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake);


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



Puede que ya lo haya visto en este foro, pero no tengo suficiente energía para releerlo.

Si alguien me ayuda, ¡GRACIAS ENORME!

 
Top2n:

En realidad es más simple que eso, me parece.

1. Abrimos la orden de bahía, si el precio baja 10 pips entonces abrimos la venta,

2.si la venta es cerrada por el SL, el precio comienza a trabajar con la bahía, si el precio baja de nuevo a menos 10 pips, abre la venta de nuevo

Si sll es cerrado por TP, entonces mi EA hará todo bien.

Tengo una pregunta sobre cómo publicar una condición:

1. abrir orden de bahía, si el precio baja 10 pips, entonces abrir venta

2.si la venta es cerrada por el SL, el precio comienza a trabajar con la bahía, si el precio baja de nuevo a menos 10 pips, entonces abre la venta de nuevo

En cada tick, comprueba el beneficio de las posiciones abiertas y si es menor o igual a 10 pips, entonces haz lo que tienes que hacer a continuación
 
serjik77:

Por favor, discúlpeme si le distraigo con una pregunta probablemente estúpida.

Acabo de empezar a aprender esto y no tengo a nadie a quien pedir consejo.

He leído el manual varias veces. He iniciado un Asesor Experto con las funciones más simples, órdenes pendientes.

Sigo sin entender qué tengo que hacer para abrir las órdenes una vez, y no con cada tick.

//+------------------------------------------------------------------+
//| mi.mq4 |
//| Serjik |
//| |
//+------------------------------------------------------------------+
#property copyright "serjik"


//---- variables externas
extern double Lots=0.1; // tamaño del lote
extern int StopLoss=0; // stop loss
extern int TakeProfit=10; // beneficio
extern int int DistanceSet=10; // distancia del mercado de pedidos
extern inttern Deslizamiento=3; //deslizamiento del precio
//----variables globales

//+------------------------------------------------------------------+
//| función de inicialización de expertos |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| función de desinicialización experta |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| función de inicio experto |
//+------------------------------------------------------------------+
int inicio()
{

double ldStop=0, ldTake=0;
double pAsk=Ask+DistanceSet*Point;
double pBid=Bid-DistanceSet*Point;

if (StopLoss!=0) ldStop=pAsk-StopLoss*Point;
if (TakeProfit!=0) ldTake=pAsk+TakeProfit*Point;
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake); //

if (StopLoss!=0) ldStop=pBid+StopLoss*Point; //
if (TakeProfit!=0) ldTake=pBid-TakeProfit*Point;
SetOrder(OP_SELLSTOP, pBid, ldStop, ldTake); //



}
//+------------------------------------------------------------------+
//| Ajuste de la orden |
//| Parámetros: |
//| op - operación |
//| pp - precio |
//| ldStop - nivel de parada |
//| ldTake - nivel de toma |
//+------------------------------------------------------------------+
void SetOrder(int op, double pp, double ldStop, double ldTake)
{

OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake);


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



Puede que ya lo haya visto en este foro, pero no tengo suficiente energía para releerlo.

Si alguien me ayuda, ¡GRACIAS ENORME!

Antes de realizar un pedido, debe comprobar si ya existe... Si aún no está, hay que colocarlo, y si lo está, no...