Вверх ↑
Ответов: 876
Рейтинг: 187
#1: 2021-07-30 06:25:07 ЛС | профиль | цитата
Pavel, Некоторые пояснения и вопросы.
1. Мой последний парсер только для одной пары валют. Ты туда загружаешь 14 пар!
2. У разных валют разный порядок цен. Их просто невозможно изобразить на одном графике.
3. Все визуальные компоненты самые медленные. И тормоза происходят из-за того, что они не успевают обработать очередь накопившихся сообщения. Проблемы со «временем» отсюда.
4. Время парсится из входящих сообщений. В ответе биржи 2 времени: время сделки и время сообщения, и они различаются. Какое «правильное»?
5. Если сделки совершаются в течении 2-5 секунд (высокочастотный трейдинг) то зачем постоянно перерисовывать данные за 24 часа? Разве недостаточно хранить и рисовать последние 10-30 минут?
6. Воспользуйся советом Леонида и присмотрись к компонентам из вкладки «Графика» в Hiasm. Сможешь рисовать любые графики каким хочешь цветом и быстродействие, я думаю, будет выше, чем у Plotter.
7. Извини, но ты очень странно используешь некоторые элементы. Старайся делать схемы без пересечения линий. Очень сложно понять твои примеры без предварительного «распутывания».
Add(MainForm,7714850,133,77)
{
 Width=275
 Height=112
 Point(onClose)
 link(onCreate,133730:doConsoleExec,[])
 link(onClose,133730:doConsoleTerminate,[])
}
Add(BlockFind,2689203,343,91)
{
 IncludeBlock=1
 StartBlock="{"
 EndBlock="}"
 link(onSearch,6956214:doNext,[])
}
Add(WinExec,133730,189,77)
{
 FileName="websocat_win32.exe"
 Param="wss://stream.binance.com:9443/stream?streams=btcusdt@trade/xrpusdt@trade/ethusdt@trade/busdusdt@trade/axsusdt@trade/aliceusdt@trade/bnbusdt@trade/dotusdt@trade/dogeusdt@trade/adausdt@trade/tlmusdt@trade/runeusdt@trade/lunausdt@trade/usdcusdt@trade/maticusdt@trade"
 Mode=0
 Point(doConsoleExec)
 Point(doConsoleTerminate)
 Point(onConsoleResult)
 Point(doConsoleInput)
 Point(onConsoleError)
 Point(onConsoleTerminate)
 link(onConsoleResult,5437590:doReplace,[])
}
Add(Replace,5437590,245,91)
{
 SubStr="""
 link(onReplace,13454937:doSearch,[])
}
Add(BlockFind,13454937,294,91)
{
 StartBlock="{e:trade"
 EndBlock="true}"
 link(onSearch,2689203:doSearch,[])
}
Add(Timer,13915431,350,140)
{
 link(onTimer,5451177:doEvent1,[])
}
Add(Edit,1781743,441,140)
{
 Left=180
 Top=10
 Text="0"
 link(onChange,11247982:doCalc,[])
 link(Str,6956214:Count,[])
}
Add(Edit,1640941,601,140)
{
 Left=180
 Top=35
 Text="0"
 link(Str,1781743:Text,[(607,124)(490,124)(490,183)(447,183)])
}
Add(Label,2961824,447,35)
{
 Left=5
 Top=35
 Width=150
 Height=20
 Font=[MS Sans Serif,10,1,0,1]
 Caption="MAX trades per sec"
 AutoSize=1
 Alignment=1
}
Add(Label,8719720,392,35)
{
 Left=5
 Top=10
 Width=150
 Height=20
 Font=[MS Sans Serif,10,1,0,1]
 Caption="trades per sec"
 AutoSize=1
 Alignment=1
}
Add(CounterEx,6956214,441,91)
{
 Max=10000000
 Point(doReset)
}
Add(Hub,5451177,392,140)
{
 link(onEvent1,1781743:doText,[])
 link(onEvent2,6956214:doReset,[(417,153)(417,104)])
}
Add(MathParse,11247982,497,140)
{
 MathStr="max(%1, %2) * (%1 > %2)"
 link(onResult,8490575:doCase,[])
 link(X2,1640941:Text,[(510,131)(538,131)(538,180)(607,180)])
}
Add(Case,8490575,553,140)
{
 Value=Integer(0)
 link(onNextCase,1640941:doText,[])
}

(websocat_win32.exe должна лежать рядом со схемой)
карма: 18

0
Редактировалось 1 раз(а), последний 2021-07-30 06:54:23