Mira cómo descargar robots gratis
¡Búscanos en Twitter!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Scripts

SCRIPTS PARA EJECUTAR ORDEN DE COMPRA, VENTA Y CERRAR LAS POSICIONES - script para MetaTrader 5

Visualizaciones:
16170
Ranking:
(10)
Publicado:
2022.02.24 06:13
Actualizado:
2022.02.24 07:39
compra.mq5 (4.69 KB) ver
venta.mq5 (4.71 KB) ver
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
kill position

#include <Trade\Trade.mqh>

CTrade trade;

void OnStart()
  {

   trade.PositionClose(Symbol());
  }
// SCRIPT para ejecutar orden de VENTA PESADA. (configurar atajo de teclado para ejecutar el script)

// ENTRADAS DEL SCRIPT: INGRESAR LOS DATOS PARA CONFIGURAR la orden (solo cambiar los parametros de entrada).


     // GESTION FRACCIONARIA 
int riesgo = 1;           // Tamaño de orden proporcional respecto al apalancamiento y patrimonio. 
int valorlote = 10000;    // Valor del lote segun broker/cuenta.
int leverage = 50;        // Apalancamiento de la cuenta.
      // GESTION FIJA 
bool lotfijo = false;      // "false": El tamaño de la orden es automatico dependiendo del tamaño de la cuenta y riesgo elegido,, "true": El tamaño es fijo. 
double sizelotfijo= 0.10;   // Tamano de la orden para gestion fija. 

// finalización de parametros.

void OnStart()
{
if(lotfijo==false)
 {

double lots;

lots = (((((AccountInfoDouble(ACCOUNT_BALANCE))*leverage)/100)*riesgo)/valorlote);

double lots2;

lots2 = (((((AccountInfoDouble(ACCOUNT_BALANCE))*leverage)/100)*riesgo)/valorlote);

   MqlTradeRequest request={10};
   MqlTradeResult  result={10};

   request.action   =TRADE_ACTION_DEAL;                     
   request.symbol   =Symbol();                             
   request.volume   =0.10;                               
   request.type     =ORDER_TYPE_SELL;   
   request.type_filling =ORDER_FILLING_FOK;                     
   request.price    =SymbolInfoDouble(Symbol(),SYMBOL_ASK);
   request.deviation=5;                                     

   if(!OrderSend(request,result))
      PrintFormat("OrderSend error %d",GetLastError());     

   PrintFormat("retcode=%u  deal=%I64u  order=%I64u",result.retcode,result.deal,result.order);
  }
 else
   {

   MqlTradeRequest request={10};
   MqlTradeResult  result={10};

   request.action   =TRADE_ACTION_DEAL;                     
   request.symbol   =Symbol();                             
   request.volume   =0.10;                               
   request.type     =ORDER_TYPE_SELL;   
   request.type_filling =ORDER_FILLING_FOK;                     
   request.price    =SymbolInfoDouble(Symbol(),SYMBOL_ASK);
   request.deviation=5;                                     

   if(!OrderSend(request,result))
      PrintFormat("OrderSend error %d",GetLastError());     

   PrintFormat("retcode=%u  deal=%I64u  order=%I64u",result.retcode,result.deal,result.order);
   }
}
  

// SCRIPT para ejecutar orden de COMPRA PEQUEÑA. (configurar atajo de teclado para ejecutar el script)

// ENTRADAS DEL SCRIPT: INGRESAR LOS DATOS PARA CONFIGURAR la orden (solo cambiar los parametros de entrada).


     // GESTION FRACCIONARIA 
int riesgo = 1;           // Tamaño de orden proporcional respecto al apalancamiento y patrimonio. 
int valorlote = 10000;    // Valor del lote segun broker/cuenta.
int leverage = 50;        // Apalancamiento de la cuenta.
      // GESTION FIJA 
bool lotfijo = false;      // "false": El tamaño de la orden es automatico dependiendo del tamaño de la cuenta y riesgo elegido,, "true": El tamaño es fijo. 
double sizelotfijo= 0.10;   // Tamano de la orden para gestion fija. 

// finalización de parametros.

void OnStart()
{
if(lotfijo==false)
 {

double lots;

lots = (((((AccountInfoDouble(ACCOUNT_BALANCE))*leverage)/100)*riesgo)/valorlote);

double lots2;

lots2 = (((((AccountInfoDouble(ACCOUNT_BALANCE))*leverage)/100)*riesgo)/valorlote);

   MqlTradeRequest request={10};
   MqlTradeResult  result={10};

   request.action   =TRADE_ACTION_DEAL;                     
   request.symbol   =Symbol();                             
   request.volume   =0.10;                               
   request.type     =ORDER_TYPE_BUY;   
   request.type_filling =ORDER_FILLING_FOK;                     
   request.price    =SymbolInfoDouble(Symbol(),SYMBOL_ASK);
   request.deviation=5;                                     

   if(!OrderSend(request,result))
      PrintFormat("OrderSend error %d",GetLastError());     

   PrintFormat("retcode=%u  deal=%I64u  order=%I64u",result.retcode,result.deal,result.order);
  }
 else
   {

   MqlTradeRequest request={10};
   MqlTradeResult  result={10};

   request.action   =TRADE_ACTION_DEAL;                     
   request.symbol   =Symbol();                             
   request.volume   =0.10;                               
   request.type     =ORDER_TYPE_BUY;   
   request.type_filling =ORDER_FILLING_FOK;                     
   request.price    =SymbolInfoDouble(Symbol(),SYMBOL_ASK);
   request.deviation=5;                                     

   if(!OrderSend(request,result))
      PrintFormat("OrderSend error %d",GetLastError());     

   PrintFormat("retcode=%u  deal=%I64u  order=%I64u",result.retcode,result.deal,result.order);
   }
}


    Price period SMA Price period SMA

    El indicador calcula el precio medio para el período especificado.

    SSL Channel Chart SSL Channel Chart

    Trend indicator

    Función que Calcula la Reducción Relativa Función que Calcula la Reducción Relativa

    La reducción relativa es una relación entre la reducción máxima y el valor del máximo local correspondiente del capital. Es importante utilizar el Drawdown Relativo según el saldo como filtro de optimización.

    Información sobre las entradas y salidas del modelo ONNX Información sobre las entradas y salidas del modelo ONNX

    Script para obtener información sobre el número, los tipos y los tamaños de los tensores de entrada y salida del modelo onnx