Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 След. |
Автор |
Сообщение |
Craft
Зарегистрирован: 09.11.2010
Сообщения: 3
|
|
Посмотреть профиль Отправить личное сообщение |
|
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
Да, и правда, Олег, сегодня видел на их форуме эту тему, не хочешь стать тем гуру, которого они там ищут? |
_________________ Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает. |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Nero Wolfe писал(а): |
Да, и правда, Олег, сегодня видел на их форуме эту тему, не хочешь стать тем гуру, которого они там ищут? |
Когда искали я свое мыло дал. Никто не обратился. А сам я со Смартом не работаю. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
Я тоже со смартом не знаком, но все таки АйТи хочет сделать полноценную интеграцию со своей платформой, при чем есть возможность сделать именно качественный продукт, но для этого необходимо участие знатока АМИ.
Жаль конечно, что вы не состыковались, не поняли друг друга... |
_________________ Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает. |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ну вот так.
Видео видел которое я выложил? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Nero Wolfe
Зарегистрирован: 17.03.2010
Сообщения: 174
|
Видел, но оно без звука... так и должно быть?
По моему получился какой то скальперский стакан из АМИ |
_________________ Если вас грызет совесть, выбейте ей зубы, и пусть она вас нежно обсасывает. |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Если хочешь стакан.
Суть в том, что разработанный инструментарий для AFL позволяет выставлять ордера, отслеживать их состояние, и следить за текущей рыночной позицией в терминале.
А то, что без звука, так это мой трабл. Я не люблю звук в компе. У меня компы всегда молчаливые... Поэтому и видео без звука. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Teema
Зарегистрирован: 01.04.2009
Сообщения: 184
|
Дайте ссылку на видео пожалуйста. |
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Ivan
Зарегистрирован: 23.03.2011
Сообщения: 20
|
Добрый день!
Пытаюсь сделать торгового робота для СмартТрейд по описанной в данной ветке технологии, но, к сожалению, ничего не получается.
Решил пойти немного другим путем. СмартТрейд, также как и Квик может читать заявки из файла и выставлять их прямиком на биржу.
Однако в отличие от Квика формат принимаемого файла несколько иной, а именно:
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
|
Цитата: |
Однако в отличие от Квика формат принимаемого файла несколько иной, а именно:
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
|
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
|
Олег, удалось получить информацию.
Посмотрите вложенный файл.
Спасибо |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Залей плиз не в .docx |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Ivan
Зарегистрирован: 23.03.2011
Сообщения: 20
|
000 писал(а): |
Залей плиз не в .docx |
Готово. Сама инструкция в pdf, но ее размер более 1мб, поэтому пришлось вставлять в Word. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|
Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 След. |
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|