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

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

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



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

СообщениеДобавлено: Чт Май 07, 2009 3:42 pm    Заголовок сообщения: Ответить с цитатой

Фу! нашелся индикатор с тем же названием и все стало на место. Спасибо за помощь!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Дмитрий



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

СообщениеДобавлено: Чт Июл 23, 2009 10:05 pm    Заголовок сообщения: Ответить с цитатой

Добрый день! я не очень силён в программировании, а точнее вообще не силен....))) может быть моя просьба не особо актуальна, но всё таки (просто очень надо): возможно ли написать советника, который сигнализировал бы о происходящих событиях не при их возникновении, а по времени? например, указать в параметрах советника определённый временной период, по прошествии которого он бы выводил на печать или скидывал на e-mail текущее состояние счёта - баланс, маржа, текущий курс, открытые позиции и всю прочую инфу? может быть, такие варианты уже есть? если кто знает - поделитесь, плиз... а может быть, что б не писать нового советника , будет проще добавить такую функцию в e-SignalOfTrade? заранее благодарен....
_________________
Желание изыскивает возможности,а нежелание - причины...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Nar



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

СообщениеДобавлено: Пн Июл 27, 2009 8:18 pm    Заголовок сообщения: Ответить с цитатой

Здравствуйте Игорь!
Индикатор i-SignalOfTrade передаёт столько писем, сколько открыто графиков.Можно в принципе сделать,что-б письмо было одно?Если да,то не подскажите,что подправить в коде.То же самое с библиотекой b-SendMail.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
KimIV
Admin


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

СообщениеДобавлено: Пн Июл 27, 2009 8:47 pm    Заголовок сообщения: Ответить с цитатой

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



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

СообщениеДобавлено: Пн Июл 27, 2009 9:00 pm    Заголовок сообщения: Ответить с цитатой

У меня торгует 6 пар.Поставив индикатор только на одну,индикатор будет информировать и об остальных пяти?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
KimIV
Admin


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

СообщениеДобавлено: Пн Июл 27, 2009 9:10 pm    Заголовок сообщения: Ответить с цитатой

Nar писал(а):
Поставив индикатор только на одну,индикатор будет информировать и об остальных пяти?

Да, именно такое его использование и задумывалось при разработке. Если кому-то это не нравится, переделывайте сами под свои нужды. Исходники я ни от кого не скрываю...

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



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

СообщениеДобавлено: Пн Июл 27, 2009 9:12 pm    Заголовок сообщения: Ответить с цитатой

Благодарю за помощь!Это то,что надо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ashot



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

СообщениеДобавлено: Пн Сен 07, 2009 3:47 pm    Заголовок сообщения: Ответить с цитатой

Спасибо большое, очень полезный советник.
Вопрос такой - что нужно убрать в коде чтобы оставить срабатывание только при определённых событиях (а не всех),
например срабатывание только при закрытии позиции по тейку.
И как осуществить использование данных закрытого ордера, для установки нового отложенного ордера взамен закрытого?
В каких переменных хранятся эти данные?

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


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

СообщениеДобавлено: Пн Сен 07, 2009 4:38 pm    Заголовок сообщения: Ответить с цитатой

ashot писал(а):
В каких переменных хранятся эти данные?

Смотрите глобальные массивы с индексом sot.

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



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

СообщениеДобавлено: Вт Сен 08, 2009 4:12 pm    Заголовок сообщения: Ответить с цитатой

Спасибо, получилось.

Вставил функцию установки ордера вместо закрытого внутрь скрипта // Закрытие позиций / Удаление ордеров,
чтобы установка происходила только в случае закрытия ордера.
Всё работает, только почему-то 2 раза - устанавливает 2 совершенно одинаковых ордера вместо одного.
Подскажите что не так?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
KimIV
Admin


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

СообщениеДобавлено: Вт Сен 08, 2009 8:21 pm    Заголовок сообщения: Ответить с цитатой

ashot писал(а):
Подскажите что не так?

Не знаю... возможно, у Вас нет проверки на количество ордеров. Сделайте такую проверку, если нет ордера, то ставить, если есть, то - нет. Можете воспользоваться моими же функциями ExistOrders() или NumberOfOrders().

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



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

СообщениеДобавлено: Ср Сен 09, 2009 11:43 am    Заголовок сообщения: Ответить с цитатой

KimIV писал(а):
Не знаю... возможно, у Вас нет проверки на количество ордеров. Сделайте такую проверку, если нет ордера, то ставить, если есть, то - нет. Можете воспользоваться моими же функциями ExistOrders() или NumberOfOrders().


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


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

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

ashot писал(а):
Возможно ли это поправить?

Да... Используйте для этого функцию Symbol().

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



Зарегистрирован: 10.11.2009
Сообщения: 1
Откуда: Россия

СообщениеДобавлено: Вт Ноя 10, 2009 9:19 pm    Заголовок сообщения: Ответить с цитатой

Здравствуйте.
Решил воспользоваться Вашими библиотеками.
В частности b-Positions http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=63
Подключил в своем советнике.
Мой код:
Код:
//+------------------------------------------------------------------+
int Trade(int TradeSignal)                        // Торговая функция
   { // TradeSignal - тип торговой операции:
   // 10 - открытие Buy 
   // 20 - открытие Sell
   // 11 - закрытие Buy
   // 21 - закрытие Sell
   //  0 - значимых критериев нет

   //int QntBuy =NumberOfOrders(NULL, OP_BUY, MagicNumber);            // кол-во рыночных Buy-ордеров
   //int QntSell=NumberOfOrders(NULL, OP_SELL, MagicNumber);           // кол-во рыночных Sell-ордеров
   bool QntBuy =ExistPositions(NULL, OP_BUY, MagicNumber, 0);            // кол-во рыночных Buy-ордеров
   bool QntSell=ExistPositions(NULL, OP_SELL, MagicNumber, 0);           // кол-во рыночных Sell-ордеров
   switch(TradeSignal)
     {
      //--------------------------------------------------------- 1 --
      case 10:                                                       // Торговый критерий = Buy
         //if(QntSell>0)
         if(QntSell)
            ClosePosFirstProfit(NULL, OP_SELL, MagicNumber);         // Закрыть все Sell
         //if(QntBuy==0)
         if(!QntBuy)
            OpenPosition(NULL, OP_BUY, Lots, 0, 0, MagicNumber, ""); // Открыть Buy
         return;                                                     // Поторговали - уходим
         //------------------------------------------------------ 2 --
      case 11:                                                       // Торг. крит. = закрытие Buy
         //if(QntBuy>0)
         if(QntBuy)
            ClosePosFirstProfit(NULL, OP_BUY, MagicNumber);          // Закрыть все Buy
         return;                                                     // Поторговали - уходим
         //------------------------------------------------------ 3 --
      case 20:                                                       // Торговый критерий = Sell
         //if(QntBuy>0)
         if(QntBuy)
            ClosePosFirstProfit(NULL, OP_BUY, MagicNumber);          // Закрыть все Buy
         //if(QntSell==0)
         if(!QntSell)
            OpenPosition(NULL, OP_SELL, Lots, 0, 0, MagicNumber, "");// Открыть Sell
         return;                                                     // Поторговали - уходим
         //------------------------------------------------------ 4 --
      case 21:                                                       // Торг. крит. = закрытие Sell
         //if(QntSell>0)
         if(QntSell)
            ClosePosFirstProfit(NULL, OP_SELL, MagicNumber);         // Закрыть все Sell
         return;                                                     // Поторговали - уходим
         //------------------------------------------------------ 5 --
      case 0:                                                        // Удержание открытых позиций
         return;                                                     // Поторговали - уходим
         //------------------------------------------------------ 6 --
     }

   return(0);
   }

Вопрос(или замечание?):
Проверка на существование уже открытого ордера с помощью функции ExistPositions проходит нормально, а с помощью функции NumberOfOrders - нет. Функция постоянно возвращает "0" и соответственно в тестере открываются позиции пока не вылезет ошибка: 134 - Недостаточно денег для совершения операции.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
VAK



Зарегистрирован: 27.01.2008
Сообщения: 7
Откуда: Казахстан, Алматы

СообщениеДобавлено: Пт Dec 18, 2009 6:06 pm    Заголовок сообщения: Ответить с цитатой

Здравствуйте, Игорь!
Нельзя ли добавит функцию отправки SMS или в советник или в индикатор? Хотелось бызнать что происходит с терминалом когда не находишся за монитором.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Автоматизация торговли на финансовых рынках -> Инструменты трейдера Часовой пояс: GMT + 5
На страницу Пред.  1, 2, 3  След.
Страница 2 из 3

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


Powered by phpBB © 2001, 2005 phpBB Group