Tratando de implementar una simple inversión. Cuando se alcanza una posición de parada --> abrir la posición contraria. No consigo que se abra la posición contraria una vez y no se abra nada más. Por favor, avisa.
Lo tengo implementado de la siguiente manera - esta es una condición - si la posición anterior se cerró con una pérdida, entonces la apertura de la opuesta... Si necesita abrir la posición contraria exactamente cuando se alcance el stop loss de la posición anterior, entonces Kim Igor Vladimirovich tiene una función en http://www.kimiv.ru/ que determina exactamente cómo cerrar la orden en el stop loss. Por lo tanto, cuando conecte esta función, deberá prescribir la condición de si la postura se cerró cuando se alcanzó el stop loss. Si fue así, deberá abrir otra.
PD: Acabo de recordar que este código fi de cierre para una pose en el stop loss fue publicado en este hilo unas páginas antes... Echa un vistazo.
//---Поиск последнего отработавшего ордера для открытия очередной позиции ---for (orderIndex = (OrdersHistoryTotal() - 1); orderIndex >= 0; orderIndex--)
{
if (!OrderSelect(orderIndex, SELECT_BY_POS, MODE_HISTORY))
{
Print("Ошибка при доступе к исторической базе (",GetLastError(),")");
continue;
}
if ((OrderSymbol() != Symbol()) || (OrderMagicNumber() != MagicNumber))
{
continue;
}
//-------------------------Принимаем в расчет только ордер, закрытый недавно-----------------------if (OrderCloseTime() >= iTime(NULL, 0, 1))
{
int lastType = OrderType();
double lastLots = OrderLots();
double lastProfit = OrderProfit() + OrderSwap();
// Print ("lastProfit = ", NormalizeDouble(lastProfit, 1));// Анализ только что закрывшегося ордераif (lastProfit < 0.0)
{
//---Ордер закрылся с убытком открываемся в ОБРАТНОМ направлении// ---------НОРМАЛИЗУЕМ НОВЫЕ РАСЧЕТНЫЕ ЛОТЫ И ОТКРЫВАЕМ ОЧЕРЕДНУЮ ПОЗИЦИЮ... // -----если предыдущий ордер был бай, то открываем очередной ордер
lots = NormalizeLots(lots);
if (lastType == OP_SELL) OrderSend(Symbol(), OP_BUY, lots,...);
if (lastType == OP_BUY) OrderSend(Symbol(), OP_SELL, lots, ...);
}
return (0);
}
// Найден закрытый ордер, но он старыйbreak;
}
Tratando de implementar una simple inversión. Cuando se alcanza una posición de parada --> abrir la posición contraria. No consigo que se abra la posición contraria una vez y no se abra nada más. Por favor, avisa.
¿Qué pasa si en el nivel de stop simplemente se pone la orden pendiente? ¿No funcionaría así?
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
https://www.mql5.com/ru/forum/105952
Gracias, pero no consigo averiguar dónde está el error...
¡Buenas personas, por favor aconséjenme, necesito un CÓDIGO para implementar el TrailingStop!
Los que he encontrado en internet no funcionan (arrastrándose hacia atrás y hacia delante)
¡Buenas personas, por favor aconséjenme, necesito un CÓDIGO para implementar el TrailingStop!
Los que he encontrado en internet no funcionan (arrastrándose hacia atrás y hacia delante)
Gracias, pero no consigo averiguar dónde está el error...
necesita un indicador completo
Necesita un indicador completo
gracias
En la primera ejecución, las funciones ArrayMaximum y ArrayMinimum estaban fuera de alcance
En la primera ejecución, las funciones ArrayMaximum y ArrayMinimum estaban fuera de alcance
Tratando de implementar una simple inversión. Cuando se alcanza una posición de parada --> abrir la posición contraria. No consigo que se abra la posición contraria una vez y no se abra nada más. Por favor, avisa.
Lo tengo implementado de la siguiente manera - esta es una condición - si la posición anterior se cerró con una pérdida, entonces la apertura de la opuesta... Si necesita abrir la posición contraria exactamente cuando se alcance el stop loss de la posición anterior, entonces Kim Igor Vladimirovich tiene una función en http://www.kimiv.ru/ que determina exactamente cómo cerrar la orden en el stop loss. Por lo tanto, cuando conecte esta función, deberá prescribir la condición de si la postura se cerró cuando se alcanzó el stop loss. Si fue así, deberá abrir otra.
PD: Acabo de recordar que este código fi de cierre para una pose en el stop loss fue publicado en este hilo unas páginas antes... Echa un vistazo.
Tratando de implementar una simple inversión. Cuando se alcanza una posición de parada --> abrir la posición contraria. No consigo que se abra la posición contraria una vez y no se abra nada más. Por favor, avisa.