Постов с тегом "Торговые роботы": 5969

Торговые роботы


торговый робот - это автоматизированная торговая система, принимающая решения и отдающая приказы на выполнение рыночных заявок на основе программного алгоритма.

В этом разделе вы найдете самые актуальные записи по теме торговые роботы.

SensorLive. Позиции и сделки на утро 31.01.2023

    • 31 января 2023, 12:58
    • |
    • SenSoR
  • Еще
SensorLive. Позиции и сделки на утро 31.01.2023
Здравствуйте. Продолжаю публиковать состояние счета и сделки. Начало тут.

Портфель забит под завязку. Новых сделок торговая система не дает. Жду сигналов на выход.

SensorLive. Позиции и сделки на утро 31.01.2023

( Читать дальше )

Нейросеть выбрала лучшие акции

На Санкт-Петербужской бирже, по мнению нейросети Investington, сейчас актуальны следующие позиции:

MARA, оптимальная цена для покупки — 7.62$. Цель — 8.1404$. Предсказанная вероятность роста 78.8%
FATE, оптимальная цена для покупки — 5.7$. Цель — 6.1677$. Предсказанная вероятность роста 84.1%
W, оптимальная цена для покупки — 59.27$. Цель — 63.1728$. Предсказанная вероятность роста 72.4%


Что это такое? || Отчет

TREND. ALEX WANG. # 12 Почему крипта?

Мы здесь: Глава 3: Тренд — главная торговая идея столетия.  3.4: Почему крипта?

Ответ: потому что больше прибыли. И не просто больше, а в РАЗЫ больше.

Но это не весь ответ. Если смотреть под разным углом, есть разные варианты. Поговорим о них в этой главе.

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

Регулирование на рынках.

Приличный человек с экономическим образованием скажет:

«Чем более зарегулирован рынок, тем меньше прибыли».

Это связано, в первую очередь, с понижением кредитного плеча, которым можно совершать сделки. На развитых рынках это делается через механизм разделения трейдеров на категории. В Российской Федерации это разделение идёт на квалифицированных инвесторов и не квалифицированных. При этом не квалифицированные инвесторы не могут применять в своей торговле пониженное гарантийное обеспечение и торговать фьючерсами, а это абсолютное большинство тех, кто торгует на фондовой бирже.

А чем меньше трейдеров с плечами, тем ниже волатильность. А чем ниже волатильность – тем меньше прибыли у трендовых торговых систем.



( Читать дальше )

О ценах, модели Блэка-Шоулза и графическом анализе. Часть 1

    • 30 января 2023, 13:06
    • |
    • А. Г.
      Проверенный аккаунт
  • Еще

Эту таблицу я впервые приводил в своем выступлении на конференции Смартлаба  весной 2016-го и повторил на конференции 2018-го, акцентировав внимание на том, что хочу оформить письменно ниже

 О ценах, модели Блэка-Шоулза и  графическом анализе. Часть 1

Что в таблице?  В таблице доли участков RI (фьючерс на индекс РТС — прим. мое) из 10 приращений, как по отдельным периодам, так и в целом, которые я отнес к «трендам». Что я считал «трендом»? «Трендом» я считал участки, на которых среднее приращений цен (или приращений логарифмов цен, что эквивалентно) отлично от нуля и если оно больше нуля, то относим отрезок к «трендам вверх», а если меньше нуля – к «трендам вниз».

 Какой использовался критерий? Обычный модифицированный критерий Стьюдента на отличие приращений логарифма(!) цены от приращений гауссовского процесса со средним нуль  и дисперсией «почти равной» для 9 испытаний из 10 (нулевая гипотеза). Так как мы имеем критерий на различие сложной гипотезы против простой, то распределение статистики критерия точно известно нам только  при простой гипотезе. И потому при априори выбранных границах критерия мы можем знать только вероятности попадания последовательности из 10 значений в наши «классы» при верности нулевой гипотезы.



( Читать дальше )

Кто-нибудь пользуется веб-хуками на TradingView, для исполнения своих алгоритмов?

Кто-нибудь пользуется веб-хуками на TradingView, для исполнения своих алгоритмов?

Давно пользуюсь
Первый раз слышу
Всего проголосовало: 92
Привет друзья! Недавно я писал пост про то, как ИИ написал бота под tradingview. Вообще под tradingview написано множество готовых алгоритмов в самой системе, которые на бэктесте дают не плохой результат. 

Но основная проблема, с которой столкнулся это использование этих алгоритмов в реальной торговле на реальном счете. Начал рыть инфо про это. В итоге обнаружил в можно подключить торговую панель и торговать напрямую через TV, в России есть поддержка Алора, но автоматизированную торговлю он всё равно не поддерживают. 

В итоге пришла мысль, что можно алерты из tradingview передавать по API любому брокеру, а уже на брокере будут открываться сделки по алертам. 

На сколько я понимаю и tradingview сейчас продвигает это направление с webhook . 

Статьи про это у них есть тут: https://www.tradingview.com/support/solutions/43000529348-about-webhooks/ 

И пример тут: 

https://learn.bybit.com/investing/how-to-use-tradingview/

В итоге у меня появилось 2 вопроса: 

1. Кто-нибудь пользуется веб-хуками на TradingView, для исполнения своих алгоритмов?
2. Если да, то к каким брокерам/криптобиржам писали свое подключение?


АлгоТрейдинг , ордера - Book-or-Cancel

    • 30 января 2023, 03:08
    • |
    • Anest
  • Еще
  Реализовывал уже кто нибудь данную опцию в заявках? Какой параметр нужно дописывать в строке заявки? Что то ничего не нашел в квиковских мануалах обновления на этот счёт .


Один из методов псевдо-адаптации.

    • 30 января 2023, 01:13
    • |
    • fxsaber
  • Еще
Один из методов псевдо-адаптации.


Любой скальпер знает, что круглосуточная торговля — глупость. Есть интервалы, где достигается высокая и стабильная прибыльность, поэтому различными способами находят эти интервалы. Например, при оптимизации всех параметров ТС перебирают еще и возможные временные интервалы (начало/конец).

 



( Читать дальше )

Пример рабочей торговой системы на MQL5 с выходом по времени

#property copyright "Copyright 2019, Example Inc."
#property link      "https://www.example.com"

input int LotSize = 1;
input int Period = 30;
input double VolatilityThreshold = 0.1;
input int ExitAfterMinutes = 60;

int buyOrderId;
int sellOrderId;
datetime entryTime;

void OnTick()
{
    // Get the last Period candlesticks
    ArraySetAsSeries(candles, true);
    CopyRates(Symbol(), PERIOD_M1, TimeCurrent() - Period, Period, candles);

    // Calculate the maximum and minimum prices
    double maxPrice = High(candles);
    double minPrice = Low(candles);

    // Calculate the standard deviation of the closing prices
    double stdev = iStdDev(candles, MODE_CLOSE, 0);

    // Check if the volatility is above the threshold
    if (stdev > VolatilityThreshold)
    {
        // Check if the current ask price is higher than the maximum price
        if (Ask > maxPrice)
        {
            // Place a buy order
            if (OrderSend(Symbol(), OP_BUY, LotSize, Ask, 3, 0, 0, "My order", 16384, 0, Green))
            {
                Print("Buy order placed");
                buyOrderId = OrderTicket();
                entryTime = TimeCurrent();
            }
            else
            {
                Print("Error placing buy order : ", ErrorDescription(GetLastError()));
            }
        }

        // Check if the current bid price is lower than the minimum price
        if (Bid < minPrice)
        {
            // Place a sell order
            if (OrderSend(Symbol(), OP_SELL, LotSize, Bid, 3, 0, 0, "My order", 16384, 0, Red))
            {
                Print("Sell order placed");
                sellOrderId = OrderTicket();
                entryTime = TimeCurrent();
            }
            else
            {
                Print("Error placing sell order : ", ErrorDescription(GetLastError()));
            }
        }
    }

    if (buyOrderId > 0)
    {
        if (TimeCurrent() - entryTime >= ExitAfterMinutes * 60)
        {
            if (OrderClose(buyOrderId, LotSize, Bid, 3, clrNONE))
            {
                Print("Buy order closed");
                buyOrderId = 0;
            }
            else
            {
                Print("Error closing buy order : ", ErrorDescription(GetLastError()));
            }
        }
    }

    if (sellOrderId > 0)
    {
        if (TimeCurrent() - entryTime >= ExitAfterMinutes * 60)
        {
            if (OrderClose(sellOrderId, LotSize, Ask, 3, clrNONE))
            {
                Print("Sell order closed");
                sellOrderId = 0;
            }
            else
            {
                Print("Error closing sell order : ", ErrorDescription(GetLastError()));
            }
        }
    }
}

В защиту Python (язык такой, программирования).

    • 28 января 2023, 19:28
    • |
    • 3Qu
  • Еще
На чем чем только не писал стратегии — На VBA Excel, VB.NET (тогда еще так назывался), C#, C++. Не обошлось и без участия скриптовых языков Java Script, Lua. Не обошлось и без специализированных языков, R, например — вот где тягомотина по исполнению и большая помойка пакетов. Мож там и есть бриллианты, но кто будет искать бриллианты в помойке.) MQL4 -5 — эти, г… но полное — это не делай, туда не ходи — нах такие языки. Еще и другие были, всех и не перечислишь.
Лет, этак 5-7 тому перешел на Python (С++ тоже не забываю)). Python понравился резко и сразу. Стратегий на нем пока не писал, но моделировал много. Сейчас планирую сделать первую, для Binance. Ага, криптой торговать собираюсь. Я, так полагаю, что МОЕХ умер (или почти), и делать там абсолютно нечего. Умирал он долго и мучительно, аж с 14-го года. Жаль, вообще то, неплохой был рынок.
Итак, чем хорош Python. Это, в первую очередь, нулевой порог входа — вчера вы еще ничего не знали о нем, а сегодня уже нейросети и прочие machine learning применяете для своих задач. Да, с переменным успехом, но, ведь, применяете.) Не, ну, для тех, кто не в ладах с обычной логикой, любой язык программирования противопоказан, но не о них речь.

( Читать дальше )

Индикатор дневных уровней

Индикатор DHLM показывает Хай, Лоу и среднее значение за торговый день.
Индикатор дневных уровней

 

 

Settings =
{
    Name = «DHLM»,
        line =
{
    {
    Name = «High»,
        Color = RGB(0,200,64),
        Type = TYPET_BAR,
        Width = 1
    },
{
    Name = «Low»,
        Color = RGB(200,0,64),
        Type = TYPET_BAR,
        Width = 1
    },
{
    Name = «Median»,
        Color = RGB(0,64,200),
        Type = TYPET_BAR,
        Width = 1
        }
   }
}

local hlm = {}
local math_max = math.max
local math_min = math.min

function Init()
      return #Settings.line
end
function OnCalculate(index)
local dt = T(index)

if O(index) then
if dt.day ~= hlm.day or
          dt.month ~= hlm.month or
          dt.year ~= hlm.year then
           hlm.year = dt.year
           hlm.day = dt.day
           hlm.month = dt.month
           hlm.high = H(index)
           hlm.low = L(index)
      else
           hlm.high = math_max(hlm.high,H(index))
           hlm.low = math_min(hlm.low,L(index))
           hlm.median = (hlm.high + hlm.low)/2
      end
end
return hlm.high,hlm.low,hlm.median
end

 


....все тэги
UPDONW
Новый дизайн