Примерно вот так используется (советник):
TakeUP.rar 3,4 КБ
491 Скачано
Параметры:
Loss - лосс, пунктов (вместе со спрэдом), при котором выставляем тейкпрофит в безубыток
ZepoPlus - сколько пунктов
Приветствую всех хакеров!
Саш я тут вот по такому делу! Опробовали мы с Лёшей (chert) этот скрипт и вот какие первые впечатления!
Может я чё не разобрался, но Работает он задом на перёд!!
1. ZepoPlus - работает совсем по другому, т.е. как только сделка переходит в "+" Сразу же выставляется тейк на количество пипов, которое указанно в ZepoPlus! И потом этот тейк при достижении - просто срабатывает!
Для чего функция Loss - я так и не разобрался!
Если не против, попытаюсь ещё раз обьяснить что именно дожно родиться:
Открыта сделка - при достижении конкретно указанной котировки (ну или можно в пипах) должет выставиться StopLoss - т.е. в безубыток на указанное количество пипов!
Зараенее благодарен за помощь!!!
С Уважением Павел
Нет ,Паша . этот работает правильно ...
Александр (Shu) я так понимаю нам не тот скрипт нужен , а вот этот
//+------------------------------------------------------------------+
//| ВЫСТАВЛЕНИЕ СТОПЛОССА В БЕЗУБЫТОК + N п. ПРИ ПРОФИТЕ В Х п. |
//| iLoss - лосс, пунктов (вместе со спрэдом), при котором |
//| выставляем тейкпрофит в безубыток + iZepoPlus пунктов |
//+------------------------------------------------------------------+
void SL2BreakevenIf(int iTicket,int iProfit,int iZepoPlus)
{
int i; // counter
double dBid, dAsk;
// проверяем переданные значения
if ((iZepoPlus<0) || (iProfit-iZepoPlus<MarketInfo(Symbol(),MODE_STOPLEVEL)) || (!OrderSelect(iTicket,SELECT_BY_TICKET)))
{
Print("Установка стоплосса функцией SL2BreakevenIf () невозможна из-за некорректности значений переданных ей аргументов.");
return(0);
}
if (OrderType()==OP_BUY)
{
dBid = MarketInfo(Symbol(),MODE_BID);
// если текущий курс ниже курса открытия позиции на iLoss пунктов или больше
if (dBid-OrderOpenPrice()>=iProfit*Point)
if (OrderStopLoss()<OrderOpenPrice()+iZepoPlus*Point)
OrderModify(iTicket,OrderOpenPrice(),OrderOpenPrice()+iZepoPlus*Point,OrderTakeP
rofit(),OrderExpiration(),Red);
}
if (OrderType()==OP_SELL)
{
dAsk = MarketInfo(Symbol(),MODE_ASK);
// если текущий курс ниже курса открытия позиции на iLoss пунктов или больше
if (OrderOpenPrice()-dAsk>=iProfit*Point)
if ((OrderStopLoss()==0) || (OrderStopLoss()>OrderOpenPrice()-iZepoPlus*Point))
OrderModify(iTicket,OrderOpenPrice(),OrderOpenPrice()-iZepoPlus*Point,OrderTakeProfit(),OrderExpiration(),Blue);
}
}
//+------------------------------------------------------------------+
Плюс привязка к конкретному ордеру (если ордеров много ) .
..Хм... думаю я правильно рассуждаю ...
Получается : нужен советник который привязываем к конкретному ордеру (или графику , но с указанием конкретного ордера ), и который при прохождении цены в "+"( в положительную сторону ) определенное кол-во пп - переводил
этот ордер в Б/У ( т.е. переводил Стоп-лосс в положение " +1 "... надеюсь свои мысли выложил в понятной форме
С уважением , Алексей !
Заранее спасибо за внимание уделенное Нам с Пашей .