Автоматизация торговли на финансовых рынках Автоматизация торговли на финансовых рынках

 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Библиотеки функций
На страницу Пред.  1, 2, 3, 4, 5, 6  След.
 
Начать новую тему   Ответить на тему    Список форумов Автоматизация торговли на финансовых рынках -> Программирование в MQL4
Предыдущая тема :: Следующая тема  
Автор Сообщение
paralocus



Зарегистрирован: 08.04.2009
Сообщения: 19

СообщениеДобавлено: Сб Апр 25, 2009 9:52 pm    Заголовок сообщения: Ответить с цитатой

Игорь, ну не могу я подключить трал! Целый день уже убил. Подскажите хоть что я не так делаю?
У меня вот такие сообщения компилятор выдает:
')' - wrong parameters count C:\Program Files\MetaTrader 4\experts\include\a-ATR_Trailing.mqh (44, 61)

Я вот, понял, кажется.
Я в эксперте подключаю библиотеки:
#include <b-Positions.mqh>
#include <a-ATR_Trailing.mqh>
А потом в теле эксперта вызываю трал:
if (UseTrailing) TrailingPositions();
Но когда этот трал пытается вызвать ModifyOrder() то он вызывает код этой функции из библиотеки b-Orders ? , а там у этой функции меньшее число параметров, да и вообще они не такие..
Что сделать, чтобы вызывался код функции из тела эксперта?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
paralocus



Зарегистрирован: 08.04.2009
Сообщения: 19

СообщениеДобавлено: Сб Апр 25, 2009 10:37 pm    Заголовок сообщения: Ответить с цитатой

Все работает!
Спасибо!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
KimIV
Admin


Зарегистрирован: 24.01.2006
Сообщения: 958
Откуда: Кунгур

СообщениеДобавлено: Вс Апр 26, 2009 11:24 am    Заголовок сообщения: Ответить с цитатой

paralocus писал(а):
Дык вот же:

if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break;

ок... давайте разберёмся... для этого переведём логическое выражение на "русский" язык:
Если (не тестовый режим И не разрешён запуск экспертов) ИЛИ советник остановлен, то прервать выполнение цикла.

Отсюда видно, что прерывание будет выполнено в одном из двух случаев:
1. Советнику передана команда Остановиться.
2. Советник работает онлайн и при этом запрещён его запуск.

Так что всё нормально. В тестере советник работать будет.

_________________
Ещё вчера я себе казался умным и пытался изменить мир, а сегодня я стал мудрым и пытаюсь изменить себя...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора Yahoo Messenger
paralocus



Зарегистрирован: 08.04.2009
Сообщения: 19

СообщениеДобавлено: Вс Апр 26, 2009 1:16 pm    Заголовок сообщения: Ответить с цитатой

Да, я был неправ! Извиняюсь.
На данный момент у меня все еще есть затруднения в работе с вашими библиотеками. Например, при их подключении(b-Positions), в окне параметров эксперта почему-то пропадает вкладка с входными переменными. Пока не знаю как с этим бороться. Может подскажете? А то слишком много времени уходит вот так по-мелочам. Однако, это все временные трудности. А вообще спасибо вам!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
KimIV
Admin


Зарегистрирован: 24.01.2006
Сообщения: 958
Откуда: Кунгур

СообщениеДобавлено: Вс Апр 26, 2009 2:04 pm    Заголовок сообщения: Ответить с цитатой

paralocus писал(а):
в окне параметров эксперта почему-то пропадает вкладка с входными переменными

Это происходит из-за присутствующей в коде строки:

Код:
#property library


Закомментируйте её или удалите, параметры появятся. Но также появится огромное количество предупреждений о неиспользуемых функциях. Не обращайте на них внимания, смотрите только на ошибки.

_________________
Ещё вчера я себе казался умным и пытался изменить мир, а сегодня я стал мудрым и пытаюсь изменить себя...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора Yahoo Messenger
paralocus



Зарегистрирован: 08.04.2009
Сообщения: 19

СообщениеДобавлено: Вс Апр 26, 2009 3:00 pm    Заголовок сообщения: Ответить с цитатой

Спасибо еще раз.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
paralocus



Зарегистрирован: 08.04.2009
Сообщения: 19

СообщениеДобавлено: Вс Апр 26, 2009 3:15 pm    Заголовок сообщения: Ответить с цитатой

Игорь, еще я хочу спросить почему у вас две разных реализации функции ModifyOrder() ? Есть какие-то тонкости(различия в их работе) или они одинаковы?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
KimIV
Admin


Зарегистрирован: 24.01.2006
Сообщения: 958
Откуда: Кунгур

СообщениеДобавлено: Вс Апр 26, 2009 6:23 pm    Заголовок сообщения: Ответить с цитатой

paralocus писал(а):
почему у вас две разных реализации функции ModifyOrder() ?

Одна для тестера, а вторая для онлайн торговли. Для тестера код полегче. Там нет никакой обработки ошибок, кроме записи в протокол сообщения об ошибке.

_________________
Ещё вчера я себе казался умным и пытался изменить мир, а сегодня я стал мудрым и пытаюсь изменить себя...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора Yahoo Messenger
paralocus



Зарегистрирован: 08.04.2009
Сообщения: 19

СообщениеДобавлено: Пн Апр 27, 2009 1:22 pm    Заголовок сообщения: Ответить с цитатой

Игорь, хочу спросить, что за параметр "MarketWatch" ? Для чего он нужен? И еще: откуда(почему) может возникать ошибка 130(неправильные стопы) при вызове OpenPosition() ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
KimIV
Admin


Зарегистрирован: 24.01.2006
Сообщения: 958
Откуда: Кунгур

СообщениеДобавлено: Пн Апр 27, 2009 1:43 pm    Заголовок сообщения: Ответить с цитатой

paralocus писал(а):
что за параметр "MarketWatch" ?

Этот параметр реализует следующее исполнение рыночных ордеров. Открывается позиция бай или селл с нулевыми стопом и тейком, а потом открытая позиция модифицируется, то есть у неё устанавливаются стоп и тейк. Подобное исполнение требуется, например, в компании BroCo.

paralocus писал(а):
откуда(почему) может возникать ошибка 130(неправильные стопы) при вызове OpenPosition() ?

Эта ошибка может возникать как раз из-за неправильного формирования торгового запроса. Например, требуется запрос MarketWatch, а советник сразу заказывает стоп и тейк. Если Вы пытаетесь торговать в BroCo, то установите MarketWatch=True.

_________________
Ещё вчера я себе казался умным и пытался изменить мир, а сегодня я стал мудрым и пытаюсь изменить себя...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора Yahoo Messenger
paralocus



Зарегистрирован: 08.04.2009
Сообщения: 19

СообщениеДобавлено: Пн Апр 27, 2009 2:29 pm    Заголовок сообщения: Ответить с цитатой

Понял! Благодарю.
У меня счет в "Финаме", и до сих пор не замечал за ним такого феномена... Раньше я открывал ордера так:
Код:
ticket = OrderSend(Symbol(), OP_SELL, lot * 2, Bid, 3,Ask + stop * Point, 0, "JaoBuy", magic, 0, Red);


Ошибок не возникало ни в тестере, ни на демо. Понимаю, что это не очень хорошая практика, поэтому и обратился к вашей библиотеке. Теперь открываюсь так:
Код:
   if(!stop_buy)
   if(Jao_buy() > 0)
     {
       OpenPosition("",OP_BUY,lot,stop,take,Magic);
       stop_buy = true;
     }

Кажется ключевой момент здесь - использование ненулевого тейка. Сейчас проверю.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
paralocus



Зарегистрирован: 08.04.2009
Сообщения: 19

СообщениеДобавлено: Пн Апр 27, 2009 2:39 pm    Заголовок сообщения: Ответить с цитатой

Не помогло. Может и раньше ошибки тоже были, просто не фиксировались ни где? Но ордера-то открывались, однако...-Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
KimIV
Admin


Зарегистрирован: 24.01.2006
Сообщения: 958
Откуда: Кунгур

СообщениеДобавлено: Пн Апр 27, 2009 2:57 pm    Заголовок сообщения: Ответить с цитатой

paralocus писал(а):
Не помогло.

Разбирайтесь...!
Может быть Вы пытаетесь стопы поставить слишком близко. Изучите торговые условия Вашего дилера и проверьте, выполняете Вы их или нет.

_________________
Ещё вчера я себе казался умным и пытался изменить мир, а сегодня я стал мудрым и пытаюсь изменить себя...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора Yahoo Messenger
paralocus



Зарегистрирован: 08.04.2009
Сообщения: 19

СообщениеДобавлено: Пн Апр 27, 2009 3:39 pm    Заголовок сообщения: Ответить с цитатой

Разбираюсь...
100 пп это не близко. Кроме того продажи(OP_SELL) открываются нормально, а вот покупки - увы. Код для обеих позиций одинаковый.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
KimIV
Admin


Зарегистрирован: 24.01.2006
Сообщения: 958
Откуда: Кунгур

СообщениеДобавлено: Пн Апр 27, 2009 3:42 pm    Заголовок сообщения: Ответить с цитатой

paralocus писал(а):
100 пп это не близко.

А какой инструмент? И сколько знаков после запятой?

_________________
Ещё вчера я себе казался умным и пытался изменить мир, а сегодня я стал мудрым и пытаюсь изменить себя...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора Yahoo Messenger
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Автоматизация торговли на финансовых рынках -> Программирование в MQL4 Часовой пояс: GMT + 5
На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Страница 5 из 6

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять вложения в этом форуме
Вы не можете просматривать вложения в этом форуме
Рейтинг@Mail.ru


Powered by phpBB © 2001, 2005 phpBB Group