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



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

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

ИТ Инвест создал бета плагин с возможностью выставления ордеров с использованием .afl, но как это практически использовать сами не знают, кто в курсе, помогите разобраться, как это использовать для автотрейдинга:
http://www.itinvest.ru/forum/index.php?showtopic=63382&view=findpost&p=256238
Посмотреть профиль Отправить личное сообщение
Nero Wolfe



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

СообщениеДобавлено: Ср Дек 22, 2010 5:25 pm Ответить с цитатой Вернуться к началу

Да, и правда, Олег, сегодня видел на их форуме эту тему, не хочешь стать тем гуру, которого они там ищут?

_________________
Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Дек 22, 2010 5:41 pm Ответить с цитатой Вернуться к началу

Nero Wolfe писал(а):
Да, и правда, Олег, сегодня видел на их форуме эту тему, не хочешь стать тем гуру, которого они там ищут?

Когда искали я свое мыло дал. Никто не обратился. А сам я со Смартом не работаю.

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



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

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

Я тоже со смартом не знаком, но все таки АйТи хочет сделать полноценную интеграцию со своей платформой, при чем есть возможность сделать именно качественный продукт, но для этого необходимо участие знатока АМИ.
Жаль конечно, что вы не состыковались, не поняли друг друга... Smile

_________________
Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Ну вот так. Smile
Видео видел которое я выложил?

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



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

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

Видел, но оно без звука... так и должно быть?
По моему получился какой то скальперский стакан из АМИ Smile

_________________
Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Янв 14, 2011 9:47 pm Ответить с цитатой Вернуться к началу

Если хочешь стакан.
Суть в том, что разработанный инструментарий для AFL позволяет выставлять ордера, отслеживать их состояние, и следить за текущей рыночной позицией в терминале.
А то, что без звука, так это мой трабл. Я не люблю звук в компе. У меня компы всегда молчаливые... Smile Поэтому и видео без звука.

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



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

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

Дайте ссылку на видео пожалуйста.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
000
Site Admin


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

СообщениеДобавлено: Сб Янв 15, 2011 1:16 am Ответить с цитатой Вернуться к началу

http://amisite.ru/video/video.htm

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



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

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

Добрый день!

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

Решил пойти немного другим путем. СмартТрейд, также как и Квик может читать заявки из файла и выставлять их прямиком на биржу.

Однако в отличие от Квика формат принимаемого файла несколько иной, а именно:

placeorder?portfolio=XXXX&security=SBER&action=BuyL&type=MARKET&validity=DAY&amount=1
где XXXX - номер Счета, SBER - тикер, validity - срок действия приказа -День, amount-количество.

И именно из-за этого у меня большая проблема с функцией makeandsave

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

Буду сильно благодарен.

Код:

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

TickerID=1;         // уникальный для каждого индикатора номер
Ticker="RTS-6.11";      // название бумаги в Амиброкере. На другой бумаге работать не будет
TimeFrame=1;       // таймфрейм в минутах. На других таймфреймах работать не будет
Classcode="EQBR";   // код класса бумаги
Seccode="SBER";     // код бумаги
Account="L01-111111";  // ваш аккаунт на бирже
Client="";      // код клиента
Lots=1;             // сколько лотов желаете торговать
FileName="D:/Trading/amibroker/smarttradeorders.txt"; // слэши прямые!!! имя файла с транзакциями для квика
Otstup=1; // в процентах. заявка будет выставлена хуже текущей цены на столько процентов
Point=2; // количество знаков после запятой в цене

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

bars=2;
HLine=Ref(HHV(H,bars),-1);
LLine=Ref(LLV(L,bars),-1);
Buy=H>Hline;
Sell=L<LLine;
//Short=Sell;
//Cover=Buy;

////// Убираем лишние сигналы /////////////

Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
//Short=ExRem(Short,Cover);
//Cover=ExRem(Cover,Short);

///////////// Рисуем всякое ///////////////

Plot(C,"price",1,128);
PlotShapes(IIf(Buy,shapeUpArrow,0),5,0,Graph0,-15);
PlotShapes(IIf(Sell,shapeDownArrow,0),4,0,Graph0,-15);
//PlotShapes(IIf(Cover,shapeHollowUpArrow,0),5,0,Graph0,-15);
//PlotShapes(IIf(Short,shapeHollowDownArrow,0),4,0,Graph0,-15);


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

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 (found==0) {
    f=fopen(FileName,"a");
    if (f) {
      fputs(sstr+"\n",f);
      fclose(f);
    }
  }
}

//Smart Order format "placeorder?","portfolio=XXX","&security=SBER","&action=Buy","&type=Market","&validity=DAY","amount=1"

function makeandsave(sOper,sOperID,sprice) {
    CCS="";
    if (Client!="") { CCS=" CLIENT_CODE="+Client+";"; }
//  Оригинал transid=StrFormat("TRANS_ID=%g%g%g%g;",TickerID,sOperID,LastValue(Ref(DayOfYear(),-1)),LastValue(Ref(TimeNum(),-1)));
   
str=StrFormat("placeorder?"+"portfolio=0013"+"&security=SBER"+"&action=Buy"+"&type=Market"+"&validity=DAY"+"&amount=1");

// Оригинал str=StrFormat(transid+"PRICE=%1."+Point+"f;QUANTITY=%g;OPERATION="+sOper+";CLASSCODE="+Classcode+"; ACTION=NEW_ORDER; TYPE=L; SECCODE="+Seccode+"; ACCOUNT="+Account+";"+CCS,sprice,Lots);
      savetrifile(str);

// Оригинал savetrifile(transid,str);
}

if ((Now(3)==LastValue(DateNum()))AND(BarCount>1)AND(NAME()==Ticker)AND(TimeFrame==Interval()/60)AND((Buy[BarCount-1]==1)OR(Sell[BarCount-1]==1))) {// OR(Short[BarCount-1]==1)OR(Cover[BarCount-1]==1))) {
  ifbuy=IIf(Buy[BarCount-1]==1,1,0); 
  ifsell=IIf(Sell[BarCount-1]==1,1,0); 
//  ifshort=IIf(Short[BarCount-1]==1,1,0); 
//  ifcover=IIf(Cover[BarCount-1]==1,1,0);   
  if (ifbuy) {
    price=(1+Otstup/100)*Close[BarCount-1];
    makeandsave("B",1,price);
  }
  if (ifsell) {
    price=(1-Otstup/100)*Close[BarCount-1];
    makeandsave("S",2,price);
  }
//  if (ifshort) {
//    price=(1-Otstup/100)*Close[BarCount-1];
//    makeandsave("S",3,price);
//  }
//  if (ifcover) {
 //   price=(1+Otstup/100)*Close[BarCount-1];
//    makeandsave("B",4,price);
//  }
}
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Цитата:

Однако в отличие от Квика формат принимаемого файла несколько иной, а именно:

placeorder?portfolio=XXXX&security=SBER&action=BuyL&type=MARKET&validity=DAY&amount=1
где XXXX - номер Счета, SBER - тикер, validity - срок действия приказа -День, amount-количество.

Где про это прочитать? Надо больше информации.

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



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

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

000 писал(а):
Цитата:

Однако в отличие от Квика формат принимаемого файла несколько иной, а именно:

placeorder?portfolio=XXXX&security=SBER&action=BuyL&type=MARKET&validity=DAY&amount=1
где XXXX - номер Счета, SBER - тикер, validity - срок действия приказа -День, amount-количество.

Где про это прочитать? Надо больше информации.


Спасибо за ответ.
К сожалению, найти инфу не могу: ни в инструкции к СмартТрейд, ни на форуме Айти.
С ответами там очень туго.

Если поможет, то могу сказать как это реализована в Wealth-Lab

Код:

var Symbol, OrderFile, OrderFilePath, ITTradePortfolio: string;

OrderFilePath := 'D:\Trading\amibroker\';
ITTradePortfolio := 'BP-0491';
nn := 0;

      if (priceclose (bar) < priceclose (bar - 3)) then
      begin
      ShortAtmarket( Bar + 1, 'Short' );
      nn := nn + 1;
      f := FileCreate( OrderFilePath + IntToStr( CurrentDate ) + '_' + IntToStr( CurrentTime ) + '_' + IntToStr( nn ) + '.new' );
      FileWrite( f, 'placeorder?' + 'portfolio=' + ITTradePortfolio + '&security=' + 'SBER' + '&action=SELL&type=MARKET&validity=DAY&amount=1');
      FileFlush( f );
      end;
Посмотреть профиль Отправить личное сообщение
Ivan



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

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

Олег, удалось получить информацию.

Посмотрите вложенный файл.
Спасибо
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Залей плиз не в .docx

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



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

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

000 писал(а):
Залей плиз не в .docx


Готово. Сама инструкция в pdf, но ее размер более 1мб, поэтому пришлось вставлять в Word.
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen