[¡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
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
Tal vez alguien tenga un código de loca escrito, por favor envíemelo, se lo agradecería.
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 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!
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 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!