Скачать MetaTrader 5

помогите кто сможет доработать скрипт.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Сделал скриншот в MetaTrader? Поделись им с друзьями!
Артем
22
Артем 2012.01.24 09:01 

скрипт двигает стоп ордер вслед за ценой.

вот его код

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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 на число которое нужно, но постоянно менять код скрипта напрягает, ровно столько же сколько и включать скрипт вручную когда позиция в бузубытке).

ПОМОГИТЕ КТО МОЖЕТ. ЗА РАНЕЕ БОЛЬШОЕ СПАСИБО

Файлы:
Vladislav Andruschenko
91955
Vladislav Andruschenko 2012.01.24 09:14  

в первую очередь оформите свой пост в соответствующий вид SRC, Ваш код трудно читаем.

Чтобы определить профит позиции воспользуйтесь OrderProfit()

Артем
22
Артем 2012.01.24 09:22  
изменил пост и добавил сам скрипт
Vladislav Andruschenko
91955
Vladislav Andruschenko 2012.01.24 11:44  
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); // Если уровень настоящего стопа меньше установленногог, то двигаем стоп
Артем
22
Артем 2012.01.24 12:22  
спасибо огромное. попробую отпишусь
Артем
22
Артем 2012.01.24 12:47  
нет.. к сожалению не работает.. значок становиться неактивным и не запускается даже
Vladislav Andruschenko
91955
Vladislav Andruschenko 2012.01.24 13:16  
какой значок? какие ошибки при компиляции я Вам вставил Ваш код скорее всего ВЫ просто неправильно его вставили в эксперта
new-rena
3372
new-rena 2012.01.24 14:10  
Vladon:

У меня также... Всё нормально работает, но нужно автору ветки прочитать про структуру программы и понять - куда этот кусок кода приладить )))
Vladislav Andruschenko
91955
Vladislav Andruschenko 2012.01.24 14:32  

просто нужно выкладывать код полностью в печатной форме

Файлы:
Артем
22
Артем 2012.01.24 15:24  
все работает! благодарен безмерно)))
Артем
22
Артем 2012.01.24 15:32  
еще вопрос если выставить OrderProfit()> 10 то он начнет работать после 10 пунктов плюса? или я опять что то не правильнол понимаю?))
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий