Perdagangan Kuantitatif Cryptocurrency untuk pemula - Membawa anda lebih dekat dengan Kuantitatif Cryptocurrency (1)

Penulis:Lydia, Dicipta: 2022-07-25 16:48:29, Dikemas kini: 2023-09-24 19:32:32

img

Perdagangan Kuantitatif Cryptocurrency untuk pemula - Membawa anda lebih dekat dengan Kuantitatif Cryptocurrency (1)

Dengan perkembangan perdagangan kuantitatif aset blockchain, semakin banyak peniaga aset blockchain telah mengenali alat perdagangan kuantitatif. Tetapi sebagai pemula dalam lingkaran ini, dia mungkin sangat keliru mengenai banyak konsep, dan keliru dengan pelbagai istilah, perisian, maklumat, dll. Artikel ini akan membawa anda untuk memahami dan membiasakan diri dengan konsep biasa, dan mempelajari pelbagai maklumat berguna dalam transaksi kuantitatif aset blockchain dari pelbagai aspek. Artikel ini akan meringkaskan konsep asas terlebih dahulu, dan kemudian memberikan contoh di Platform Perdagangan Kuantum FMZ yang sepadan dengan konsep asas ini.

  • Pertukaran

    Pertama sekali, kita perlu memahami konsep bursa. Kita perlu berdagang aset blockchain untuk spekulasi, pelaburan, dan lain-lain. Masing-masing perlu dilakukan di bursa. Terdapat banyak bursa pada masa ini: senior, baru muncul, besar dan kecil. Mengenai bursa mana untuk menjalankan perdagangan programatik dan kuantitatif, perlu menapis maklumat sendiri berdasarkan pelbagai maklumat.

    • Akaun pertukaran Akaun pertukaran, adalah akaun yang didaftarkan dan dibuka di bursa ini. aset blockchain boleh disimpan dalam akaun ini untuk perdagangan.Sub- akaunDi bawah akaun utama untuk memudahkan transaksi berasingan dan spekulasi aset. Penciptaan, mekanisme, dan penggunaan aplikasi sub-akaun untuk setiap bursa adalah berbeza.

      Selepas log masuk dengan akaun di laman web pertukaran, biasanya anda dapat melihat bahawa tempat di mana aset blockchain dapat disimpan dibahagikan kepada beberapa akaun (di sini adalah akaun logik, bukan akaun pertukaran).akaun dompet, akaun dagangan mata wang, akaun pengurusan kewangan, akaun dagangan kontrakdan sebagainya. Spesifiknya mungkin berbeza dari pertukaran ke pertukaran. Biasanya, selepas mengisi semula aset blockchain (mata wang), ia berada di bawah akaun (mungkin di akaun dompet, atau ke akaun pertukaran mata wang secara langsung). Oleh itu, anda perlu memeriksa di mana aset berada selepas mengisi semula, dan memindahkannya apabila anda memerlukannya (contohnya, apabila anda perlu berdagang dalam niaga hadapan).

    • Antara muka API ke sistem pertukaran Ramai pengguna yang belum menggunakan fungsi pertukaran ini mungkin bertanya: Apa yang antara muka API. Antara muka API adalah antara muka yang diberikan oleh sistem pertukaran yang membolehkan operasi program. Sederhananya, pertukaran memberikan saluran untuk membenarkan (skrip bot sebenar) program untuk meletakkan pesanan, membatalkan pesanan, memeriksa pesanan, memeriksa aset akaun, memeriksa kedudukan, dan operasi lain dalam sistem pertukaran (pasangan perdagangan tertentu di laman web pertukaran, buat fikiran anda sendiri di sini). API pertukaran dibahagikan kepada pelbagai jenis antara muka, biasanya terdapatRESTantara muka protokol danWebSocketbeberapa pertukaran juga menyediakanFIXIni hanya untuk pemahaman, kebanyakannya kita menggunakanRESTprotokol antara muka. dokumen antara muka ini biasanya boleh didapati dalam pautan dengan perkataanAPIKadang-kadang perlu memeriksa dokumen ini untuk beberapa maklumat kesilapan antara muka. Sistem API setiap pertukaran agak berbeza, jadi anda perlu memeriksa dokumentasi untuk isu-isu tertentu. Jika anda bukan pemaju strategi, ini hanya untuk pemahaman.

    • Kunci API akaun Kunci API akaun mesti difahami dengan teliti, kerana ia berkaitan dengan keselamatan aset blockchain yang disimpan di bursa anda. Yang di atas berkata bahawa antara muka API adalah saluran, maka API KEY boleh difahami sebagailulusOleh kerana saluran akses, anda tidak boleh membenarkan akses kepada mana-mana program, yang sangat berbahaya. Oleh itu, pengesahan diperlukan, dan API KEY digunakan untuk mengesahkan identiti. Jadi API KEY berkaitan dengan keselamatan aset anda dan mesti disimpan dengan betul. Biasanya API KEY pertukaran dicipta di sudut kanan atas halaman pertukaran, pada halaman pengurusan akaun (mungkin juga pertukaran diletakkan di tempat lain di halaman web, cari pautan dengan kata kunci API dan klik untuk mencarinya).access key, dan rentetan kedua biasanya dipanggilsecret keyTerdapat juga beberapa pertukaran yang API KEY mempunyai maklumat lain, contohnya, antara muka OKEX V5 dan V3 mempunyaiPassPhrase, yang juga rentetan (rantai yang perlu ditetapkan oleh diri anda untuk mengukuhkan pengesahan keselamatan). Apabila menetapkan API KEY, biasanya perlu untuk menetapkan kebenaran API KEY ini, secara amnya, terdapat kebenaran seperti transaksi dan penarikan, yang harus ditetapkan mengikut tujuan API KEY, dan kebenaran untuk mengeluarkan duit syiling perlu digunakan dengan berhati-hati. Sebagai tambahan kepada kebenaran, API KEY juga boleh menetapkan senarai putih alamat IP. Jika anda menggunakan IP selain daripada senarai putih alamat IP ini (konsep alamat IP boleh dicari di Baidu jika anda tidak faham) ke antara muka, akses akan ditolak (iaitu, rangkaian di luar senarai putih IP tidak dapat mengakses atau mengendalikan akaun anda).

    • Objek pertukaran Konsep objek pertukaran adalah konsep di Platform Perdagangan Kuantum FMZ (FMZ.COMSecara ringkasnya, ia merujuk kepada objek yang terbentuk oleh pengelupasan antara muka pertukaran. Objek ini adalah pertukaran dalam kod strategi FMZ, yang memanggil fungsi exchange.GetTicker, sebenarnya ia memanggil antara muka untuk mengakses data pasaran pertukaran. Lihat dokumentasi FMZ API untuk butiran:https://www.fmz.com/api#exchangeSatu bursa boleh mempunyai sektor niaga hadapan dan sektor spot. Oleh kerana objek pertukaran niaga hadapan dan objek pertukaran spot yang ditakrifkan di FMZ adalah jenis objek pertukaran yang berbeza, mereka dibezakan (objek pertukaran niaga hadapan mempunyai beberapa fungsi lebih daripada objek pertukaran spot, seperti menetapkan fungsi leverage, menanyakan fungsi kedudukan dan lain-lain, periksa dokumentasi untuk butiran). Jadi ambil pertukaran Binance sebagai contoh, anda mungkin melihatnya apabila mengkonfigurasi pada FMZ:imgTerdapat juga 2 Huobi.img

      Jika strategi adalah untuk beroperasi pada objek pertukaran niaga hadapan, tambah niaga hadapan, dan jika anda ingin beroperasi spot, tambah spot.

      Di platform FMZ, pertukaran adalah objek pertukaran, yang mewakili akaun pertukaran.https://www.fmz.com/api#exchanges

  • Pasaran Dagangan

    Pasaran dagangan yang disebut di sini merujuk kepada bot dagangan tertentu (bayangkan halaman dagangan), biasanya bursa mempunyai beberapa sektor, sepertiPerdagangan mata wang, Perdagangan leveraged mata wang, Perdagangan kontrak etc.

    • Pasangan dagangan Apa yang biasanya kita panggil pasangan perdagangan adalah apa yang kita beli dan jual, contohnya, kita pergi ke pasaran untuk membeli kubis.kuah_duitadalah pasangan dagangan (digariskan _ untuk membahagikan) pembeli membayar untuk kubis, dan penjual mendapat wang.BTC_USDT, kita membeli dalam pasangan dagangan ini, yang bermaksud membayar USDT untuk mendapatkan BTC. Operasi penjualan adalah membayar BTC untuk mendapatkan USDT. AmbilBTC_USDTSebagai contoh, kita biasanya memanggil BTC sebagai mata wang perdagangan dan USDT sebagai mata wang denominasi.

      • Dagangan mata wang, BaseCurrency.
      • Mata wang denominasi, Mata wang Quote.
    • BintikPerdagangan mata wang, Perdagangan leveraged mata wang, mereka diklasifikasikan sebagai dagangan spot. Dagangan spot hanya perlu menentukanPasangan daganganuntuk menerangkan pasaran mana ia didagangkan.
      Mengambil penggunaan Platform Dagangan Kuantum FMZ sebagai contoh, jika anda ingin membuat pasangan dagangan BTC ke USDT, mata wang dagangan adalah BTC, dan mata wang denominasi adalah USDT. Kami menggunakan fungsi platform FMZexchange.SetCurrency("BTC_USDT")untuk menukar pasangan dagangan semasa kepada:BTC_USDT. UntukSetCurrencyBagi mereka yang tidak faham, merujuk kepada:https://www.fmz.com/api#exchange.setcurrency... UntukexchangeBagi mereka yang tidak faham, merujuk kepada:https://www.fmz.com/api#exchange

    • Kontrak (masa hadapan, opsyen) Terdapat perbezaan besar antara perdagangan kontrak dan perdagangan spot.currency-based contractsdanUSDT-based contracts. Untuk perdagangan programatik dan perdagangan kuantitatif, perlu menentukan bukan sahaja pasangan dagangan, tetapi juga kontrak. Sebagai contoh, jika kita ingin berdagang mata wang BTC, maka terdapat banyak kontrak mata wang BTC, termasuk kontrak suku (penghantaran berpatutan setiap suku), kontrak mingguan (penghantaran berpatutan pada hari Jumaat setiap minggu), kontrak kekal (bukan penghantaran) dan sebagainya. Jika hanya satu pasangan transaksi digunakan untuk pengenalan, jenis kontrak yang dibuat? Oleh itu, kod kontrak tertentu diperlukan untuk menerangkan dan menentukan. Dengan cara ini, apabila kita menerangkan pasaran kontrak yang akan didagangkan, kita perlu menerangkan mata wang (pasangan perdagangan) dan kontrak (kod kontrak) itu.

      • Kontrak berasaskan mata wang Kontrak yang menggunakan mata wang sebagai margin (seperti kontrak berasaskan mata wang BTC, yang menggunakan BTC sebagai margin, dan keuntungan juga BTC), keuntungan adalah mata wang. Biasanya, mata wang denominasi pasangan perdagangan kontrak margin mata wang dinyatakan dalam USD (tidak perlu masuk ke dalam butiran, kebanyakan bursa menggunakan ungkapan ini). Jadi pasangan perdagangan adalah BTC_USD, dan kontrak adalah kontrak suku tahunan.BTC's currency-based quarterly contractpasaran. Di Platform Dagangan Kuantum FMZ,exchange.SetCurrency("BTC_USD")menetapkan pasangan dagangan, dan kemudianexchange.SetContractType("quarter")menetapkan kontrak suku tahunan. Dengan cara ini, pelbagai perdagangan semasa adalahBTC's currency-based quarterly contract.

      • Kontrak berasaskan USDT Kontrak yang menggunakan USDT sebagai margin (seperti kontrak berasaskan USDT BTC, yang menggunakan USDT sebagai margin, dan keuntungan juga USDT), keuntungan adalah USDT. Biasanya, mata wang denominasi pasangan dagangan kontrak berasaskan USDT dinyatakan dalam USDT. Oleh itu, pasangan dagangan adalah BTC_USDT, dan kontrak adalah kontrak kekal.BTC's USDT-based perpetual contractpasaran. Di Platform Dagangan Kuantum FMZ,exchange.SetCurrency("BTC_USDT")menetapkan pasangan dagangan, dan kemudianexchange.SetContractType("swap")menetapkan kontrak kekal. Dengan cara ini, pelbagai perdagangan semasa adalahBTC's USDT-based perpetual contract.

    • Perintah Perintah itu merujuk kepada apa? Perintah adalah pesanan yang kita serahkan kepada bursa apabila kita membeli atau menjual di bursa. Perintah dibahagikan kepada pesanan pasaran, pesanan had, pesanan bersyarat, dan lain-lain. Atribut yang paling asas untuk pesanan adalah: objek pesanan (secara mudah, apa yang harus dibeli atau dijual), kuantiti pesanan (berapa banyak untuk membeli atau menjual), dan harga pesanan (pada harga apa untuk membeli atau menjual). Jika pesanan seterusnya hanya menentukan kuantiti untuk membeli dan menjual dan apa yang harus dibeli atau dijual tanpa mengira berapa banyak wang, maka pesanan sedemikian dipanggil pesanan pasaran. Sudah tentu, terdapat juga pesanan bersyarat (perintah berhenti kerugian, pesanan aisberg, dan lain-lain), yang berkaitan dengan pertukaran. Beberapa bursa menyediakan, sementara beberapa bursa tidak. Untuk butiran, anda boleh menyemak dokumentasi API bursa.

      • Bintik senarai harga pasaran pesanan spot biasanya perlu memberi perhatian kepada pesanan beli. kuantiti pesanan senarai harga pasaran pesanan spot bukan jumlah mata wang, tetapi jumlah. Kerana pesanan pasaran tidak menentukan harga, hanya jumlah yang boleh digunakan untuk menentukan berapa banyak untuk membeli. kuantiti pesanan jual pasaran adalah jumlah mata wang, kerana walaupun harga tidak pasti, berapa banyak mata wang yang akan dijual dapat ditentukan.

      • Kontrak Jumlah pesanan kontrak adalah istimewa, biasanya jumlah kontrak. Antara muka pesanan kontrak bursa pada dasarnya adalah jumlah kontrak, dan tidak ada antara muka yang mengambil jumlah mata wang sebagai kuantiti pesanan. Kontrak kekal BTC berasaskan USDT Binance boleh memesan kontrak kekal BTC dalam jumlah 0.01, tetapi bukan jumlah mata wang, tetapi jumlah kontrak, dan satu kontrak adalah tepat satu BTC. Secara amnya, kuantiti pesanan adalah bilangan kontrak sama ada ia adalah pesanan pasaran atau perintah had.

      • Apa itu mengambil, membuat perintah? Taker order adalah order yang menyediakan kecairan, secara ringkasnya, ia bermakna harga beli pasaran semasa adalah 10 dan harga jual adalah 11. pada masa ini, saya meletakkan order beli dengan harga beli 9, atau order jual dengan harga jual 12, pada masa ini, saya memberikan order untuk kedalaman cakera, dan order ini adalah maker. lagi contoh ini, jika saya meletakkan order beli pada harga 11, pada masa ini order saya akan diisi dengan order jual pada harga 11 di pasaran. dan saya mengambil order dari pasaran, order beli ini saya meletakkan pada masa itu adalah order taker.

        Sebagai contoh, fungsi meletakkan pesananexchange.Selldanexchange.BuyApabila meletakkan pesanan, sama ada pesanan diklasifikasikan sebagai penerima atau pembuat bergantung kepada harga pesanan dan pasaran pada masa itu, dan sama ada pesanan kami memberikan kecairan atau mengurangkan kecairan. Apabila harga diteruskan dalam -1 di Platform Dagangan Kuantum FMZ, ia adalah untuk meletakkan pesanan pasaran, ambil perhatian bahawa jumlah pesanan pesanan membeli pesanan pasaran spot adalah jumlah, maka pesanan pasaran adalah pasti pengurangan dalam kecairan, dan ia mesti menjadi pesanan mengambil.

      • Mandat Perintah Syarat Pertukaran Banyak bursa juga menyokong perintah bersyarat, sepertiiceberg order, stop-loss order, take-profit order, post_only: only maker order , fok: complete the deal or cancel immediately, ioc: deal immediately and cancel the remaining, dan sebagainya. Perintah ini boleh menggunakanexchange.IOfungsi di Platform Dagangan Kuantum FMZ untuk mengakses antara muka pesanan pertukaran secara langsung untuk menentukan parameter (tentukan perintah bersyarat yang akan diletakkan) untuk meletakkan pesanan.exchange.IOfungsi, sila rujuk dokumentasi FMZ API:https://www.fmz.com/api#exchange.io

  • Platform dagangan kuantitatif

    Platform dagangan kuantitatif boleh dianggap sebagai alat dagangan kuantitatif, ia mungkin sistem perisian dalam talian, mungkin laman web, mungkin program pelaksanaan tempatan, atau mungkin juga projek sumber terbuka di GITHUB.

    • Platform Perdagangan Kuantum FMZ Platform Perdagangan Kuantum FMZ adalah sistem diedarkan dalam talian.https://www.fmz.com/bbs-topic/9090

    • Sistem pengujian belakang untuk platform dagangan kuantitatif Apakah sistem backtesting? Secara ringkasnya, sistem backtesting adalah untuk memainkan semula data sejarah pelbagai perdagangan tertentu, dan membiarkan strategi tertentu dimasukkan ke dalam pemutaran, dan mendapatkan prestasi perdagangan strategi ini ketika mensimulasikan pemutaran data sejarah. Sistem pengujian balik di Platform Dagangan Kuantum FMZ:

      Nama Jenis Penerangan
      Bitfinex Objek pertukaran spot Sokongan pasangan dagangan terhad, seperti: BTC_USD, ETH_USD, LTC_USD dll, ambil perhatian bahawa mata wang pasangan dagangan adalah USD, yang dilambangkan USD
      Binance Objek pertukaran spot Sokong pasangan dagangan terhad, seperti: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC dll.
      OKEX Objek pertukaran spot vseperti: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC dan sebagainya
      Huobi Objek pertukaran spot Sokong pasangan dagangan terhad, seperti: BTC_USDT, ETH_USDT, ETH_BTC, LTC_BTC dll.
      Masa hadapan OKEX Objek pertukaran niaga hadapan Sokong pasangan dagangan terhad, seperti: BTC_USD, ETH_USD dan lain-lain, mata wang denominasi pasangan dagangan adalah USD. Selepas menetapkan kod kontrak tertentu (lihat fungsi exchange.SetContractType), kontrak adalah kontrak berasaskan mata wang
      HuobiDM Objek pertukaran niaga hadapan HuobiDM adalah niaga hadapan Huobi (kontrak Huobi), menyokong pasangan dagangan terhad, seperti: BTC_USD,ETH_USD dll, mata wang denominasi pasangan dagangan adalah USD. Selepas menetapkan kod kontrak tertentu (lihat fungsi pertukaran.SetContractType), kontrak adalah kontrak berasaskan mata wang
      BitMEX Objek pertukaran niaga hadapan Pasangan dagangan adalah: XBT_USD. Selepas menetapkan kod kontrak tertentu (lihat fungsi exchange.SetContractType), kontrak adalah kontrak berasaskan mata wang
      Masa hadapan Binance Objek pertukaran niaga hadapan Sokong pasangan dagangan terhad, seperti: BTC_USDT, ETH_USDT dll, mata wang denominasi pasangan dagangan adalah USDT. Selepas menetapkan kod kontrak tertentu (lihat fungsi exchange.SetContractType), kontrak adalah kontrak berasaskan USDT
      Pilihan derivatif Objek pertukaran opsyen Pasangan dagangan adalah: BTC_USD, ETH_USD. Selepas menetapkan kod kontrak tertentu (lihat fungsi exchange.SetContractType), kontrak adalah kontrak berasaskan mata wang
    • API KEY platform dagangan kuantitatif Pertukaran mempunyai antara muka API, dan platform perdagangan kuantitatif juga mempunyai antara muka API.Extended API, beberapa fungsi platform FMZ boleh dikendalikan secara berprogram, contohnya, membuat bot sebenar dalam batch, memulakan bot sebenar dalam batch, mengubah suai konfigurasi bot sebenar dalam batch, dll, untuk butiran, sila rujuk:https://www.fmz.com/api#api-extension-of-fmz-platformAPI sambungan juga boleh digunakan untuk melakukan sesuatu yang menarik, sepertiMenggunakan sambungan API Platform Dagangan Quant FMZ untuk melaksanakan perdagangan isyarat penggera TradingView

  • Skrip perdagangan berprogram

    Setelah mengatakan bahawa, apa yang betul-betul mengawal akaun pertukaran saya untuk perdagangan secara automatik? Ini adalah perwujudan khusus perdagangan berprogram dan perdagangan kuantitatif - skrip perdagangan berprogram. Program bot sebenar ini boleh ditulis dalam pelbagai bahasa. Sebagai contoh, Platform Perdagangan Kuantiti FMZ menyokong menulis strategi perdagangan bot sebenar dalam bahasa JavaScript, Python, dan C ++. Program skrip ini menjalankan pelbagai operasi seperti membeli dan menjual akaun melalui antara muka API bursa.

    • Peranti di mana skrip perdagangan berprogram dijalankan Program skrip bot sebenar mesti mempunyai pembawa peranti (singkatnya, bot sebenar mesti mempunyai tempat di mana ia berjalan). Transaksi kuantitatif biasanya menggunakan program bot sebenar di pelayan Alibaba Cloud di Hong Kong (tentu saja, anda juga boleh menggunakan pelayan dari tempat lain, pengendali lain).timeoutakan dilaporkan. Pada platform FMZ, anda biasanya boleh menyebarkan program perisian anda sendiri di pelayan Awan Alibaba Hong Kong (perisian pembawa bot sebenar Platform Dagangan Kuantitif FMZ dipanggil [docker], dan bot sebenar perdagangan kuantitatif dijalankan berdasarkan perisian docker).

      • Sistem peralatan Pelbagai sistem operasi, seperti windows / Linux / MAX OS / ARM Linux, dll, dipilih mengikut skrip sebenar. Pada platform FMZ, pelayan sistem Linux biasanya digunakan. Penggunaan sistem Linux tidak rumit sebenarnya. Penggunaan mudah hanya perlu menguasai beberapa perintah, ini dijelaskan dalam tutorial FMZ.
    • Pilihan bahasa skrip Terdapat terlalu banyak bahasa pengaturcaraan, dan hampir kesemuanya boleh digunakan untuk menulis program skrip bot sebenar. Di sini kita juga akan mengambil FMZ Quant Trading Platform sebagai contoh untuk memahami kelebihan pelbagai bahasa.

      • JavaScript Ia mudah digunakan, dan hampir bebas dari persekitaran peranti, ia menyokong standard ES6. Kelajuan pelaksanaan program strategi adalah kedua hanya kepada strategi C ++. (disyorkan untuk pemula di Platform Perdagangan Kuantum FMZ)

      • Python Ia bergantung kepada persekitaran peranti ke tahap tertentu, dan pelbagai perpustakaan boleh dipasang, dengan skalabiliti yang tinggi.

      • C++ Strategi ini mempunyai kelajuan pelaksanaan yang paling cepat, kecekapan tertinggi, tetapi ia lebih sukar digunakan. Selepas membiasakan diri dengan ia, bahasa pengaturcaraan lain adalahso easy!.

      • MyLanguage MyLanguage yang disokong oleh platform FMZ adalah perintah yang paling asas.

        • MyLanguage digunakan untuk menulis beberapa strategi trend
        • Apabila isyarat dagangan muncul dalam MyLanguage, semasa melaksanakan pesanan dagangan, ia hanya boleh menerima pesanan, dan tidak menyokong pesanan menunggu.
        • MyLanguage sesuai untuk strategi membuat objek pertukaran tunggal (hanya satu objek pertukaran yang boleh dikawal. Walaupun MyLanguage pada platform FMZ menyokong menyematkan kod JS, ia agak sukar untuk pemula, jadi ia tidak akan dibincangkan untuk sekarang)
        • MyLanguage hanya sesuai untuk strategi varieti tunggal. Adalah disyorkan untuk menggunakan JavaScript, Python, dan C ++ untuk reka bentuk strategi pelbagai varieti.
        • Maklumat yang berkaitan dengan penggunaan MyLanguage di platform FMZ:https://www.fmz.com/bbs-topic/9788 https://www.fmz.com/bbs-topic/9791
      • Strategi pemasangan modul visual Strategi penciptaan visual hanya digunakan untuk meningkatkan minat dan memahami logik program. Ia boleh digunakan untuk membuat beberapa logik mudah, tetapi ia tidak boleh digunakan apabila strategi agak kompleks, kerana sukar untuk mengekalkan, mengembangkan, dan merancang logik kompleks.


Berkaitan

Lebih lanjut