Urmărirea criptomonedelor în Delphi cu diagramă FNC

Noi, ca dezvoltatori, căutăm noi API-uri interesante, noi componente care să ofere acel pic în plus sau ceva complet nou și uimitor. În calitate de dezvoltatori de componente, este o încercare zilnică de a introduce caracteristici noi și interesante în componentele noastre și de a le oferi clienților noștri. Acum, cadrul FNC oferă o mulțime de componente pentru a finaliza diverse sarcini. Chiar și atunci când sunteți entuziasmați să creați o mulțime de componente noi, este adesea bine să reflectăm la ceea ce s-a făcut deja și să vedem unde ne putem îmbunătăți.

TMS FNC Chart a fost primul produs FNC și a fost o introducere în dezvoltarea cross-platform, cross-framework și cross-IDE. La momentul lansării, VCL și FMX erau acceptate. Ulterior am adăugat suportul Lazarus și TMS WEB Core. A fost nevoie de mai mult timp pentru a suporta mai multe cadre și sisteme de operare și pentru a rezolva toate diferențele. Am avut imediat ideea de a crea mai multe componente UI, ceea ce a dus la varietatea de seturi de componente bazate pe framework FNC pe care le avem astăzi.

Între timp, am decis că este timpul să ne întoarcem la început, la primul nostru produs FNC și să vedem ce poate fi îmbunătățit. Astăzi, dorim să dezvăluim câteva funcții noi și interesante care vor apărea în versiunea 2.0, precum și un mic eșantion despre ceea ce înseamnă asta pentru tine ca client/dezvoltator.

TMS FNC Chart v2.0 TMS Software Componente Delphi

Apare în v2.0

  • Tipuri moștenite : TTMSFNCChart era singura componentă disponibilă, iar tipurile de serie trebuiau schimbate acolo, de fiecare dată când se folosea o nouă instanță a TTMSFNCChart. În v2.0 introducem tipurile moștenite , ceea ce înseamnă că va exista un tip de clasă descendentă pentru fiecare tip de serie, de exemplu: TTMSFNCBarChart, TTMSFNCLineChart, TTMSFNCPieChart, … . Utilizarea acestui nou set de clase va preseta tipul de serie la creare, adăugarea de noi serii va fi, de asemenea, tipul corect și există o previzualizare în timp de proiectare care va semăna mai mult cu ceea ce ar trebui să reprezinte tipul ales.
  • Aspect și teme de culoare : diagrama afișează diverse elemente, cum ar fi un titlu, axa x, axa y și fiecare dintre aceste elemente poate fi personalizat cu o mulțime de proprietăți. Modificarea aspectului general al diagramei poate dura destul de mult. În v2.0 dorim să introducem un aspect global, care aplică numele fontului, culoarea și capacitatea de a mări toate fonturile din diagramă dintr-o singură mișcare. În plus, am dorit să facem diagrama mai prietenoasă cu culorile și mai dinamică. 2.0 introduce o nouă listă de culori personalizată, stil Excel și culori monocromatice.
  • Import de date : diagrama poate vizualiza în mod evident datele. Datele provin din diferite tipuri de surse și, în prezent, nu există metode de ajutor de niciun fel care să facă acest lucru posibil. În v2.0, va fi posibil să încărcați date din CSV, JSON și matrice de date predefinite cu o mulțime de opțiuni de personalizare.
  • Suport pentru baze de date: În v2.0 oferim și suport pentru baze de date doar pentru citire. TTMSFNCChartDatabaseAdapter va fi disponibil ca o componentă separată și va recunoaște dinamic câmpurile ca serie, cu flexibilitatea de a adăuga personalizare suplimentară.
  • Conectarea la grilă : În pachetul TMS FNC UI , avem componenta TTMSFNCGrid. În v2.0, va fi posibilă conectarea grilei la diagramă prin componenta TTMSFNCChartGridAdapter.

Un exemplu bazat pe criptomoneda

TMS Software Componente Delphi

Criptomoneda este un subiect fierbinte și, într-un fel sau altul, ne ține ocupați, cel puțin interesați. Căutarea diferitelor criptomonede cunoscute și mai puțin cunoscute reprezintă de obicei datele într-o formă de diagramă financiară. În FNC, acceptăm și serii de date financiare multipunct: OHLC, candlestick și boxplot. De exemplu, am luat o lună de date pentru criptomoneda cunoscută sub numele de „Terra-Luna”. Am extras datele și le-am salvat într-un fișier CSV. În v2.0 vom putea încărca datele prin metoda LoadFromCSVData. Mai jos este un exemplu despre cum se va realiza acest lucru.

 TMSFNCCandleStickChart1.LoadFromCSVMultiPointData('LUNA.csv', 3, 4, 2, 1, -1, 0);

Când ne uităm la date, observăm coloanele Date, Price, Open, High, Low, Volume și Change. Numerele din LoadFromCSVMultiPointData vor întreba ce index de coloană se potrivește cu valorile High, Low, Open și Close, precum și ce coloană reprezintă data, care este convertită intern într-o valoare TDateTime.

TMS Software Componente Delphi

Executarea acestui cod, alături de unele opțiuni de încărcare suplimentare, oferă utilizarea următoarei diagrame.

TMS Software Componente Delphi

Acum pare deja destul de promițător. Aruncarea unei instanțe de TTMSFNCCandleStickChart pe formular, specificarea datelor și afișarea lor dintr-o singură mișcare. Dacă dorim să facem o aplicație reală, ar trebui să aplicăm un aspect mai frumos. În TMS FNC Chart este posibil să personalizați și să stilați fiecare element. După aplicarea diferitelor proprietăți de aspect, obținem următorul rezultat.

TMS Software Componente Delphi

Experții financiari vor fi potențial interesați de unele analize suplimentare pentru indicarea tendințelor, cum ar fi media mobilă (MA). În TMS FNC Chart, avem o metodă care va calcula automat acest lucru pe baza datelor preexistente ale unei alte serii. Codul pentru a executa acest lucru este

 TMSFNCCandleStickChart1.AddMovingAverage(0, 0, TMSFNCCandleStickChart1.Series[0].Points.Count - 1, 2, False, $FFf9cb40, 2);
TMS Software Componente Delphi

In curand

v2.0 este de așteptat să fie lansat în iunie și, ca bonus suplimentar, eșantionul de mai sus va fi inclus în distribuție. Rămâneți pe fază pentru mai multe știri în curând!