forked from e187038/SP_GVA1
62 lines
5 KiB
MQL5
62 lines
5 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| SP_Pedro_Chapter09.mq5 |
|
|
//| Copyright 2024, MetaQuotes Ltd. |
|
|
//| https://www.mql5.com |
|
|
//+------------------------------------------------------------------+
|
|
#property copyright "Copyright 2024, MetaQuotes Ltd."
|
|
#property link "https://www.mql5.com"
|
|
#property version "1.00"
|
|
//+------------------------------------------------------------------+
|
|
//| Expert initialization function |
|
|
//+------------------------------------------------------------------+
|
|
int OnInit()
|
|
{
|
|
//---
|
|
|
|
//---
|
|
return(INIT_SUCCEEDED);
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
//| Expert deinitialization function |
|
|
//+------------------------------------------------------------------+
|
|
void OnDeinit(const int reason)
|
|
{
|
|
//---
|
|
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
//| Expert tick function |
|
|
//+------------------------------------------------------------------+
|
|
void OnStart()
|
|
{
|
|
// Definir variables para almacenar los parámetros de la orden
|
|
double lotSize = 0.1; // Tamaño del lote
|
|
double stopLoss = 50; // Nivel de stop loss en puntos
|
|
double takeProfit = 100; // Nivel de take profit en puntos
|
|
double precio = SymbolInfoDouble(_Symbol, SYMBOL_BID); // Precio actual de oferta del símbolo
|
|
|
|
// Definir la estructura de solicitud de operación
|
|
MqlTradeRequest request;
|
|
ZeroMemory(request);
|
|
request.action = TRADE_ACTION_DEAL; // Tipo de acción: Deal (acuerdo)
|
|
request.type = ORDER_TYPE_BUY; // Tipo de orden: Compra
|
|
request.volume = lotSize; // Tamaño del lote
|
|
request.price = precio; // Precio de mercado actual
|
|
request.sl = precio - stopLoss * _Point; // Stop Loss
|
|
request.tp = precio + takeProfit * _Point; // Take Profit
|
|
request.symbol = _Symbol; // Símbolo
|
|
request.magic = 3344; // Número mágico
|
|
|
|
// Enviar la solicitud de operación
|
|
MqlTradeResult result;
|
|
if (OrderSend(request, result))
|
|
{
|
|
Print("Orden de compra enviada correctamente. Ticket: ", result.order);
|
|
}
|
|
else
|
|
{
|
|
Print("Error al enviar la orden de compra. Código de error: ", GetLastError());
|
|
}
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|