[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 362

 

Приветствую всех,

подскажите сть ли такой скрипт, который после открытия сделки автоматом выставляет SL?

У меня много сделок, не всегда успеваю выставить его, иногда забываю.

 
markeliano:

подскажите сть ли такой скрипт, который после открытия сделки автоматом выставляет SL?

стандартный скрипт modify.mq4 в терминале
 

Каким образом можно читать CSV -файлы с объемами ? в каком формате? это пишется специальный скрипт?

Необходимо для проверки реальных объемов и индикаторов типа индикатора Чайкина или Индикатор денежного потока на часовом или дневном таймфрейме

пример экспорта котировок формат http://www.finam.ru/analysis/export/default.asp

 
Rossi:

Каким образом можно читать CSV -файлы с объемами ? в каком формате? это пишется специальный скрипт?

Файловые операции через WinAPI отредактируйте под свои потребности

Файлы:
reader.mq4  4 kb
 

Где ошибка понять не могу?

if (УСЛОВИЕ ПОКУПКИ)

if(OrderSymbol()==simbol)
{
RefreshRates(); // обновление цен
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid-StopLoss*Point,Bid+TakeProfit*Point,"Buy",1111,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}else
{
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
if(OrderType()==OP_SELL)
RefreshRates(); // обновление цен
OrderClose(NULL,Lot,Bid,3);
return(0);
}

}

смысл такой:

если выполняется условие на покупку

если открытых сделок по этой паре нет

открываем покупку

если открытых сделок по данной паре больше одной

пишет сделка "Х на покупку" открыта

иначе выдаем ошибку открытия сделки

иначе выбираем открытый ордер по данной паре

если ордер на продажу

то закрываем по рынку

возвращаемся по циклу.


с тем кодом который есть сейчас у меня в терминале выдает ошибку invalid ticket for OrderClose function

помогите решить проблему


 
frxmax:

Где ошибка понять не могу?

if (УСЛОВИЕ ПОКУПКИ)

if(OrderSymbol()==simbol)
{
RefreshRates(); // обновление цен
ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid-StopLoss*Point,Bid+TakeProfit*Point,"Buy",1111,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}else
{
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
if(OrderType()==OP_SELL)
RefreshRates(); // обновление цен
OrderClose(NULL,Lot,Bid,3);
return(0);
}

}

смысл такой:

если выполняется условие на покупку

если открытых сделок по этой паре нет

открываем покупку

если открытых сделок по данной паре больше одной

пишет сделка "Х на покупку" открыта

иначе выдаем ошибку открытия сделки

иначе выбираем открытый ордер по данной паре

если ордер на продажу

то закрываем по рынку

возвращаемся по циклу.

с тем кодом который есть сейчас у меня в терминале выдает ошибку invalid ticket for OrderClose function

помогите решить проблему


ну ваш код - мрак полный - то что написано в задуманном алгоритме - он совершенно не делает.

предлагаю вам разобраться сначала с правильным использованием функций

1) invalid ticket for OrderClose function

почитайте о функции OrderClose https://docs.mql4.com/ru/trading/OrderClose

что у вас записано : OrderClose(NULL,Lot,Bid,3);
разве есть ордер с тикетом NULL ?

2) ордера sell закрываются по цене ask

 
KONDOR:
стандартный скрипт modify.mq4 в терминале


Спасибо!

Я его перетащил на окно графика, спросил - подсоединить к графику. нажал OK. Но при открытии сделок, он не работает.

В журнале появляется сразу 2 сообщения:

1. loaded succsesfully

2. removed

Почему он может сам удаляться?

 
Знающие помогите. Нужен код советника, который будет открывать позиции при пересечении тиком цены Moving Average. Весь советник мне не нужен, напишу сам. Не могу только догадаться как реализовать чтобы когда тик пересекает среднюю открывалась позиция Buy или Sell соответственно.
 
markeliano:


Спасибо!

Я его перетащил на окно графика, спросил - подсоединить к графику. нажал OK. Но при открытии сделок, он не работает.

В журнале появляется сразу 2 сообщения:

1. loaded succsesfully

2. removed

Почему он может сам удаляться?


Если Вам еще нужен трал ордера, то Вам нужен не скрипт, но советник... см. эту страничку.
 
Правильно ли я понимаю. Статическая переменная не теряет своего значения между вызовами функции start()?
Причина обращения: