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



Зарегистрирован: 07.05.2009
Сообщения: 55
Откуда: с Луны

СообщениеДобавлено: Пт Май 08, 2009 9:08 am Ответить с цитатой Вернуться к началу

Примите новенького, но не пинайте сильно. Smile

Подскажите пожалуйста, что в коде сделано неправильно.
Я ввиду недостаточных знаний все голову себе сломал

Торговля только лонговая. Код робота Олега и Меха.
Когда в формулу вставляешь код робота: сканер запускаться отказывается.

Код:



///////// Установки ///////////

TimeFrame      = 300;            // таймфрейм в секундах.
Account      = "123456";   // аккаунт на бирже
Client         = "SPBFUT12345";         // код клиента
Lots         = 1;                  // сколько лотов желаете торговать
Otstup         = 1;               // в процентах. Заявка будет выставлена хуже текущей цены на столько процентов
FileName      = "C:/Quik5/Quikdata/input.tri"; // слэши прямые!!! имя файла с транзакциями для квика
dir = 0;

////////// Правила системы ///////////////

SL=(HHV(H,26)+LLV(L,26))/2;
TL=(HHV(H,9)+LLV(L,9))/2;
DL=Ref(C,25);
Sp1=Ref((SL+TL)/2,-25);
Sp2=Ref((HHV(H,52)+LLV(L,52))/2,-25);

Sell = Cross(SL, TL);
Buy = Cross(TL, SL);
Short = 0;
Cover = 0;

//////////////////////////////////////////

Equity(1, 0);

Buy = LastValue(Ref(Buy, -1));
Sell = LastValue(Ref(Sell, -1));
Short = LastValue(Ref(Short, -1));
Cover = LastValue(Ref(Cover, -1));


//////////// Формируем транзакцию.//////////////
////////////////////////////////////////////////
//////// !!!!СЮДА РУКАМИ НЕ ЛАЗИТЬ!!!! /////////
////////////////////////////////////////////////

Classcode = GroupID(1);
if(TickSize == 0)
{
   PopupWindow( "Не задан размер тика значение TickSize", "ошибка", timeout = 5, left = -1, top = -1 );
}
else
{
   Otstup = round(LastValue(C)*Otstup/100/TickSize)*TickSize;
   form = (1 + 0.1 * abs(floor(IIf(log10(TickSize)>0, 0, log10(TickSize)))));
}

procedure savetrifile(stransid,sstr)
{
   f = fopen(FileName, "r");
   found = 0;
   if(f)
   {
      while(!feof(f))
      {
         s = fgets(f);
         if(StrFind( s, stransid) > 0) found = 1;
      }
      fclose(f);
   }
   if (NOT found)
      {
         f = fopen(FileName, "a");
            if(f)
            {
               fputs(sstr+"\n",f);
               fclose(f);
            }
      }
}


function makeandsave(sOper, sprice)
{
   CCS="";
   if (Client != "")  CCS="CLIENT_CODE="+Client+";";

   transid = "TRANS_ID="   +FullName()+LastValue(TimeNum())+dir+"; ";

   str = transid   +
   "PRICE="         +NumToStr(sprice, format = form, separator=False)+"; " +
   "QUANTITY="      +NumToStr(Lots, format = 1.0, separator=False)+"; "+
   "OPERATION="   +sOper+"; "+
   "CLASSCODE="   +Classcode+"; "+
   "ACTION="         +"NEW_ORDER; "+
   "TYPE="            +"L; "+
   "SECCODE="      +Name()+"; "+
   "ACCOUNT="      +Account+"; "+
   CCS;

   savetrifile(transid, str);
}

if (TimeFrame == Interval() & FullName() != "")
{
   if(Buy)
   {
      price = Close[BarCount-1] + Otstup;
      dir = "1";
      makeandsave("B", price);
   }
   if(Sell)
   {
      price = Close[BarCount-1] - Otstup;
      dir = "2";
      makeandsave("S", price);
   }
   if(Short)
   {
      price = Close[BarCount-1] - Otstup;
      dir = "3";
      makeandsave("S", price);
   }
   if(Cover)
   {
      price = Close[BarCount-1] + Otstup;
      dir = "4";
      makeandsave("B", price);
   }

}
else if (TimeFrame != Interval())
   PopupWindow( "Не соответствует временной интервал в настройках АА и в коде",
      "ошибка", timeout = 5, left = -1, top = -1 );
else
   PopupWindow( "Не задан двузначный номер в поле FullName", "ошибка", timeout = 15, left = -1, top = -1 );

//// mehanizator (c) 2004, http://www.russian-trader.ru
//// 000 (c) 2008, http://www.amisite.ru

[code][/code]
Посмотреть профиль Отправить личное сообщение ICQ Number
Teema



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

СообщениеДобавлено: Вт Май 12, 2009 11:45 am Ответить с цитатой Вернуться к началу

Не вдаваясь в систему, советую - проверь все настройки с главной страницы.
Лично у меня был косяк в п.11
Исправил-заработало.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Avante



Зарегистрирован: 07.05.2009
Сообщения: 55
Откуда: с Луны

СообщениеДобавлено: Вт Май 12, 2009 1:13 pm Ответить с цитатой Вернуться к началу

Teema писал(а):
Не вдаваясь в систему, советую - проверь все настройки с главной страницы.
Лично у меня был косяк в п.11
Исправил-заработало.


В том то и дело, что уже все пересмотрел.
Но, к сожалению, я сам не могу найти ошибку. Увы.
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Вт Май 12, 2009 9:50 pm Ответить с цитатой Вернуться к началу

А как он отазывается запускаться? Что говорит?
Проверил, у меня вроде запустился...

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



Зарегистрирован: 07.05.2009
Сообщения: 55
Откуда: с Луны

СообщениеДобавлено: Вт Май 12, 2009 10:15 pm Ответить с цитатой Вернуться к началу

000 писал(а):
А как он отазывается запускаться? Что говорит?
Проверил, у меня вроде запустился...


Ну, один раз все же запустился, я просто мышкой случайно ткнул куда-то. А куда - хоть убейте, не помню. Повторить сей фокус я не смог. Smile
А так, ничего не говорит: просто сканер и бэктест не запускается.

Если убрать самого робота торговли, оставив только условия совершения сделок,

Код:
SL=(HHV(H,26)+LLV(L,26))/2;
TL=(HHV(H,9)+LLV(L,9))/2;
DL=Ref(C,25);
Sp1=Ref((SL+TL)/2,-25);
Sp2=Ref((HHV(H,52)+LLV(L,52))/2,-25);

Buy = Cross(TL, SL);
Sell = Cross(SL, TL);
Short = Sell;
Cover = Buy;


то показывает сделки, а вместе что-то так в королевстве...
Олег, а можно скриншоты настроек вам в личку скину?
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Вт Май 12, 2009 11:10 pm Ответить с цитатой Вернуться к началу

Можно.
Но если сигналов в данный момент нет, то особо и не заметишь, что он запустился. Ты его в тестовом режиме погоняй. Отключи в квике обработку импорта транзакций и погоняй его несколько часов. Потом посмотришь писал ли он что нибудь в .tri

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



Зарегистрирован: 07.05.2009
Сообщения: 55
Откуда: с Луны

СообщениеДобавлено: Ср Май 13, 2009 3:26 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Можно.


вот в том то и дело, что сигналы есть, но они не отображаются.
сообщение и скриншоты в личку отправил.
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Ср Май 13, 2009 4:38 pm Ответить с цитатой Вернуться к началу

Получил. Только не знаю как он отнесется ко стопам которые в настройках... По идее функция Equity() должна их активировать. А где не отображаются сигналы? Где они должны отображаться? В tri робот записи делает?

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



Зарегистрирован: 07.05.2009
Сообщения: 55
Откуда: с Луны

СообщениеДобавлено: Ср Май 13, 2009 5:06 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Получил. Только не знаю как он отнесется ко стопам которые в настройках... По идее функция Equity() должна их активировать.


Вот и мне не терпится это узнать. Только не выходит каменный цветок.

000 писал(а):

А где не отображаются сигналы? Где они должны отображаться?


В окошке Back Test разве не отображаются сделки?

000 писал(а):

В tri робот записи делает?


Нет, файлик чист. Один раз делал, но я нажал куда-то. Знать бы куда...
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Ср Май 13, 2009 5:09 pm Ответить с цитатой Вернуться к началу

А поробуй в настройках снять галку с Futures mode и соответственно дать ему больше денег. Рублей 200 дай.

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



Зарегистрирован: 07.05.2009
Сообщения: 55
Откуда: с Луны

СообщениеДобавлено: Ср Май 13, 2009 5:14 pm Ответить с цитатой Вернуться к началу

я пробовал. ничего не меняется.
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Ср Май 13, 2009 5:14 pm Ответить с цитатой Вернуться к началу

Ща у себя погоняю на симуляторе. Подробности отпишу.

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


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

СообщениеДобавлено: Ср Май 13, 2009 5:28 pm Ответить с цитатой Вернуться к началу

Попробовал. Работает.
Вот что пишет в tri
Код:
TRANS_ID=011729591; PRICE=62095; QUANTITY=1; OPERATION=B; CLASSCODE=Group 0; ACTION=NEW_ORDER; TYPE=L; SECCODE=SPFB.RTS; ACCOUNT=123456; CLIENT_CODE=SPBFUT12345;
TRANS_ID=011059592; PRICE=59202; QUANTITY=1; OPERATION=S; CLASSCODE=Group 0; ACTION=NEW_ORDER; TYPE=L; SECCODE=SPFB.RTS; ACCOUNT=123456; CLIENT_CODE=SPBFUT12345;
TRANS_ID=011714591; PRICE=60666; QUANTITY=1; OPERATION=B; CLASSCODE=Group 0; ACTION=NEW_ORDER; TYPE=L; SECCODE=SPFB.RTS; ACCOUNT=123456; CLIENT_CODE=SPBFUT12345;
TRANS_ID=011459592; PRICE=59544; QUANTITY=1; OPERATION=S; CLASSCODE=Group 0; ACTION=NEW_ORDER; TYPE=L; SECCODE=SPFB.RTS; ACCOUNT=123456; CLIENT_CODE=SPBFUT12345;
TRANS_ID=011659591; PRICE=61565; QUANTITY=1; OPERATION=B; CLASSCODE=Group 0; ACTION=NEW_ORDER; TYPE=L; SECCODE=SPFB.RTS; ACCOUNT=123456; CLIENT_CODE=SPBFUT12345;
TRANS_ID=011714592; PRICE=60464; QUANTITY=1; OPERATION=S; CLASSCODE=Group 0; ACTION=NEW_ORDER; TYPE=L; SECCODE=SPFB.RTS; ACCOUNT=123456; CLIENT_CODE=SPBFUT12345;



Только я гонял на 15 мин и немного изменил настройки поэтому (нет у меня 5 мин.) Настройки тестера все видны на картинке. Остальные не так важны.
Гонял только на РТС

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



Зарегистрирован: 07.05.2009
Сообщения: 55
Откуда: с Луны

СообщениеДобавлено: Ср Май 13, 2009 6:00 pm Ответить с цитатой Вернуться к началу

ясно что нмчего не понятно.
а что за чебокс стоит на "Use Quick AFL"?
у меня нет такого: не знаю, влияет сие или нет.
может у меня гранаты не той системы?
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Ср Май 13, 2009 6:01 pm Ответить с цитатой Вернуться к началу

Это не влияет.
У тебя какая весия?

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen