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



Зарегистрирован: 09.06.2008
Сообщения: 65
Откуда: Екатеринбург

СообщениеДобавлено: Пн Июл 21, 2008 1:47 pm Ответить с цитатой Вернуться к началу

Пытаюсь перейти с робота типа meh на робота типа ООО Smile
есть 3-4 тикера, лежат в одной группе, таймфрэйм один.
Есть к каждому тикеру индикатор, выдающий сигналы.
Хочу написать робота, который для каждого тикера вызывал свой индикатор посредством include, а собственно обработка текстового файла транзакций шла бы в головной файле робота. Пишу

if (Name()=="RIU8") {
#include "S:\AmiBroker\Formulas\SystemsMy\Work\Tick1.afl";
TickerID=7; // уникальный для каждого индикатора номер
Ticker="RIU8"; // название бумаги в Амиброкере.
Seccode="RIU8"; // код бумаги
}

далее код создания файла (меховский)

код дает ошибку, я так понял, что команду include нельзя затолкать в if ?
Если писать все в одном файле - очень громоздко.
Есть какой-нибудь выход?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Июл 21, 2008 7:37 pm Ответить с цитатой Вернуться к началу

у меня вот этот код прекрасно работает.
Код:

if(Name()=="EESR")
{
   #include "C:\Program Files\AmiBroker\Formulas\1.afl";
// содержимое 1.afl   qqq = 5;
}
if(Name()=="SBER")
{
   #include "C:\Program Files\AmiBroker\Formulas\2.afl";
// содержимое 2.afl   qqq = 2;
}
Plot(qqq, "", colorRed);

Версия Ами 5.13

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



Зарегистрирован: 09.06.2008
Сообщения: 65
Откуда: Екатеринбург

СообщениеДобавлено: Вт Июл 22, 2008 8:30 am Ответить с цитатой Вернуться к началу

000 писал(а):
у меня вот этот код прекрасно работает.
Код:

if(Name()=="EESR")
{
   #include "C:\Program Files\AmiBroker\Formulas\1.afl";
// содержимое 1.afl   qqq = 5;
}
if(Name()=="SBER")
{
   #include "C:\Program Files\AmiBroker\Formulas\2.afl";
// содержимое 2.afl   qqq = 2;
}
Plot(qqq, "", colorRed);

Версия Ами 5.13


не всякий файл видимо можно инклудить. попробовал - простые, да вставляет. рабочий - нет, пишет probably missing semicolon at the end of previous line хотя все нормально там с разделителями - код отдельно работает, без инклуда.
Посмотреть профиль Отправить личное сообщение
BabyBear
Советник


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

СообщениеДобавлено: Ср Дек 10, 2008 1:32 pm Ответить с цитатой Вернуться к началу

000 писал(а):
у меня вот этот код прекрасно работает.
Код:

if(Name()=="EESR")
{
   #include "C:\Program Files\AmiBroker\Formulas\1.afl";
// содержимое 1.afl   qqq = 5;
}
if(Name()=="SBER")
{
   #include "C:\Program Files\AmiBroker\Formulas\2.afl";
// содержимое 2.afl   qqq = 2;
}
Plot(qqq, "", colorRed);

Версия Ами 5.13

Это не правильный код для описанной задачи. Include будет подключать файлы вне зависимости от инструмента. То есть у 000 всегда получится
Код:

if(Name()=="EESR")
{
   qqq = 5;
}
if(Name()=="SBER")
{
  qqq = 2;
}
Plot(qqq, "", colorRed);

если же в файлы подставить функции будет типа
Код:

if(Name()=="EESR")
{
   function qqq()
   {
    ....
   }
}
if(Name()=="SBER")

и ничего хорошего не получится

так что использовать include тут нет смысла. я бы написал типа так
Код:

ind1 = ...
ind2 = ...
if(Name()=="EESR")
{
   ind = ind1;
}
if(Name()=="SBER")
{
   ind = ind2;
}
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen