Леонид писал(а):
Вы лучше выложите формат получаемых вами данных после парсинга, частоту получения данных, да нарисовали бы в Paint-е желаемый вид графика. А "рюшечки" дело десятое, можно украсить и потомВот два желаемых результата как пример.
1)
321.gif
2)
123.gif
Вот скриншот линии которая при изменении данных меняет свой цвет и толщину
Снимок.PNG
Вот пример данных исходя которых строится график.
Ось X строится по локальному Unix time +1 секунда и на него уже накладывается точка полученная с биржи привязанная к Unix time.
Осю Y Строится по данным цены с биржи.
Add(MainForm,2953706,259,266)
{
Width=780
Height=675
link(onCreate,13585400:doEnum,[])
}
Add(StrList,4076137,539,168)
{
Strings=#157:trade","E":1627323684919,"s":"BTCUSDT","t":970310967,"p":"39616.19000000","q":"0.00498500","b":6940921289,"a":6940921291,"T":1627323684919,"m":true,"M":true}|163:{"e":"trade","E":1627323684926,"s":"BTCUSDT","t":970310968,"p":"39616.19000000","q":"0.08191300","b":6940921289,"a":6940921293,"T":1627323684925,"m":true,"M":true}|164:{"e":"trade","E":1627323684953,"s":"BTCUSDT","t":970310969,"p":"39616.20000000","q":"0.00114100","b":6940921297,"a":6940921282,"T":1627323684952,"m":false,"M":true}|163:{"e":"trade","E":1627323684972,"s":"BTCUSDT","t":970310970,"p":"39616.19000000","q":"0.00091500","b":6940921289,"a":6940921300,"T":1627323684971,"m":true,"M":true}|163:{"e":"trade","E":1627323684973,"s":"BTCUSDT","t":970310971,"p":"39616.19000000","q":"0.06937900","b":6940921289,"a":6940921301,"T":1627323684972,"m":true,"M":true}|163:{"e":"trade","E":1627323685014,"s":"BTCUSDT","t":970310972,"p":"39616.19000000","q":"0.01868900","b":6940921289,"a":6940921309,"T":1627323685013,"m":true,"M":true}|163:{"e":"trade","E":1627323685069,"s":"BTCUSDT","t":970310973,"p":"39613.09000000","q":"0.00648000","b":6940921294,"a":6940921316,"T":1627323685069,"m":true,"M":true}|163:{"e":"trade","E":1627323685081,"s":"BTCUSDT","t":970310974,"p":"39613.09000000","q":"0.02550000","b":6940921294,"a":6940921321,"T":1627323685080,"m":true,"M":true}|164:{"e":"trade","E":1627323685267,"s":"BTCUSDT","t":970310975,"p":"39613.10000000","q":"0.00129700","b":6940921333,"a":6940921317,"T":1627323685266,"m":false,"M":true}|163:{"e":"trade","E":1627323685372,"s":"BTCUSDT","t":970310976,"p":"39613.09000000","q":"0.00781400","b":6940921294,"a":6940921337,"T":1627323685372,"m":true,"M":true}|164:{"e":"trade","E":1627323685439,"s":"BTCUSDT","t":970310977,"p":"39610.83000000","q":"0.00126400","b":6940921348,"a":6940921345,"T":1627323685439,"m":false,"M":true}|163:{"e":"trade","E":1627323685450,"s":"BTCUSDT","t":970310978,"p":"39610.82000000","q":"0.07990300","b":6940921343,"a":6940921352,"T":1627323685450,"m":true,"M":true}|163:{"e":"trade","E":1627323685450,"s":"BTCUSDT","t":970310979,"p":"39610.82000000","q":"0.22865300","b":6940921344,"a":6940921352,"T":1627323685450,"m":true,"M":true}|164:{"e":"trade","E":1627323685497,"s":"BTCUSDT","t":970310980,"p":"39610.83000000","q":"0.00241300","b":6940921357,"a":6940921345,"T":1627323685496,"m":false,"M":true}|163:{"e":"trade","E":1627323685544,"s":"BTCUSDT","t":970310981,"p":"39610.82000000","q":"0.00764900","b":6940921344,"a":6940921362,"T":1627323685543,"m":true,"M":true}|164:{"e":"trade","E":1627323685617,"s":"BTCUSDT","t":970310982,"p":"39610.83000000","q":"0.00814000","b":6940921366,"a":6940921345,"T":1627323685616,"m":false,"M":true}|164:{"e":"trade","E":1627323685716,"s":"BTCUSDT","t":970310983,"p":"39610.83000000","q":"0.00041500","b":6940921375,"a":6940921345,"T":1627323685715,"m":false,"M":true}|164:{"e":"trade","E":1627323685755,"s":"BTCUSDT","t":970310984,"p":"39610.83000000","q":"0.02000000","b":6940921380,"a":6940921345,"T":1627323685754,"m":false,"M":true}|163:{"e":"trade","E":1627323685765,"s":"BTCUSDT","t":970310985,"p":"39610.82000000","q":"0.00112500","b":6940921344,"a":6940921394,"T":1627323685764,"m":true,"M":true}|164:{"e":"trade","E":1627323685807,"s":"BTCUSDT","t":970310986,"p":"39610.83000000","q":"0.18920500","b":6940921400,"a":6940921345,"T":1627323685806,"m":false,"M":true}|163:{"e":"trade","E":1627323685858,"s":"BTCUSDT","t":970310987,"p":"39610.82000000","q":"0.00055500","b":6940921344,"a":6940921412,"T":1627323685857,"m":true,"M":true}|163:{"e":"trade","E":1627323685913,"s":"BTCUSDT","t":970310988,"p":"39610.82000000","q":"0.00334800","b":6940921344,"a":6940921415,"T":1627323685912,"m":true,"M":true}|163:{"e":"trade","E":1627323685913,"s":"BTCUSDT","t":970310989,"p":"39610.82000000","q":"0.06000000","b":6940921353,"a":6940921415,"T":1627323685912,"m":true,"M":true}|163:{"e":"trade","E":1627323685913,"s":"BTCUSDT","t":970310990,"p":"39610.82000000","q":"0.15000000","b":6940921369,"a":6940921415,"T":1627323685912,"m":true,"M":true}|163:{"e":"trade","E":1627323685913,"s":"BTCUSDT","t":970310991,"p":"39610.82000000","q":"0.35000000","b":6940921370,"a":6940921415,"T":1627323685912,"m":true,"M":true}|163:{"e":"trade","E":1627323685913,"s":"BTCUSDT","t":970310992,"p":"39610.82000000","q":"0.50000000","b":6940921371,"a":6940921415,"T":1627323685912,"m":true,"M":true}|163:{"e":"trade","E":1627323685913,"s":"BTCUSDT","t":970310993,"p":"39610.82000000","q":"0.00227100","b":6940921397,"a":6940921415,"T":1627323685912,"m":true,"M":true}|163:{"e":"trade","E":1627323685913,"s":"BTCUSDT","t":970310994,"p":"39610.81000000","q":"0.27517000","b":6940921258,"a":6940921415,"T":1627323685912,"m":true,"M":true}|163:{"e":"trade","E":1627323685913,"s":"BTCUSDT","t":970310995,"p":"39610.80000000","q":"0.12149600","b":6940921100,"a":6940921415,"T":1627323685912,"m":true,"M":true}|163:{"e":"trade","E":1627323685913,"s":"BTCUSDT","t":970310996,"p":"39610.79000000","q":"0.01750600","b":6940921133,"a":6940921415,"T":1627323685912,"m":true,"M":true}|163:{"e":"trade","E":1627323685913,"s":"BTCUSDT","t":970310997,"p":"39610.79000000","q":"0.00378600","b":6940921398,"a":6940921415,"T":1627323685912,"m":true,"M":true}|163:{"e":"trade","E":1627323685927,"s":"BTCUSDT","t":970310998,"p":"39607.03000000","q":"0.00287900","b":6940921390,"a":6940921420,"T":1627323685926,"m":true,"M":true}|164:{"e":"trade","E":1627323685968,"s":"BTCUSDT","t":970310999,"p":"39607.42000000","q":"0.01379400","b":6940921434,"a":6940921428,"T":1627323685967,"m":false,"M":true}|164:{"e":"trade","E":1627323686001,"s":"BTCUSDT","t":970311000,"p":"39607.42000000","q":"0.21760800","b":6940921442,"a":6940921428,"T":1627323686000,"m":false,"M":true}|164:{"e":"trade","E":1627323686075,"s":"BTCUSDT","t":970311001,"p":"39610.79000000","q":"0.33333300","b":6940921466,"a":6940921415,"T":1627323686074,"m":false,"M":true}|164:{"e":"trade","E":1627323686077,"s":"BTCUSDT","t":970311002,"p":"39610.79000000","q":"0.33333300","b":6940921467,"a":6940921415,"T":1627323686077,"m":false,"M":true}|164:{"e":"trade","E":1627323686089,"s":"BTCUSDT","t":970311003,"p":"39610.79000000","q":"0.01180600","b":6940921471,"a":6940921415,"T":1627323686089,"m":false,"M":true}|164:{"e":"trade","E":1627323686153,"s":"BTCUSDT","t":970311004,"p":"39615.64000000","q":"0.00224400","b":6940921498,"a":6940921488,"T":1627323686153,"m":false,"M":true}|164:{"e":"trade","E":1627323686222,"s":"BTCUSDT","t":970311005,"p":"39615.64000000","q":"0.00237600","b":6940921508,"a":6940921501,"T":1627323686221,"m":false,"M":true}|163:{"e":"trade","E":1627323686230,"s":"BTCUSDT","t":970311006,"p":"39615.63000000","q":"0.01049700","b":6940921504,"a":6940921510,"T":1627323686229,"m":true,"M":true}|163:{"e":"trade","E":1627323686266,"s":"BTCUSDT","t":970311007,"p":"39615.70000000","q":"0.01990900","b":6940921520,"a":6940921525,"T":1627323686265,"m":true,"M":true}|163:{"e":"trade","E":1627323686266,"s":"BTCUSDT","t":970311008,"p":"39615.63000000","q":"0.00043200","b":6940921505,"a":6940921525,"T":1627323686265,"m":true,"M":true}|163:{"e":"trade","E":1627323686275,"s":"BTCUSDT","t":970311009,"p":"39615.63000000","q":"0.00249000","b":6940921514,"a":6940921532,"T":1627323686275,"m":true,"M":true}|163:{"e":"trade","E":1627323686300,"s":"BTCUSDT","t":970311010,"p":"39615.63000000","q":"0.01011200","b":6940921514,"a":6940921536,"T":1627323686299,"m":true,"M":true}|164:{"e":"trade","E":1627323686432,"s":"BTCUSDT","t":970311011,"p":"39613.11000000","q":"0.02534800","b":6940921563,"a":6940921538,"T":1627323686431,"m":false,"M":true}|163:{"e":"trade","E":1627323686448,"s":"BTCUSDT","t":970311012,"p":"39613.10000000","q":"0.00025500","b":6940921534,"a":6940921565,"T":1627323686447,"m":true,"M":true}|163:{"e":"trade","E":1627323686448,"s":"BTCUSDT","t":970311013,"p":"39612.72000000","q":"0.00025700","b":6940921559,"a":6940921565,"T":1627323686447,"m":true,"M":true}|164:{"e":"trade","E":1627323686570,"s":"BTCUSDT","t":970311014,"p":"39613.11000000","q":"0.00135800","b":6940921584,"a":6940921538,"T":1627323686569,"m":false,"M":true}|164:{"e":"trade","E":1627323686612,"s":"BTCUSDT","t":970311015,"p":"39613.11000000","q":"0.00049800","b":6940921586,"a":6940921538,"T":1627323686612,"m":false,"M":true}|164:{"e":"trade","E":1627323686715,"s":"BTCUSDT","t":970311016,"p":"39613.11000000","q":"0.00049800","b":6940921595,"a":6940921538,"T":1627323686714,"m":false,"M":true}|163:{"e":"trade","E":1627323686784,"s":"BTCUSDT","t":970311017,"p":"39613.10000000","q":"0.00027700","b":6940921573,"a":6940921610,"T":1627323686784,"m":true,"M":true}|164:{"e":"trade","E":1627323686858,"s":"BTCUSDT","t":970311018,"p":"39613.11000000","q":"0.21804400","b":6940921625,"a":6940921538,"T":1627323686857,"m":false,"M":true}|164:{"e":"trade","E":1627323686861,"s":"BTCUSDT","t":970311019,"p":"39613.11000000","q":"0.00077000","b":6940921626,"a":6940921538,"T":1627323686861,"m":false,"M":true}|
}
Add(ArrayEnum,13585400,553,280)
{
link(onItem,9089905:doEvent3,[])
link(Array,4076137:Array,[])
}
Add(RichEdit,1147971,1015,266)
{
Left=5
Top=270
Width=735
Height=340
}
Add(Hub,9089905,658,266)
{
InCount=3
OutCount=13
link(onEvent1,1147971:doAdd,[])
link(onEvent2,8080983:doWork1,[(767,279)(767,314)])
link(onEvent3,12138233:doWork1,[(758,286)(758,356)])
link(onEvent5,8054774:doWork1,[(751,300)(751,398)])
link(onEvent6,2741084:doWork1,[(743,307)(743,440)])
link(onEvent7,7879158:doWork1,[(734,314)(734,482)])
link(onEvent8,6702111:doWork1,[(726,321)(726,524)])
link(onEvent9,3257741:doWork1,[(718,328)(718,566)])
link(onEvent10,14891572:doWork1,[(711,335)(711,608)])
}
Add(Edit,12879061,951,308)
{
Left=5
Top=105
Width=565
Text="Unix : %1 Time server : %2"
}
Add(MultiElement,8080983,889,308)
{
link(onEvent1,12879061:doText,[])
}
BEGIN_SDK
Add(EditMulti,11302727,21,21)
{
EventCount=2
WorkCount=1
Width=944
Height=564
link(doWork1,7422443:doSearch,[(157,27)(157,188)])
}
Add(BlockFind,7422443,294,182)
{
IncludeBlock=1
StartBlock=""E":"
EndBlock=","s""
link(onSearch,1379986:doEvent1,[])
}
Add(DateConvertor,1889570,448,182)
{
Mode=16
Format="HH:mm:ss"
link(onResult,1684147:doData,[])
}
Add(Math,5970902,399,182)
{
OpType=3
Op2=1000
ResultType=0
link(onResult,1889570:doConvert,[])
}
Add(Hub,1379986,350,182)
{
OutCount=3
link(onEvent1,11302727:onEvent2,[(664,188)(664,34)])
link(onEvent2,5970902:doOperation,[(382,195)(382,188)])
link(onEvent3,12743231:doString,[(430,202)(430,251)])
}
Add(FormatStr,12743231,497,245)
{
Mask="Unix : %1 Time server : %2"
link(onFString,11302727:onEvent1,[(747,251)(747,27)])
link(Str1,1684147:GetData,[])
}
Add(EventFromData,1684147,497,182)
{
}
END_SDK
Add(Edit,3475109,951,350)
{
Left=5
Top=125
Width=565
Text="Пара : %1 %2"
}
Add(MultiElement,12138233,889,350)
{
link(onEvent1,3475109:doText,[])
}
BEGIN_SDK
Add(EditMulti,10630780,21,21)
{
EventCount=2
WorkCount=1
Width=706
link(doWork1,14658344:doSearch,[(123,27)(123,83)])
}
Add(BlockFind,14658344,224,77)
{
IncludeBlock=1
StartBlock=""s":""
EndBlock="","t":"
link(onSearch,8682541:doEvent1,[])
}
Add(FormatStr,13927428,315,49)
{
Mask="Пара : %1 %2"
link(onFString,10630780:onEvent1,[(523,55)(523,27)])
}
Add(Hub,8682541,266,77)
{
link(onEvent1,10630780:onEvent2,[(504,83)(504,34)])
link(onEvent2,13927428:doString,[(298,90)(298,55)])
}
END_SDK
Add(MultiElement,2741084,889,434)
{
link(onEvent1,1192461:doText,[])
}
BEGIN_SDK
Add(EditMulti,12393502,21,21)
{
EventCount=2
WorkCount=1
link(doWork1,1542632:doSearch,[(49,27)(49,104)])
}
Add(BlockFind,1542632,77,98)
{
IncludeBlock=1
StartBlock=""p":""
EndBlock="","q":""
link(onSearch,13676925:doEvent1,[])
}
Add(FormatStr,4748933,217,35)
{
Mask="Цена : %1"
link(onFString,12393502:onEvent1,[(288,41)(288,27)])
}
Add(Hub,13676925,154,98)
{
link(onEvent1,12393502:onEvent2,[(244,104)(244,34)])
link(onEvent2,4748933:doString,[(192,111)(192,41)])
}
END_SDK
Add(Edit,8897171,951,392)
{
Left=5
Top=145
Width=565
Text="Идентификатор ID"
}
Add(MultiElement,8054774,889,392)
{
link(onEvent1,8897171:doText,[])
}
BEGIN_SDK
Add(EditMulti,9585953,21,21)
{
EventCount=2
WorkCount=1
Width=881
link(doWork1,424614:doSearch,[(105,27)(105,125)])
}
Add(BlockFind,424614,189,119)
{
IncludeBlock=1
StartBlock="","t":"
EndBlock=","p":"
link(onSearch,13828745:doEvent1,[])
}
Add(FormatStr,1319619,308,63)
{
Mask="Идентификатор ID : %1"
link(onFString,9585953:onEvent1,[(348,69)(348,27)])
}
Add(Hub,13828745,238,119)
{
link(onEvent1,9585953:onEvent2,[(577,125)(577,34)])
link(onEvent2,1319619:doString,[(280,132)(280,69)])
}
END_SDK
Add(Edit,1192461,951,434)
{
Left=5
Top=165
Width=565
Text="Цена : %1"
}
Add(MultiElement,7879158,889,476)
{
link(onEvent1,10338547:doText,[])
}
BEGIN_SDK
Add(EditMulti,9791462,21,21)
{
EventCount=2
WorkCount=1
link(doWork1,15710817:doSearch,[(49,27)(49,104)])
}
Add(BlockFind,15710817,77,98)
{
IncludeBlock=1
StartBlock="","q":""
EndBlock="","b":"
link(onSearch,16578545:doEvent1,[])
}
Add(FormatStr,1686219,210,35)
{
Mask="Объем : %1"
link(onFString,9791462:onEvent1,[(288,41)(288,27)])
}
Add(Hub,16578545,161,98)
{
link(onEvent1,9791462:onEvent2,[(248,104)(248,34)])
link(onEvent2,1686219:doString,[(193,111)(193,41)])
}
END_SDK
Add(Edit,10338547,951,476)
{
Left=5
Top=185
Width=565
Text="Объем : %1"
}
Add(MultiElement,6702111,889,518)
{
link(onEvent1,10284561:doText,[])
}
BEGIN_SDK
Add(EditMulti,10499263,21,21)
{
EventCount=2
WorkCount=1
link(doWork1,10334118:doSearch,[(49,27)(49,104)])
}
Add(BlockFind,10334118,77,98)
{
IncludeBlock=1
StartBlock=","T":"
EndBlock=","m":"
link(onSearch,13994195:doEvent1,[])
}
Add(FormatStr,7302733,203,35)
{
Mask="Время сделки : %1"
link(onFString,10499263:onEvent1,[(288,41)(288,27)])
}
Add(Hub,13994195,147,98)
{
link(onEvent1,10499263:onEvent2,[(241,104)(241,34)])
link(onEvent2,7302733:doString,[(182,111)(182,41)])
}
END_SDK
Add(Edit,7499841,951,560)
{
Left=5
Top=205
Width=565
Text="Идентификатор заказа покупателя buy : %1"
}
Add(MultiElement,3257741,889,560)
{
link(onEvent1,7499841:doText,[])
}
BEGIN_SDK
Add(EditMulti,12164554,21,21)
{
EventCount=2
WorkCount=1
link(doWork1,3080741:doSearch,[(49,27)(49,104)])
}
Add(BlockFind,3080741,77,98)
{
IncludeBlock=1
StartBlock="","b":"
EndBlock=","a":"
link(onSearch,14316220:doEvent1,[])
}
Add(FormatStr,10126641,203,28)
{
Mask="Идентификатор заказа покупателя buy : %1"
link(onFString,12164554:onEvent1,[(288,34)(288,27)])
}
Add(Hub,14316220,161,98)
{
link(onEvent1,12164554:onEvent2,[(248,104)(248,34)])
link(onEvent2,10126641:doString,[(189,111)(189,34)])
}
END_SDK
Add(Edit,5105345,951,602)
{
Left=5
Top=245
Width=565
Text="Идентификатор заказа продавца ask : %1t"
}
Add(MultiElement,14891572,889,602)
{
link(onEvent1,5105345:doText,[])
}
BEGIN_SDK
Add(EditMulti,991720,21,21)
{
EventCount=2
WorkCount=1
link(doWork1,16182850:doSearch,[(49,27)(49,104)])
}
Add(BlockFind,16182850,77,98)
{
IncludeBlock=1
StartBlock=","a":"
EndBlock=","T":"
link(onSearch,16411972:doEvent1,[])
}
Add(FormatStr,7468902,203,21)
{
Mask="Идентификатор заказа продавца ask : %1"
link(onFString,991720:onEvent1,[])
}
Add(Hub,16411972,154,98)
{
link(onEvent1,991720:onEvent2,[(244,104)(244,34)])
link(onEvent2,7468902:doString,[(186,111)(186,27)])
}
END_SDK
Add(Edit,10284561,951,518)
{
Left=5
Top=225
Width=565
Text="Время сделки : %1"
}
Add(InfoTip,8631987,483,119)
{
Info=#37:данных может быть 65 строк в секунду.|
Width=155
Height=137
}
Вот что имею на данный момент
3333.gif
Зеленый цвет всегда по верх красного, И при масштабе графика роликом мышки графит смещается по всем осям.