Script para colocar SL y TP fijos al operar Compra/Venta por mercado, en tres gráficos

 

Hola buenas tardes a todos, espero que estén muy bien

Mi objetivo es Crear un Script donde yo pueda colocar Stop Loss y Take Profit fijos al ejecutar una orden por mercado (Ya sea de venta o de compra), con la idea de que pueda ahorrarme el tiempo de colocar Stop Loss y Take Profit manualmente o mediante el arrastre en las gráficas.

Esto debido a que los tres activos que opero son muy volatiles (US30, NAS100 y SPX500) y esos pocos segundos donde se setea el Stop Loss o Take profit marcan la diferencia. La comodidad que proporcionaría colocar de forma automática SL y TP al ejecutar la orden seria increíble.

- Gráficamente lo que se desea se encuentra adjunto y las condiciones son las siguientes:

1. Al Comprar/Vender por mercado de forma manual US30, colocar automáticamente -12.5 pips de SL y +37.5 pips de TP (Respecto al precio donde Compre/Vendí)

2. Al Comprar/Vender por mercado de forma manual NAS100, colocar automáticamente -8 pips de SL y +24 pips de TP (Respecto al precio donde Compre/Vendí)

3. Al Comprar/Vender por mercado de forma manual SPX500, colocar automáticamente -1.5 pips de SL y +4.5 pips de TP (Respecto al precio donde Compre/Vendí)

He leido el pdf de la biblioteca pero hay demasiadas funciones y estoy un poco abrumado, me gustaría que me pudiesen por lo menos mencionar las funciones mas útiles para mi propósito, de esa forma yo me pongo a escribir el código. Gracias!!

Archivos adjuntos:
 
rogelrm:

Hola buenas tardes a todos, espero que estén muy bien

Mi objetivo es Crear un Script donde yo pueda colocar Stop Loss y Take Profit fijos al ejecutar una orden por mercado (Ya sea de venta o de compra), con la idea de que pueda ahorrarme el tiempo de colocar Stop Loss y Take Profit manualmente o mediante el arrastre en las gráficas.

Esto debido a que los tres activos que opero son muy volatiles (US30, NAS100 y SPX500) y esos pocos segundos donde se setea el Stop Loss o Take profit marcan la diferencia. La comodidad que proporcionaría colocar de forma automática SL y TP al ejecutar la orden seria increíble.

- Gráficamente lo que se desea se encuentra adjunto y las condiciones son las siguientes:

1. Al Comprar/Vender por mercado de forma manual US30, colocar automáticamente -12.5 pips de SL y +37.5 pips de TP (Respecto al precio donde Compre/Vendí)

2. Al Comprar/Vender por mercado de forma manual NAS100, colocar automáticamente -8 pips de SL y +24 pips de TP (Respecto al precio donde Compre/Vendí)

3. Al Comprar/Vender por mercado de forma manual SPX500, colocar automáticamente -1.5 pips de SL y +4.5 pips de TP (Respecto al precio donde Compre/Vendí)

He leido el pdf de la biblioteca pero hay demasiadas funciones y estoy un poco abrumado, me gustaría que me pudiesen por lo menos mencionar las funciones mas útiles para mi propósito, de esa forma yo me pongo a escribir el código. Gracias!!

Es fácil de hacer, pero te sugiero que lo encargues a través del apartado freelance (no te costará mucho) y utilices stops basados en ATR para que la configuración de los tres activos sea estándar.

 
rogelrm:

Hola buenas tardes a todos, espero que estén muy bien

Mi objetivo es Crear un Script donde yo pueda colocar Stop Loss y Take Profit fijos al ejecutar una orden por mercado (Ya sea de venta o de compra), con la idea de que pueda ahorrarme el tiempo de colocar Stop Loss y Take Profit manualmente o mediante el arrastre en las gráficas.

Esto debido a que los tres activos que opero son muy volatiles (US30, NAS100 y SPX500) y esos pocos segundos donde se setea el Stop Loss o Take profit marcan la diferencia. La comodidad que proporcionaría colocar de forma automática SL y TP al ejecutar la orden seria increíble.

- Gráficamente lo que se desea se encuentra adjunto y las condiciones son las siguientes:

1. Al Comprar/Vender por mercado de forma manual US30, colocar automáticamente -12.5 pips de SL y +37.5 pips de TP (Respecto al precio donde Compre/Vendí)

2. Al Comprar/Vender por mercado de forma manual NAS100, colocar automáticamente -8 pips de SL y +24 pips de TP (Respecto al precio donde Compre/Vendí)

3. Al Comprar/Vender por mercado de forma manual SPX500, colocar automáticamente -1.5 pips de SL y +4.5 pips de TP (Respecto al precio donde Compre/Vendí)

He leido el pdf de la biblioteca pero hay demasiadas funciones y estoy un poco abrumado, me gustaría que me pudiesen por lo menos mencionar las funciones mas útiles para mi propósito, de esa forma yo me pongo a escribir el código. Gracias!!

Hola, 

Te ayudo con una pequeña parte que te puede servir de guía. 

Saludos. 

//+------------------------------------------------------------------+
//|                                                       Prueba.mq5 |
//|                                Copyright 2021, Simón Del Vecchio |
//|                    https://www.mql5.com/en/users/simondelvecchio |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, Simón Del Vecchio"
#property link      "https://www.mql5.com/en/users/simondelvecchio"
#property version   "1.00"

//+------------------------------------------------------------------+
//| Includes                                                         |
//+------------------------------------------------------------------+
#include <Trade\Trade.mqh>
//+------------------------------------------------------------------+
//| Objetos                                                          |
//+------------------------------------------------------------------+
CTrade Trade;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart(void)
  {
   double MyPoint = Point();
   if(Digits() == 3 || Digits() == 5)
      MyPoint = Point() * 10;
   double SL = 0;
   double TP = 0;
   double Ask = SymbolInfoDouble(Symbol(), SYMBOL_ASK);
   if(Symbol() == "US30")
     {
      double Volumen = 1;
      SL = 12.5;
      TP = 37.5;
      Trade.Buy(Volumen, Symbol(), 0, Ask - SL * MyPoint, Ask + TP * MyPoint, NULL);
     }
   if(Symbol() == "NAS100")
     {
      double Volumen = 2;
      SL = 8;
      TP = 24;
      Trade.Buy(Volumen, Symbol(), 0, Ask - SL * MyPoint, Ask + TP * MyPoint, NULL);
     }
   if(Symbol() == "SPX500")
     {
      double Volumen = 3;
      SL = 1.5;
      TP = 4.5;
      Trade.Buy(Volumen, Symbol(), 0, Ask - SL * MyPoint, Ask + TP * MyPoint, NULL);
     }
  }
//+------------------------------------------------------------------+
 
Antonio Simon Del Vecchio #:

Hola, 

Te ayudo con una pequeña parte que te puede servir de guía. 

Saludos. 

Gracias amigo estudiare esas funciones y la lógica para ir probándolo. Este Script o EA, es el que me dara el paso al proximo nivel en la especulación con los indices gringos
 
David Diez #:

Es fácil de hacer, pero te sugiero que lo encargues a través del apartado freelance (no te costará mucho) y utilices stops basados en ATR para que la configuración de los tres activos sea estándar.

Amigo con que te refieres a ATR? estoy evaluando hacer el encargo porque aprendiendo por mi cuenta se me esta haciendo dificil y necesito orientación. Por lo menos debo tener este codigo hecho para ir avanzando y en el camino aprendiendo poco a poco
 
rogelrm #:
Amigo con que te refieres a ATR? estoy evaluando hacer el encargo porque aprendiendo por mi cuenta se me esta haciendo dificil y necesito orientación. Por lo menos debo tener este codigo hecho para ir avanzando y en el camino aprendiendo poco a poco

Cada par (índice) se mueve en un rango y a una velocidad diferente, también el mismo par o índice se puede mover en diferente rango y velocidad dependiendo del día o la hora.

El ATR (rango promedio verdadero) es un indicador idóneo para esto y te pondré un ejemplo en pares de forex:

  • EURUSD rango diario 800 puntos.
  • GBPUSD rango diario 1500 puntos.
  • EURGBP rango diario 500 puntos.

Tu TP en este caso podría ser digamos 1/4 del ATR diario, es decir:

  • EURUSD 20 pips.
  • GBPUSD 37,5 pips.
  • EURGBP 12,5 pips.

Así sólo usarías una configuración que sería ATR/4, y sería totalmente adaptativa.

Estos pares de forex no varían mucho pero creo que operando índices te puede ir como un guante.

 
¿Y para programar una orden al mercado con base en el ATR en cualquier activo , como sería el código?
Razón de la queja: