в первую очередь оформите свой пост в соответствующий вид SRC, Ваш код трудно читаем.
Чтобы определить профит позиции воспользуйтесь OrderProfit()
изменил пост и добавил сам скрипт
for(int i=0;i<OrdersTotal();i++) // если есть открытые позиции { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) // Если символ графика = символу сделки { if(OrderType()==OP_BUY&& OrderProfit()>0) // Если мы купили if(Bid-Point*10>OrderStopLoss()) OrderModify(OrderTicket(),0,Bid-Point*10,OrderTakeProfit(),0,Blue); // Если уровень настоящего стопа больше установленного, то двигаем стоп if(OrderType()==OP_SELL && OrderProfit()>0) // Если мы продали if(Ask+Point*10<OrderStopLoss()) OrderModify(OrderTicket(),0,Ask+Point*10,OrderTakeProfit(),0,Blue); // Если уровень настоящего стопа меньше установленногог, то двигаем стоп
спасибо огромное. попробую отпишусь
нет.. к сожалению не работает.. значок становиться неактивным и не запускается даже
какой значок? какие ошибки при компиляции я Вам вставил Ваш код скорее всего ВЫ просто неправильно его вставили в эксперта
Vladon:
У меня также... Всё нормально работает, но нужно автору ветки прочитать про структуру программы и понять - куда этот кусок кода приладить )))
все работает! благодарен безмерно)))
еще вопрос если выставить OrderProfit()> 10 то он начнет работать после 10 пунктов плюса? или я опять что то не правильнол понимаю?))
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
скрипт двигает стоп ордер вслед за ценой.
вот его код
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
for(int i=0;i<OrdersTotal();i++) // если есть открытые позиции
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) // Если символ графика = символу сделки
{
if(OrderType()==OP_BUY) // Если мы купили
if(Bid-Point*10>OrderStopLoss()) OrderModify(OrderTicket(),0,Bid-Point*10,OrderTakeProfit(),0,Blue); // Если уровень настоящего стопа больше установленного, то двигаем стоп
if(OrderType()==OP_SELL) // Если мы продали
if(Ask+Point*10<OrderStopLoss()) OrderModify(OrderTicket(),0,Ask+Point*10,OrderTakeProfit(),0,Blue); // Если уровень настоящего стопа меньше установленногог, то двигаем стоп
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
хотелось бы что бы скрипт начинал двигать стоп только с уровня безубытка позиции, т.е. пока позиция в минусе скрипт не работал.
и второе что бы расстояние на котором он держит стоплосс можно было менять в настройках скрипта. (это можно изменить в коде вручную заменив 10 на число которое нужно, но постоянно менять код скрипта напрягает, ровно столько же сколько и включать скрипт вручную когда позиция в бузубытке).
ПОМОГИТЕ КТО МОЖЕТ. ЗА РАНЕЕ БОЛЬШОЕ СПАСИБО