Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Олег, почему-то программа неправильно подаёт сигналы Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
dmitry1208197320



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

СообщениеДобавлено: Сб Янв 02, 2010 4:35 pm Ответить с цитатой Вернуться к началу

Здравствуйте, Олег! Я тут с Вашей помощью написал небольшую программу (во вложении), которая посылает сигналы на почту при срабатывании определённых условий спредов по последнему и предыдущему значению бара. В режиме просмотра истории, когда

CurBar = StrToNum(StrFormat("%g", BarIndex()));

сигналы подаются правильно,
но в реал-тайме, когда

CurBar = BarCount;

сигналы подаются как-то непонятно - не в то время, что надо - это я потом проверяю на исторических данных.

Можете глянуть, что в коде не так. Я уже неделю не могу разобраться.
Посмотреть профиль Отправить личное сообщение Отправить e-mail
000
Site Admin


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

СообщениеДобавлено: Сб Янв 02, 2010 7:17 pm Ответить с цитатой Вернуться к началу

dmitry1208197320 писал(а):
Здравствуйте, Олег! Я тут с Вашей помощью написал небольшую программу (во вложении), которая посылает сигналы на почту при срабатывании определённых условий спредов по последнему и предыдущему значению бара. В режиме просмотра истории, когда

CurBar = StrToNum(StrFormat("%g", BarIndex()));

сигналы подаются правильно,
но в реал-тайме, когда

CurBar = BarCount;

сигналы подаются как-то непонятно - не в то время, что надо - это я потом проверяю на исторических данных.

Можете глянуть, что в коде не так. Я уже неделю не могу разобраться.

Блин. Там очень много наворотов.
Просмотрел побыстрому. Два момента не понравились
1. У тебя написано
Код:

procedure CallSignal(AStrOutPut)
//вызываем сигнал
{
  AlertIf( True, "EMAIL", AStrOutPut, 0, 1 OR 2 OR 4, 0 );
  printf( "Сработало следующее условие: " + AStrOutPut);
}

Не понял вот это 1 OR 2 OR 4. В хелпере написано
Цитата:

5. Flags управление поведением AlertIF функции. Это поле - комбинация (сумма) следующих величин:
( 1 - показать текст в окне сигнала (output window), 2 - воспроизвести звуковой сигнал (через ПиСи-спикер), 4 - не воспроизводить повторяющиеся сигналы одинакового типа, 8 - не воспроизводить повторяющиеся сигналы имеющие одинаковое время и дату) По умолчаню все эти опции включены.

Сумма величин а у тебя OR
2. Попробуй вместо CurBar = BarCount;
использовать
Код:
CurBar = LastValue(BarIndex());

и не забывай, что при реал тайме эта строка должна быть после
Код:
CurBar = StrToNum(StrFormat("%g", BarIndex())); //исследование истории

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
dmitry1208197320



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

СообщениеДобавлено: Сб Янв 02, 2010 8:04 pm Ответить с цитатой Вернуться к началу

спасибо большое, буду пробовать
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen