Duda con código mql5

Foro dedicado a todo lo relacionado con la versión 5 de la plataforma de Metaquotes.
Carl91
Mensajes: 4
Registrado: 18 Abr 2023 12:09

Duda con código mql5

Mensaje por Carl91 »

Hola gente, quería ver si alguien podría ayudarme a resolver lo siguiente.
En una situación en la que hay una orden abierta, con un nivel de TP, y otra orden pendiente a la espera de ser tocada por el precio, quería saber cómo modificar el TP de la primera en el momento en que la segunda sea alcanzada y abierta. Los siguientes son dos fragmentos de código con los que trato de hacer eso de dos maneras diferentes, ambas sin éxito. Agradecería si alguien pudiese corregirme. Muchas gracias y un saludo!

Primero:

if (Close[2] < Open[2] && Close[1] > Open[1])
{
ulong ticketBuy = trade.Buy(lotaje, _Symbol, Ask, 0 , Ask + TP * _Point);
double PrecioAperturaBuy = HistoryOrderGetDouble(ticketBuy,ORDER_PRICE_OPEN);
ulong ticketSellStop = trade.SellStop(lotaje, Bid - 50 * _Point, _Symbol, Bid - 25 * _Point, 0, ORDER_TIME_GTC, 0, 0);
double PrecioAperturaSellStop = HistoryOrderGetDouble(ticketSellStop,ORDER_PRICE_STOPLIMIT);

if( Bid < PrecioAperturaSellStop*_Point )
{

trade.PositionModify(ticketBuy, 0, Ask+200*_Point);

Segundo:

if (Close[2] < Open[2] && Close[1] > Open[1])
{
ulong ticketBuy = trade.Buy(lotaje, _Symbol, Ask, 0 , Ask + TP * _Point);
double PrecioAperturaBuy = HistoryOrderGetDouble(ticketBuy,ORDER_PRICE_OPEN);
ulong ticketSellStop = trade.SellStop(lotaje, Bid - 50 * _Point, _Symbol, Bid - 25 * _Point, 0, ORDER_TIME_GTC, 0, 0);
double PrecioAperturaSellStop = HistoryOrderGetDouble(ticketSellStop,ORDER_PRICE_STOPLIMIT);

if( ticketSellStop > 0 )
{

trade.PositionModify(ticketBuy, 0, Ask+200*_Point);
Responder

Volver a “Metatrader 5”