
برای اجرای مثال از Qt Creator ، حالت Welcome را باز کنید و مثال را از مثالها انتخاب کنید. برای اطلاعات بیشتر ، به ساختمان و اجرای مثال مراجعه کنید.
ایجاد نمودارهای شمعدانی
برای نمایش نمودار شمعدانی ، ما با ایجاد QCandLestickSeries برای رسیدگی به داده های روزانه شروع می کنیم. ما همچنین در حال افزایش و کاهش رنگ های بدن هستیم.
qcandlestickseries *حکیم= جدید qcandlestickseries() ؛حکیم->setName ("Acme Ltd") ؛حکیم->setInpensionColor (qcolor(Qt->setDecrosingColor (qcolor(QtQFile برای دسترسی به یک فایل متنی که در آن داده های غیر مداوم نگهداری می شود ، استفاده می شود. CandleStickDatareader یک کلاس کمکی برای خواندن فایل متنی و یافتن مقادیر باز ، بالا ، کم ، نزدیک و زمانی از داده ها است. CandlestickDatareader بعداً با جزئیات بیشتری توضیح داده می شود. روش readCandLestickSet () مقادیر را می خواند و آنها را به مورد qcandlestickset که این روش برای تماس گیرنده باز می گردد ، تنظیم می کند. مورد QCANDLESTICKSET بازگشت به این سریال اضافه می شود. ما همچنین برای استفاده بعدی لیست دسته بندی های سفارشی را ذخیره می کنیم.
qfileacmedata (": acme"); if (!acmedata.باز کن(قصور::فقط خواندنیقصور::متن))برگشت 1; qstringlistدسته بندی ها؛candlestickdatareader datareader (&acmedata) ؛در حالی که (!دگرگونی.atend ())<qcandlestickset *تنظیم=دگرگونی.readCandLestickSet () ؛if(تنظیم)->ضمیمه (مجموعه) ؛دسته بندی ها qdatetime::fromsecssincepoch (مجموعه>Timestamp ()).toString ("DD");>>در زیر ، یک نمونه جدید Qchart ایجاد شده است و شیء سری که قبلاً ایجاد شده است به آن اضافه می شود. ما همچنین یک عنوان را تعریف می کنیم و یک انیمیشن را به عنوان Qchart :: SeriesAnimation تنظیم می کنیم.
qchart *چارت سازمانی= جدید qchart() ؛چارت سازمانی->AddSeries (acmeseries) ؛چارت سازمانی->setTitle ("Acme Ltd Data Historical (ژوئیه 2015)") ؛چارت سازمانی->setAnimationOptions (qchart::سریال ها) ؛در اینجا ، ما از نمودار می خواهیم محورهای پیش فرض برای ارائه خود ایجاد کند. سپس ، ما دسته های سفارشی را برای محور افقی با پرس و جو از اشاره گر برای محور از نمودار تنظیم می کنیم ، و سپس دسته بندی ها را از لیست دسته بندی های سفارشی که قبلاً ذخیره شده بود ، تنظیم می کنیم. ما همچنین با پرس و جو نشانگر محور از نمودار ، محدوده محور عمودی را تنظیم می کنیم و سپس مقادیر حداقل و حداکثر را برای آن محور تنظیم می کنیم.
چارت سازمانی->CreateFaultAxes () ؛qbarcategoraxis *محور=qobject_castqbarcategoraxis *>(چارت سازمانی->محورها (Qt::افقی).در (0)) ؛محور->مجموعه های تنظیم (دسته بندی ها) ؛qvalueaxis *محور=qobject_castqvalueaxis *>(چارت سازمانی->محورها (Qt::عمودی).در (0)) ؛محور->setMax (محور->مکس ()* 1. 01) ؛محور->setMin (محور->حداقل ()* 0. 99);
در زیر، افسانه را به صورت قابل مشاهده تنظیم می کنیم و آن را در پایین نمودار قرار می دهیم.
در نهایت نمودار را به یک View اضافه می کنیم. همچنین antialiasing را برای chartView روشن می کنیم.
QChartView *نمودار نمایش= جدید QChartView(چارت سازمانی)؛نمودار نمایش->setRenderHint(QPainter::Antialiasing)؛
نمودار آماده نمایش است. نمودار را به عنوان ویجت مرکزی پنجره تنظیم کردیم. همچنین اندازه پنجره نمودار را تعیین کرده و نشان می دهیم.
QMainWindowپنجره؛پنجره.setCentralWidget(chartView); پنجره.تغییر اندازه (800, 600)پنجره.show();
در اینجا، روش readCandlestickSet() به تفصیل توضیح داده شده است. ابتدا یک خط از فایل خوانده می شود و هر خطی که با # شروع می شود را رد می کند، زیرا خطوط نظر در نظر گرفته می شوند.
QStringخط=readLine();if(خط.شروع می شود با("#") ||خط.خالی است())برگشت 0;در فایل، داده ها به عنوان یک دنباله اعداد با فاصله مرتب شده اند. در این قطعه خط به رشته های تک عددی تقسیم می شود که در یک لیست QString ذخیره می شوند.
qstringliststrList=خط.split(QLatin1Char(' '), Qt::SkipEmptyParts)؛if(strList.شمردن()!= 5) برگشت 0;برای انتخاب مقادیر از داده های پیوسته، از کد زیر استفاده می شود. مقادیر در یک strList به ترتیب زیر ذخیره می شوند: برچسب زمانی، باز، زیاد، کم، بسته.
پایان qrealمهر زمانی=strList.در (0).toDouble();پایان qrealباز کن=strList.در (1)پایان qrealبالا=strList.در (2)پایان qrealکم=strList.در (3)پایان qrealبستن=strList.در (4)
در نهایت، قطعه زیر نحوه ایجاد یک QCandlestickSet جدید و ارائه تمام مقادیر لازم را نشان می دهد.
qcandlestickset *candlestickSet= جدید qcandlestickset(مهر زمان)؛candlestickSet->setOpen(open); candlestickSet->setHigh (بالا); candlestickSet->setLow (کم); candlestickSet->setClose(close);
بهترین استراتژی معاملات...
ما را در سایت بهترین استراتژی معاملات دنبال می کنید
برچسب :
نویسنده : صدرا ذوالریاستین
بازدید : 25
تاريخ : چهارشنبه
18 مرداد
1402 ساعت: 22:44