Pages:
Author

Topic: Cryptotrader.org - автоматический трейдинг на MtGox/Bitstamp/BTC-E/CEX.IO - page 3. (Read 12536 times)

full member
Activity: 147
Merit: 100
full member
Activity: 220
Merit: 100
Подскажите пожалуйста как изменить код EMA 10/21, чтобы бот не покупал биткоины по ценам из интервала 800-900 $, в остальном он должен работать как раньше.

Вы конечно можете такой код написать
Code:
    ....
    if diff > context.buy_treshold         
        if instrument.price < 800 or instrument.price > 900
            buy instrument # Spend all amount of cash for asset
    else
        if diff < -context.sell_treshold
            sell instrument # Sell asset position
   

но это не универсально и противоречит идее EMA метода, который подразумевает покупку при восходящем тренде.
full member
Activity: 147
Merit: 100
Подскажите пожалуйста как изменить код EMA 10/21, чтобы бот не покупал биткоины по ценам из интервала 800-900 $, в остальном он должен работать как раньше.
sr. member
Activity: 369
Merit: 250
спасибо за разъяснение
full member
Activity: 220
Merit: 100
кстати на сексе выдает вот такое:
Canceling order as it was inactive for 30 seconds.
из за чего это?


Дело в том, что CEX.IO (как и Bitstamp) не поддерживает Market Order. То есть невозможно сразу продать/купить по самой лучшей цене, как это позволяют сделать MtGox и BTC-E. Поэтому бот добавляет ордер и через 30 секунд проверяет - если ордер все еще активен, отменяет его и создает новый по текущей цене. И так повторяется пока ордер не будет полностью исполнен. Хотя обработка ордера таким способом может занимать продолжительное время, вообщем, этот алгоритм довольно надежно работает.
sr. member
Activity: 369
Merit: 250
кстати на сексе выдает вот такое:
Canceling order as it was inactive for 30 seconds.
из за чего это?
full member
Activity: 147
Merit: 100
full member
Activity: 194
Merit: 100
Здравствуйте, что означает в логах сообщение:
SELL order wasn't created because the amount is less than minimum order amount.
Расчетное количество для продажи меньше чем на счету.
full member
Activity: 147
Merit: 100
Здравствуйте, что означает в логах сообщение:
SELL order wasn't created because the amount is less than minimum order amount.
legendary
Activity: 2128
Merit: 1019
Боты обновляют портфолио перед каждой операцией, поэтому проблем быть не должно. Ну разве что потеря коммисии, если вы купите, в то время как бот, согласно своей стратегии, будет продавать.

При работе с ботами, вообще, лучше открывать 2 счета. (или больше)
Счета для ботов и счет для ручной торговли. 
Средства конечно, не оптимально используются, но результат, более прозрачен.
full member
Activity: 220
Merit: 100
Можно ли торговать вручную одновременно с ботом ?
нужно ли учитывать как-то изменение средств на счете при такой торговле ?

Боты обновляют портфолио перед каждой операцией, поэтому проблем быть не должно. Ну разве что потеря коммисии, если вы купите, в то время как бот, согласно своей стратегии, будет продавать.
full member
Activity: 194
Merit: 100
Можно ли торговать вручную одновременно с ботом ?
нужно ли учитывать как-то изменение средств на счете при такой торговле ?
Вопрос снимается.
full member
Activity: 220
Merit: 100
Нужна система тикетов на сайте.
И сделай 1-минутный тик на BTC-E

Спасибо за дельные предложения. Сделаем.
full member
Activity: 194
Merit: 100
Нужна система тикетов на сайте.
И сделай 1-минутный тик на BTC-E
full member
Activity: 194
Merit: 100
За код спасибо.
Про 5-минутный интервал я имею ввиду, что расчитывать индиторы можно и по минутным интервалом с выбором пользователя по какому периоду считать индикатор.
Но при такой волатильности получается что бот принимает решение о торговле только раз в пять минут на минимальном интервале.
Мне кажется это не верным. Ведь ситуация может измениться буквально за десятки секунд, а бот узнает об  этом примерно через 2,5 минуты , если брать усредненно.
Если же это кушает ресурсы, тогда надо как-то решать эту проблему.
full member
Activity: 220
Merit: 100
Надо больше примеров по методам, ибо новичкам как мне непонятно как написать правильно.
Code:
zzz = data.instruments[0].stochrsi(14,14,3,3)
Вот к примеру почему этот код неверен ? Нифига не понимаю.
И еще минимальный период обработки запросов ботом раз в пять минут ?
Или это только на демо такое ограничение ?
Почему бы не сделать, ну к примеру раз в пять секунд , это возможно ?


Наверное имеется в виду аналогия с функцией EMA
Code:
data.instruments[0].ema(10)
Но на самом деле это просто сокращенная форма для
Code:
instrument = data.instruments[0]
result = talib.EMA
  startIdx: 0
  endIdx: instrument.close.length-1
  inReal: instrument.close
  optInTimePeriod: period
value = _.last(result)

Для Stochastic RSI такой сокращенной функции нет, поэтому что бы расчитать этот индикатор необходимо посмотреть здесь  https://cryptotrader.org/talib какие аргументы должны передаваться  и добавить примерно следующий код
Code:
    instrument = data.instruments[0]
    results = talib.STOCHRSI
        inReal: instrument.close
        startIdx: 0
        endIdx: instrument.close.length-1
        optInTimePeriod: 14
        optInFastK_Period: 5
        optInFastD_Period: 3
        optInFastD_MAType: 1
    fastK = _.last results.outFastK
    fastD = _.last results.outFastD
    debug "Price: #{instrument.price} K: #{fastK.toFixed(1)} D: #{fastD.toFixed(1)}"

Полный пример https://cryptotrader.org/backtests/ZMTt6accED4BJXsvJ
Что касается того, почему бот обрабатывает сигналы рынка раз в 5 минут, то это связано с общим принципом работы подобных систем. Можно сделать, что бы боты получали в реалтайм результаты каждой операции на бирже, но это не даст никаких приемуществ, а скорее будет даже вредно, так эти данные будут содержать много резких, но незначитаельных изменений курса. Поэтому, что бы "сгладить" данные рынка, в большинстве торговых систем и терминалов используют метод свечей. Здесь немного теории http://ru.wikipedia.org/wiki/%D0%AF%D0%BF%D0%BE%D0%BD%D1%81%D0%BA%D0%B8%D0%B5_%D1%81%D0%B2%D0%B5%D1%87%D0%B8
Кстати, сегодня добавили возможность торговать с 1 мин. интервалом на MtGox.
full member
Activity: 194
Merit: 100
Надо больше примеров по методам, ибо новичкам как мне непонятно как написать правильно.
Code:
zzz = data.instruments[0].stochrsi(14,14,3,3)
Вот к примеру почему этот код неверен ? Нифига не понимаю.
И еще минимальный период обработки запросов ботом раз в пять минут ?
Или это только на демо такое ограничение ?
Почему бы не сделать, ну к примеру раз в пять секунд , это возможно ?
full member
Activity: 220
Merit: 100
оплатить подписку по любому тарифу https://cryptotrader.org/plans (от $15/месяц)

как всегда. зарабатывают не трейдеры а на трейдерах..

Для тех, кто действительно зарабатывает в трейдинге, $15 в месяц это вообще не деньги. У нас есть клиенты которые доверяют боту аккаунты с $60000 на счету, в этом случае коммисия биржи за одну операцию будет составлять сотни долларов, а вы про какие то $15.
newbie
Activity: 54
Merit: 0
оплатить подписку по любому тарифу https://cryptotrader.org/plans (от $15/месяц)

как всегда. зарабатывают не трейдеры а на трейдерах..
full member
Activity: 220
Merit: 100
Ну так это же биржа, а не обменник. Ордер может долго висеть, особенно если вы цену ему выставите.
Вы не так поняли. Если у ордера завис статус Pending, значит его нет в стакане вообще. Ордер может выполниться, только если у него статус Open, и конечно висеть в таком состоянии он тоже может долго.

Ну значит я вас неправильно понял. В любом случае, незначительные лаги сейчас это не те лаги которые вызывали панику весной, тем самым обрушивая курс. Вчерашний спад наши боты на MtGox аккуратно отработали, "без единого разрыва" как говорится.
Pages:
Jump to: