{"id":30036,"date":"2019-10-31T21:33:21","date_gmt":"2019-10-31T18:33:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/smart-assety-waves-chernye-i-belye-spiski-intervalnyj-trejding\/"},"modified":"2019-10-31T21:33:21","modified_gmt":"2019-10-31T18:33:21","slug":"smart-assety-waves-chernye-i-belye-spiski-intervalnyj-trejding","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/smart-assety-waves-chernye-i-belye-spiski-intervalnyj-trejding","title":{"rendered":"Wavesi nutikad varad: \u201emustad\u201c ja \u201evalged\u201c nimekirjad, intervallikaubandus","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Wavesi nutikad varad: \u201emustad\u201c ja \u201evalged\u201c nimekirjad, intervallikaubandus\" src=\"\/wp-content\/uploads\/2019\/03\/d6889b56e69b1f40675cdfa9b676770c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i>Kahes eelmises artiklis r\u00e4\u00e4kisime nutiakontodest ja sellest, kuidas neid saab kasutada <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/waves\/blog\/442238\/\">oksjonite korraldamiseks ja lojaalsusprogrammide loomiseks<\/a><\/noindex>, samuti aitavad need <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/waves\/blog\/443836\/\">tagada finantsinstrumentide l\u00e4bipaistvust<\/a><\/noindex>.<\/p>\n<p>Praegu vaatame nutikad varad ja mitmeid nende rakendamise juhtumeid, sealhulgas varade k\u00fclmutamist ja transaktsioonide piirangute seadmist m\u00e4\u00e4ratud aadressidele.<\/i><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nWavesi nutikad varad v\u00f5imaldavad kasutajatel varadele skripte rakendada, j\u00e4rgides sama mehhanismi nagu nutikontode puhul. Iga uus tehing, mis luuakse nutika vara abil, kinnitatakse esmalt skripti ja seej\u00e4rel plokiahela poolt.<\/p>\n<p>M\u00e4rkimist v\u00e4\u00e4rivad j\u00e4rgmised erinevused nutikate varade ja nutikontode vahel:<\/p>\n<ol>\n<li>Nutika vara koodis ei saa t\u00f5endite kontrolli teostada (millest r\u00e4\u00e4kisime <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/waves\/blog\/442238\/\">esimeses artiklis<\/a><\/noindex>).<\/li>\n<li>Nutika konto koodis saab kontrollida ExchangeTransaction'i ainult siis, kui teie konto on vastendava konto t\u00fc\u00fcp. Vastasel juhul kontrollitakse ainult tellimust. Nutikate varade koodis ei saa tellimust otse kontrollida, kuid saab kontrollida ExchangeTransaction'i ning vajadusel sealt tellimust v\u00e4lja v\u00f5tta.<\/li>\n<li>Nutikatel varadel, erinevalt nutikast kontost, ei ole olekut, kuid meil on siiski juurdep\u00e4\u00e4s kontode olekutele skriptist.<\/li>\n<\/ol>\n<p>Nutikad varad lihtsustavad lepingute loomist oluliselt, muutes paljude juhtumite rakendamise lakooniliseks ja elegantseks.<\/p>\n<p><b>Varade k\u00fclmutamine<\/b><\/p>\n<p>Varade k\u00fclmutamiseks kindla ploki k\u00f5rgusel <i>targetHeight<\/i>, saab selle v\u00e4\u00e4rtuse lihtsalt skriptis j\u00e4rgmise nutika vara jaoks m\u00e4\u00e4rata:<\/p>\n<pre><code class=\"scala\">let targetHeight = 1500000\nheight &gt;= targetHeight\n\nheight - funktsioon keeles, mis tagastab hetke k\u00f5rguse.\n<\/code><\/pre>\n<p><b>Konkreetse vastendi tingimus<\/b><\/p>\n<p>Soovitud spetsiifilise vastendi m\u00e4\u00e4ramiseks saate m\u00e4\u00e4rata selle aadressi saatjana skriptis j\u00e4rgmisel kujul:<\/p>\n<pre><code class=\"scala\">match tx {\n    case t : ExchangeTransaction =&gt;\n        t.sender == addressFromString(\"3PJaDyprvekvPXPuAtxrapacuDJopgJRaU3\")\n    case _ =&gt; true\n}\n<\/code><\/pre>\n<p><b>\u201eValge nimekiri\u201c vastuv\u00f5tjate jaoks<\/b><\/p>\n<p>Kuna lubada tokenite saatmist ainult teatud kontodele \u2014 luua \u00abvalge nimekiri\u00bb saajatele \u2014 saate kasutada nutitaimi j\u00e4rgmise skeemiga, mis kontrollib nimekirja kuuluvust:<\/p>\n<pre><code class=\"scala\">match tx {\n  case t : TransferTransaction =&gt;\n    let trustedRecipient1 = addressFromString(\"3P6ms9EotRX8JwSrebeTXYVnzpsGCrKWLv4\")\n    let trustedRecipient2 = addressFromString(\"3PLZcCJyYQnfWfzhKXRA4rteCQC9J1ewf5K\")\n    let trustedRecipient3 = addressFromString(\"3PHrS6VNPRtUD8MHkfkmELavL8JnGtSq5sx\")\n    t.recipient == trustedRecipient1 || t.recipient == trustedRecipient2 || t.recipient == trustedRecipient3\n  case _ =&gt; false\n}\n<\/code><\/pre>\n<p>Turvalisuse ja t\u00f5estatava l\u00f5petatuse eesm\u00e4rgil ei sisalda nimekiri iteratsiooni rakendust. Seet\u00f5ttu on see m\u00e4\u00e4ratud kindlate elementide kogumina.<\/p>\n<p><b>\u00abMust nimekiri\u00bb saajatele<\/b><\/p>\n<p>Sama t\u00f5husalt, et keelata tokenite saatmine teatud kontodele, saate luua \u00abmustade nimekirjade\u00bb. Selle jaoks kasutatakse t\u00e4pselt sama nutitaime, kuid aadressi kontrollimisega, et see ei oleks mustas nimekirjas:<\/p>\n<pre><code class=\"scala\">match tx {\n  case t : TransferTransaction =&gt;\n    let bannedRecipient1 = addressFromString(\"3P6ms9EotRX8JwSrebeTXYVnzpsGCrKWLv4\")\n    let bannedRecipient2 = addressFromString(\"3PLZcCJyYQnfWfzhKXRA4rteCQC9J1ewf5K\")\n    let bannedRecipient3 = addressFromString(\"3PHrS6VNPRtUD8MHkfkmELavL8JnGtSq5sx\")\n    t.recipient != bannedRecipient1 &amp;&amp; t.recipient != bannedRecipient2 &amp;&amp; t.recipient != bannedRecipient3\n  case _ =&gt; false\n}\n<\/code><\/pre>\n<p><b>Saatmine emitendi loal<\/b><\/p>\n<p>Nutitelefoni kasutamine v\u00f5imaldab ka seada nutitelefoni saatmise valiku ainult emitendi loal <i>(kohustuse\/velle m\u00e4rge<\/i>). Emitent v\u00e4ljendab oma n\u00f5usolekut, paigutades tehingu ID oma konto staatusesse:<\/p>\n<pre><code class=\"scala\">match tx {\n  case t : TransferTransaction =&gt;\n    let issuer = extract(addressFromString(\"3P6ms9EotRX8JwSrebeTXYVnzpsGCrKWLv4\"))\n    #veenduge, et emitendi olekus oleks praeguse tehingu ID\n    isDefined(getInteger(issuer, toBase58String(t.id)))\n  case _ =&gt; false\n}\n<\/code><\/pre>\n<p><b>Vahetus ainult teatud m\u00fcntide vastu<\/b><\/p>\n<p>Nutitelefon v\u00f5imaldab lubada vahetada seda ainult teatud m\u00fcntide vastu. N\u00e4iteks, et lubada vahetust ainult bitcoinide vastu, v\u00f5ite kasutada j\u00e4rgmist koodi:<\/p>\n<pre><code class=\"scala\">let BTCId = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'\nmatch tx {\n  case t : ExchangeTransaction =&gt;\n    t.sellOrder.assetPair.priceAsset == BTCId ||\n     t.sellOrder.assetPair.amountAsset == BTCId\n  case _ =&gt; true\n}\n<\/code><\/pre>\n<p><b>Kaubandus orakli hinnaga<\/b><\/p>\n<p>Nutitelefoni skripti saab seadistada lubama kaubelda ainult orakli staatustes fikseeritud hinnaga. Siin on n\u00e4ide sellisest skriptist:<\/p>\n<pre><code class=\"scala\">let oracle = Address(base58'3PLNmokt22NrSiNvCLvwMUP84LCMJqbXwAD')\nlet assetId = toBase58String(base58'oWgJN6YGZFtZrV8BWQ1PGktZikgg7jzGmtm16Ktyvjd')\n \nmatch tx {\n  #keelame vara \u00fclekande\n  case t: TransferTransaction | MassTransferTransaction =&gt; false\n  case e: ExchangeTransaction =&gt;\n    #kontrollime, et kauplemine toimub orakli olekus m\u00e4\u00e4ratud hinnaga selle vara jaoks\n    let correctPrice = e.price == extract(getInteger(oracle, assetId))\n    #kontrollime, et kauplemine toimub WAVES'i vastu\n    let correctPriceAsset = !isDefined(e.sellOrder.assetPair.priceAsset) \ncorrectPrice &amp;&amp; correctPriceAsset\n  case _ =&gt; true\n}\n<\/code><\/pre>\n<p>Siin kohtame ebaselget hetke vara ID kontrollimisel, millega kaubeldakse. Asi on selles, et kui vara ID pole m\u00e4\u00e4ratletud, t\u00e4hendab see, et tegemist on WAVES'iga. Skriptis veendume, et kauplemine toimub WAVES'iga, just nii.<\/p>\n<p><b>Fikseeritud hinnat\u00f5us<\/b><\/p>\n<p>Saame seada nutivara fikseeritud hinna, mis t\u00f5useb j\u00e4rk-j\u00e4rgult m\u00e4\u00e4ratud osas. Siin on n\u00e4ide vara skriptist, mille hind t\u00f5useb 5% iga 1000 ploki j\u00e4rel:<\/p>\n<pre><code class=\"scala\">let startPrice = 10\nlet startHeight = 1000\nlet interval = 1000\n# kui palju protsentides hind \u00fche sammu jooksul t\u00f5useb\nlet raise = 5\n \nmatch tx {\n  case t: TransferTransaction | MassTransferTransaction =&gt; false\n  case e: ExchangeTransaction =&gt;\n    e.price == startPrice + ((height - startHeight) \/ interval) * (100 + raise) \/ 100\n    &amp;&amp; !isDefined(e.sellOrder.assetPair.priceAsset)\n  case _ =&gt; true\n}\n\n\n<\/code><\/pre>\n<p><b>Intervalliline kauplemine<\/b><\/p>\n<p>Samuti v\u00f5imaldab skript piirata nutiressursiga kauplemist etteantud intervallide abil. Siin on sellise skripti n\u00e4ide:<\/p>\n<pre><code class=\"scala\">let startHeight = 10000\nlet interval = 44000\nlet limit = 1500\n \nmatch tx {\n  case t: TransferTransaction | MassTransferTransaction | ExchangeTransaction =&gt;\n    (height - startHeight) % interval  true\n}\n<\/code><\/pre>\n<p>Skriptis veendume, et alates kauplemise algusest <i>startHeight<\/i> on m\u00f6\u00f6dunud mitte rohkem kui<i> limit<\/i> intervalle. Intervalli pikkus on v\u00f5rdne plokkide kogustega, mis on m\u00e4\u00e4ratud v\u00e4ljal <i>interval<\/i>.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/waves\/blog\/444686\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0434\u0432\u0443\u0445 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e \u0441\u043c\u0430\u0440\u0442-\u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\u0445 \u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0430\u0443\u043a\u0446\u0438\u043e\u043d\u043e\u0432 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043b\u043e\u044f\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043c\u0430\u0440\u0442-\u0430\u0441\u0441\u0435\u0442\u044b \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u0435\u0439\u0441\u043e\u0432 \u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0437\u0430\u043c\u043e\u0440\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0430\u043a\u0442\u0438\u0432\u043e\u0432 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u043c. \u0421\u043c\u0430\u0440\u0442-\u0430\u0441\u0441\u0435\u0442\u044b Waves \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-30036","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0434\u0432\u0443\u0445 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e \u0441\u043c\u0430\u0440\u0442-\u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\u0445 \u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0430\u0443\u043a\u0446\u0438\u043e\u043d\u043e\u0432 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043b\u043e\u044f\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043c\u0430\u0440\u0442-\u0430\u0441\u0441\u0435\u0442\u044b \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u0435\u0439\u0441\u043e\u0432 \u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0437\u0430\u043c\u043e\u0440\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0430\u043a\u0442\u0438\u0432\u043e\u0432 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u043c. \u0421\u043c\u0430\u0440\u0442-\u0430\u0441\u0441\u0435\u0442\u044b Waves \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/smart-assety-waves-chernye-i-belye-spiski-intervalnyj-trejding\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u043c\u0430\u0440\u0442-\u0430\u0441\u0441\u0435\u0442\u044b Waves: \u00ab\u0447\u0435\u0440\u043d\u044b\u0435\u00bb \u0438 \u00ab\u0431\u0435\u043b\u044b\u0435\u00bb \u0441\u043f\u0438\u0441\u043a\u0438, \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0440\u0435\u0439\u0434\u0438\u043d\u0433 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0434\u0432\u0443\u0445 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e \u0441\u043c\u0430\u0440\u0442-\u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\u0445 \u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0430\u0443\u043a\u0446\u0438\u043e\u043d\u043e\u0432 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043b\u043e\u044f\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043c\u0430\u0440\u0442-\u0430\u0441\u0441\u0435\u0442\u044b \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u0435\u0439\u0441\u043e\u0432 \u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0437\u0430\u043c\u043e\u0440\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0430\u043a\u0442\u0438\u0432\u043e\u0432 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u043c. \u0421\u043c\u0430\u0440\u0442-\u0430\u0441\u0441\u0435\u0442\u044b Waves \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/smart-assety-waves-chernye-i-belye-spiski-intervalnyj-trejding\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:33:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:33:21+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Waves'i nutivarad: 'mustad' ja 'valge' nimekiri, vahepealne kauplemine | ProHoster","description":"Kahes eelnevas artiklis r\u00e4\u00e4kisime nutikontodest ja nende kasutamisest oksjonite korraldamiseks ja lojaalsusprogrammide loomiseks, samuti nende rollist finantsinstrumentide avatuse tagamisel. N\u00fc\u00fcd uurime nutivarade v\u00f5imalusi ja mitmeid nende rakendamise n\u00e4iteid, sealhulgas varade k\u00fclmutamist ja tehingute piiramist etten\u00e4htud aadressidel. Waves'i nutivarad v\u00f5imaldavad kasutajatel skripte rakendada.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/smart-assety-waves-chernye-i-belye-spiski-intervalnyj-trejding","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u043c\u0430\u0440\u0442-\u0430\u0441\u0441\u0435\u0442\u044b Waves: \u00ab\u0447\u0435\u0440\u043d\u044b\u0435\u00bb \u0438 \u00ab\u0431\u0435\u043b\u044b\u0435\u00bb \u0441\u043f\u0438\u0441\u043a\u0438, \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0440\u0435\u0439\u0434\u0438\u043d\u0433 | ProHoster","og:description":"\u0412 \u0434\u0432\u0443\u0445 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e \u0441\u043c\u0430\u0440\u0442-\u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430\u0445 \u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0430\u0443\u043a\u0446\u0438\u043e\u043d\u043e\u0432 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043b\u043e\u044f\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043c\u0430\u0440\u0442-\u0430\u0441\u0441\u0435\u0442\u044b \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u0435\u0439\u0441\u043e\u0432 \u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0437\u0430\u043c\u043e\u0440\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0430\u043a\u0442\u0438\u0432\u043e\u0432 \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438 \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u0430\u043c. \u0421\u043c\u0430\u0440\u0442-\u0430\u0441\u0441\u0435\u0442\u044b Waves \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b","og:url":"https:\/\/prohoster.info\/et\/blog\/smart-assety-waves-chernye-i-belye-spiski-intervalnyj-trejding","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:33:21+00:00","article:modified_time":"2019-10-31T18:33:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30036","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-20 23:30:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:43:15","updated":"2026-01-20 23:30:22"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/30036","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=30036"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/30036\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=30036"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=30036"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=30036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}