[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 945
Tentando implementar uma simples inversão. Quando uma posição de parada é alcançada --> abra a posição oposta. Não consigo fazer com que abra uma posição oposta uma vez e não abrir mais nada. Por favor, informe.
Tenho-o implementado da seguinte forma - esta é uma condição - se a posição anterior fechava com uma perda, então abrindo a posição oposta... Se você precisar abrir a posição oposta exatamente quando o stop loss da posição anterior for alcançado, então Kim Igor Vladimirovich em http://www.kimiv.ru/ tem uma função que determina especificamente o fechamento da ordem exatamente pelo stop loss. Portanto, quando você conectar esta função, você deve prescrever a condição se a pose foi fechada quando a parada de perda foi atingida. Se foi, você deve abrir outra.
PS: Acabado de lembrar, este código de fechamento para uma pose em stop loss foi postado neste tópico algumas páginas antes... Dê uma olhada.
//---Поиск последнего отработавшего ордера для открытия очередной позиции ---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;
}
Tentando implementar uma simples inversão. Quando uma posição de parada é alcançada --> abra a posição oposta. Não consigo fazer com que abra uma posição oposta uma vez e não abrir mais nada. Por favor, informe.
E se, no nível de parada, simplesmente colocar a ordem pendente? Não funcionaria dessa maneira?
https://www.mql5.com/ru/forum/105952
Obrigado, mas não consigo descobrir onde está o erro...
Boas pessoas, por favor me aconselhem, preciso de um CÓDIGO para implementar o TrailingStop!?
Os que encontrei on-line não funcionam (rastejando para trás e para frente)
Boas pessoas, por favor me aconselhem, preciso de um CÓDIGO para implementar o TrailingStop!?
Os que encontrei on-line não funcionam (rastejando para trás e para frente)
Obrigado, mas não consigo descobrir onde está o erro...
precisam de um indicador completo
Precisa de um indicador completo
obrigado
Na primeira execução, as funções ArrayMaximum e ArrayMinimum estavam fora do escopo
Na primeira execução, as funções ArrayMaximum e ArrayMinimum estavam fora do escopo
Tentando implementar uma simples inversão. Quando uma posição de parada é alcançada --> abra a posição oposta. Não consigo fazer com que abra uma posição oposta uma vez e não abrir mais nada. Por favor, informe.
Tenho-o implementado da seguinte forma - esta é uma condição - se a posição anterior fechava com uma perda, então abrindo a posição oposta... Se você precisar abrir a posição oposta exatamente quando o stop loss da posição anterior for alcançado, então Kim Igor Vladimirovich em http://www.kimiv.ru/ tem uma função que determina especificamente o fechamento da ordem exatamente pelo stop loss. Portanto, quando você conectar esta função, você deve prescrever a condição se a pose foi fechada quando a parada de perda foi atingida. Se foi, você deve abrir outra.
PS: Acabado de lembrar, este código de fechamento para uma pose em stop loss foi postado neste tópico algumas páginas antes... Dê uma olhada.
Tentando implementar uma simples inversão. Quando uma posição de parada é alcançada --> abra a posição oposta. Não consigo fazer com que abra uma posição oposta uma vez e não abrir mais nada. Por favor, informe.