Скачать MetaTrader 5

Помогите пожалуйста. Какие-то ошибки в советнике

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Заведи свой торговый сигнал и подключи мониторинг счета!
Aleksey
62
Aleksey 2013.10.11 14:40 

Уже все пересмотрел, все переобдумывал, не знаю в чем может быть ошибка, вроде все правильно..

double best = 0; // самая высокая цена при нашем тренде в данной операции
bool trend = true; // true - играем на рост, false - на понижение
bool stint = 0.0003; // ограничение при превышение которого от значения best происходит закрытие сделки
int ticket = 0;

int init()
{
ticket = OrderSend(Symbol(), OP_BUY, AccountBalance()/100000, Ask, 1000, Bid-1000*Point,Bid+1000*Point);
best = Bid;
}


int deinit()
{
if (trend == true) OrderClose(ticket, OrderLots(), Bid, 1000);
else OrderClose(ticket, OrderLots(), Ask, 1000);

}

int start()
{
if (trend == true) {
if (best < Bid) best = Bid;
else if ((best - Bid) >= stint) {
trend = false;
OrderSelect(ticket, SELECT_BY_TICKET);
OrderClose(ticket, OrderLots(), Bid, 1000);

ticket = OrderSend(Symbol(), OP_SELL, AccountBalance()/100000, Bid, 1000, Ask-1000*Point,Ask+1000*Point);
best = Bid;

}
} else {
if (best > Ask) best = Ask;
else if ((Ask - best) >= stint) {
trend = true;
OrderSelect(ticket, SELECT_BY_TICKET);
OrderClose(ticket, OrderLots(), Ask, 1000);

ticket = OrderSend(Symbol(), OP_BUY, AccountBalance()/100000, Ask, 1000, Bid-1000*Point,Bid+1000*Point);
best = Bid;

}
}
}


Открывает первую сделку, закрывает её в глубоком минусе почему-то, а дальше выдает ошибки:

2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:59 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:58 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:58 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:58 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:57 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:57 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:57 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:56 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:56 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:56 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:55 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:54 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:54 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:54 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:53 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:53 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:53 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:52 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:52 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:52 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:51 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:50 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:50 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:50 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:49 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:49 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:49 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:48 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:48 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:48 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:47 Ooe EURUSD,M1: OrderSend error 131
2013.10.11 18:16:17 2010.01.05 23:47 Ooe EURUSD,M1: OrderClose error 4051
2013.10.11 18:16:17 2010.01.05 23:47 Ooe EURUSD,M1: invalid ticket for OrderClose function
2013.10.11 18:16:17 2010.01.05 23:47 Ooe EURUSD,M1: OrderSend error 131

Подскажет пожалуйста, в чем может быть проблема?

Зарание спасибо

Victor Nikolaev
Модератор
14524
Victor Nikolaev 2013.10.11 14:49  
qaliti:

Уже все пересмотрел, все переобдумывал, не знаю в чем может быть ошибка, вроде все правильно..



Подскажет пожалуйста, в чем может быть проблема?

Зарание спасибо


А анализом ошибок не пробовали заниматься? Хотя совет вряд ли поможет
Aleksey
62
Aleksey 2013.10.11 14:58  
Пробовал, не разобрался...
Victor Nikolaev
Модератор
14524
Victor Nikolaev 2013.10.11 15:03  
qaliti:
Пробовал, не разобрался...

ERR_INVALID_TRADE_VOLUME131Неправильный объем

ERR_INVALID_FUNCTION_PARAMVALUE4051Недопустимое значение параметра функции
Victor Nikolaev
Модератор
14524
Victor Nikolaev 2013.10.11 15:03  
Или коды ошибок ни о чем не говорят?
Vitalie Postolache
12140
Vitalie Postolache 2013.10.11 15:13  

А баланс небось баксов 100, с плечом 1:1000 )))

А посчитать какой лот получится с формулы лот= AccountBalance()/100000 и спросить своего дилера, можно ли у них с таким лотом торговать наверное не судьба...

Не говоря уж о том что свободных средств может и не оказаться, а советник этого не проверяет.

Ну и выбор ордера совсем не так делать полагается.

Aleksey
62
Aleksey 2013.10.11 15:22  

Коды ошибок мне не о чем не говорят.. потому что я не очень понимаю в программирование.. неправильный объем чего, и параметры вроде верные..

Я все делаю на тесте истории. С балансом 10 000 000 . И лоты получаются высокие.. Проверял ограничения - 1 лот. Ниже него оно не может падать в принципе...

Victor Nikolaev
Модератор
14524
Victor Nikolaev 2013.10.11 15:23  
evillive:

А баланс небось баксов 100, с плечом 1:1000 )))

А посчитать какой лот получится с формулы лот= AccountBalance()/100000 и спросить своего дилера, можно ли у них с таким лотом торговать наверное не судьба...

Не говоря уж о том что свободных средств может и не оказаться, а советник этого не проверяет.

Ну и выбор ордера совсем не так делать полагается.



Не надо злобствовать. Вариант рабочий, правда только для оптимизации или тестера.Но с некоторыми поправками можно использовать
Mikhail Kozhemyako
1235
Mikhail Kozhemyako 2013.10.11 15:26  
Aleksey
62
Aleksey 2013.10.11 15:27  
Sepulca:


Прикольно ) А что неправильного в выделенной строке? )
Victor Nikolaev
Модератор
14524
Victor Nikolaev 2013.10.11 15:40  
qaliti:

Прикольно ) А что неправильного в выделенной строке? )

Как вариант - не хватает обязательных параметров например. А размер позиции все-таки считайте по другому и правильно
12345
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий