{"id":17591,"date":"2025-12-17T21:37:18","date_gmt":"2025-12-17T18:07:18","guid":{"rendered":"https:\/\/www.itpiran.net\/blog\/?p=17591"},"modified":"2025-12-17T21:46:07","modified_gmt":"2025-12-17T18:16:07","slug":"writing-indicators-in-tradingview","status":"publish","type":"post","link":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/","title":{"rendered":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062a\u0631\u06cc\u062f"},"content":{"rendered":"\n<p>&nbsp;<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-intro\"><span id=\"%da%86%da%af%d9%88%d9%86%d9%87-%d9%85%db%8c%d8%aa%d9%88%d8%a7%d9%86-%d8%a7%d9%86%d8%af%db%8c%da%a9%d8%a7%d8%aa%d9%88%d8%b1-%d9%88-%d8%a7%d8%b3%d8%aa%d8%b1%d8%a7%d8%aa%da%98%db%8c-%d8%af%d8%b1\">\u0686\u06af\u0648\u0646\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u0648 \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u062f\u0631 TradingView \u0646\u0648\u0634\u062a \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0635\u0631\u0627\u0641\u06cc \u0645\u062a\u0635\u0644 \u06a9\u0631\u062f\u061f<\/span><\/h2>\n<p class=\"wp-block-paragraph\">\u062f\u0631 \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u062c\u0627\u0645\u0639 \u0648 \u0639\u0645\u0644\u06cc\u060c \u06af\u0627\u0645\u200c\u0628\u0647\u200c\u06af\u0627\u0645 \u0646\u062d\u0648\u0647\u0654 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u0648 \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u0628\u0627 Pine Script \u0646\u0633\u062e\u0647\u0654 5\u060c \u0633\u0627\u062e\u062a \u0622\u0644\u0627\u0631\u0645\u200c\u0647\u0627\u06cc \u0648\u0628\u0647\u0648\u06a9 \u062f\u0631 TradingView\u060c \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0633\u0631\u0648\u0631 \u0627\u0645\u0646 \u0628\u0627 Flask \u0648 ccxt\u060c \u0648 \u0646\u06a9\u0627\u062a \u0641\u0646\u06cc\/\u0627\u0645\u0646\u06cc\u062a\u06cc \u0648 \u0627\u0646\u062a\u062e\u0627\u0628 \u0644\u0648\u06a9\u06cc\u0634\u0646 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0647\u0634 \u062a\u0627\u062e\u06cc\u0631 \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0645\u0637\u0644\u0628 \u0645\u0646\u0627\u0633\u0628 \u0645\u0639\u0627\u0645\u0644\u0647\u200c\u06af\u0631\u0627\u0646\u060c \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0648 \u062a\u06cc\u0645\u200c\u0647\u0627\u06cc \u0639\u0645\u0644\u06cc\u0627\u062a \u0627\u0633\u062a.<\/p>\n<p>&nbsp;<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-section-1\"><span id=\"%d8%a8%d8%ae%d8%b4-1-%d8%b4%d8%b1%d9%88%d8%b9-%d8%a8%d8%a7-pine-script-%d9%86%d8%b3%d8%ae%d9%87-5\">\u0628\u062e\u0634 1 \u2014 \u0634\u0631\u0648\u0639 \u0628\u0627 Pine Script (\u0646\u0633\u062e\u0647 5)<\/span><\/h2>\n<p class=\"wp-block-paragraph\">\u062f\u0631 Pine Script \u0646\u0633\u062e\u0647\u0654 5 \u0627\u0645\u06a9\u0627\u0646\u0627\u062a \u062c\u062f\u06cc\u062f \u0648 \u062a\u0648\u0627\u0628\u0639 \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u0645\u0648\u062c\u0648\u062f \u0627\u0633\u062a. \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639:<\/p>\n<ul>\n<li class=\"wp-block-paragraph\"><strong>\u0627\u0646\u062a\u062e\u0627\u0628 \u0646\u0633\u062e\u0647:<\/strong> \u0627\u0632 <code>\/\/@version=5<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n<li class=\"wp-block-paragraph\"><strong>\u062f\u0648 \u0646\u0648\u0639 \u0627\u0635\u0644\u06cc:<\/strong> <em>indicator<\/em> (\u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634 \u0631\u0648\u06cc \u0686\u0627\u0631\u062a \u0648 \u062a\u0648\u0644\u06cc\u062f \u0633\u06cc\u06af\u0646\u0627\u0644) \u0648 <em>strategy<\/em> (\u0628\u0631\u0627\u06cc \u0628\u06a9\u200c\u062a\u0633\u062a \u0648 \u0627\u062c\u0631\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u200c\u0647\u0627\u06cc \u0641\u0631\u0636\u06cc).<\/li>\n<li class=\"wp-block-paragraph\"><strong>\u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0648\u0631\u0648\u062f\u06cc:<\/strong> \u0627\u0632 \u062a\u0627\u0628\u0639 <code>input<\/code> \u0628\u0631\u0627\u06cc \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u0642\u0627\u0628\u0644 \u062a\u063a\u06cc\u06cc\u0631 \u062a\u0648\u0633\u0637 \u06a9\u0627\u0631\u0628\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n<li class=\"wp-block-paragraph\"><strong>\u0622\u0644\u0627\u0631\u0645\u200c\u0647\u0627:<\/strong> \u0627\u0632 <code>alertcondition<\/code> \u0628\u0631\u0627\u06cc \u062a\u0639\u0631\u06cc\u0641 \u0634\u0631\u0637 \u0622\u0644\u0627\u0631\u0645 \u0642\u0627\u0628\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062f\u0631 TradingView \u0628\u0647\u0631\u0647 \u0628\u0628\u0631\u06cc\u062f.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-section-1-1\"><span id=\"%d9%86%d9%85%d9%88%d9%86%d9%87-%d8%a7%d9%86%d8%af%db%8c%da%a9%d8%a7%d8%aa%d9%88%d8%b1-%d8%b3%d8%a7%d8%af%d9%87-ema-crossover-rsi-filter\">\u0646\u0645\u0648\u0646\u0647 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u0633\u0627\u062f\u0647 (EMA Crossover + RSI filter)<\/span><\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>\/\/@version=5\r\nindicator(\"EMA Crossover + RSI Filter\", overlay=true)\r\n\r\n\/\/ Inputs\r\nshortLen = input.int(9, \"EMA Short Length\")\r\nlongLen  = input.int(21, \"EMA Long Length\")\r\nrsiLen   = input.int(14, \"RSI Length\")\r\nrsiThresh = input.int(50, \"RSI Threshold\")\r\n\r\n\/\/ Price\r\nprice = close\r\n\r\n\/\/ Indicators\r\nemaShort = ta.ema(price, shortLen)\r\nemaLong  = ta.ema(price, longLen)\r\nrsi = ta.rsi(price, rsiLen)\r\n\r\n\/\/ Signals\r\nbull = ta.crossover(emaShort, emaLong) and rsi &gt; rsiThresh\r\nbear = ta.crossunder(emaShort, emaLong) and rsi &lt; rsiThresh\r\n\r\nplot(emaShort, color=color.blue)\r\nplot(emaLong, color=color.orange)\r\nplotshape(bull, title=\"Long\", location=location.belowbar, color=color.green, style=shape.labelup, text=\"LONG\")\r\nplotshape(bear, title=\"Short\", location=location.abovebar, color=color.red, style=shape.labeldown, text=\"SHORT\")\r\n\r\n\/\/ Alerts\r\nalertcondition(bull, title=\"Long Alert\", message=\"LONG_SIGNAL\")\r\nalertcondition(bear, title=\"Short Alert\", message=\"SHORT_SIGNAL\")<\/code><\/pre>\n<\/div>\n<p class=\"wp-block-paragraph\"><strong>\u0646\u06a9\u0627\u062a \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc:<\/strong> \u067e\u06cc\u0627\u0645 \u0622\u0644\u0627\u0631\u0645 \u0628\u0647\u062a\u0631 \u0627\u0633\u062a \u062f\u0631 \u0642\u0627\u0644\u0628 JSON \u06cc\u0627 \u0633\u0627\u062e\u062a\u0627\u0631 \u0645\u0634\u062e\u0635 \u0628\u0627\u0634\u062f \u062a\u0627 \u0648\u0628\u0647\u0648\u06a9\u200c\u0633\u0631\u0648\u0631 \u0628\u0647\u200c\u0633\u0627\u062f\u06af\u06cc \u067e\u0627\u0631\u0633 \u06a9\u0646\u062f\u061b \u0645\u062b\u0644\u0627\u064b <code>{\"signal\":\"LONG\",\"symbol\":\"BTCUSDT\",\"timeframe\":\"1m\"}<\/code>.<\/p>\n<p>&nbsp;<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-section-1-2\"><span id=\"%d9%86%d9%85%d9%88%d9%86%d9%87-%d8%a7%d8%b3%d8%aa%d8%b1%d8%a7%d8%aa%da%98%db%8c-%d8%b3%d8%a7%d8%af%d9%87-%d8%a8%d8%a7-%d9%85%d8%af%db%8c%d8%b1%db%8c%d8%aa-%d8%b1%db%8c%d8%b3%da%a9\">\u0646\u0645\u0648\u0646\u0647 \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u0633\u0627\u062f\u0647 \u0628\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0631\u06cc\u0633\u06a9<\/span><\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>\/\/@version=5\r\nstrategy(\"EMA Crossover Strategy\", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1)\r\n\r\n\/\/ inputs ...\r\n\/\/ (same indicators as above)\r\nshortLen = input.int(9, \"EMA Short Length\")\r\nlongLen  = input.int(21, \"EMA Long Length\")\r\nrsiLen   = input.int(14, \"RSI Length\")\r\nrsiThresh = input.int(50, \"RSI Threshold\")\r\n\r\nprice = close\r\nemaShort = ta.ema(price, shortLen)\r\nemaLong  = ta.ema(price, longLen)\r\nrsi = ta.rsi(price, rsiLen)\r\n\r\nbull = ta.crossover(emaShort, emaLong) and rsi &gt; rsiThresh\r\nbear = ta.crossunder(emaShort, emaLong) and rsi &lt; rsiThresh\r\n\r\nif bull\r\n    strategy.entry(\"Long\", strategy.long)\r\nif bear\r\n    strategy.entry(\"Short\", strategy.short)\r\n\r\n\/\/ Example Stop Loss \/ Take Profit\r\nstrategy.exit(\"Exit Long\", from_entry=\"Long\", loss=100, profit=200)\r\nstrategy.exit(\"Exit Short\", from_entry=\"Short\", loss=100, profit=200)<\/code><\/pre>\n<\/div>\n<p class=\"wp-block-paragraph\"><strong>\u062a\u0648\u0636\u06cc\u062d:<\/strong> \u0628\u0631\u0627\u06cc \u0628\u06a9\u200c\u062a\u0633\u062a \u062f\u0642\u06cc\u0642\u200c\u062a\u0631 \u0627\u0632 <em>strategy<\/em> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc <em>stop-loss<\/em> \u0648 <em>take-profit<\/em> \u0648 \u0627\u0646\u062f\u0627\u0632\u0647\u0654 \u067e\u0648\u0632\u06cc\u0634\u0646 \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0646\u0645\u0627\u06cc\u06cc\u062f.<\/p>\n<p>&nbsp;<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-section-2\"><span id=\"%d8%a8%d8%ae%d8%b4-2-%d8%b3%d8%a7%d8%ae%d8%aa%d8%a7%d8%b1-%d8%a2%d9%84%d8%a7%d8%b1%d9%85-%d9%88-%d9%88%d8%a8%d9%87%d9%88%da%a9-%d8%af%d8%b1-tradingview\">\u0628\u062e\u0634 2 \u2014 \u0633\u0627\u062e\u062a\u0627\u0631 \u0622\u0644\u0627\u0631\u0645 \u0648 \u0648\u0628\u0647\u0648\u06a9 \u062f\u0631 TradingView<\/span><\/h2>\n<p class=\"wp-block-paragraph\">\u067e\u0633 \u0627\u0632 \u0627\u0641\u0632\u0648\u062f\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u06cc\u0627 \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u0631\u0648\u06cc \u0686\u0627\u0631\u062a\u060c \u0627\u0632 \u0645\u0646\u0648\u06cc Alerts \u06cc\u06a9 \u0622\u0644\u0627\u0631\u0645 \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a:<\/p>\n<ul>\n<li class=\"wp-block-paragraph\"><strong>Alert type:<\/strong> \u06af\u0632\u06cc\u0646\u0647\u0654 <em>Webhook URL<\/em> \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f \u0648 \u0622\u062f\u0631\u0633 \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f (\u0645\u062b\u0644\u0627\u064b <a href=\"https:\/\/trade.example.com\/webhook\" target=\"_blank\" rel=\"noopener\">https:\/\/trade.example.com\/webhook<\/a>).<\/li>\n<li class=\"wp-block-paragraph\"><strong>Message:<\/strong> \u0627\u0632 JSON \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f\u061b \u0634\u0627\u0645\u0644 \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc <code>symbol<\/code>\u060c <code>action<\/code>\u060c <code>price<\/code>\u060c <code>timeframe<\/code>\u060c <code>uuid<\/code> \u0648 <code>timestamp<\/code>.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">\u0645\u062b\u0627\u0644 \u067e\u06cc\u0627\u0645 \u0622\u0644\u0627\u0631\u0645:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>{\"symbol\":\"BTCUSDT\",\"action\":\"LONG\",\"price\":\"${close}\",\"timeframe\":\"1m\",\"strategy\":\"EMA_CROSS_V1\"}<\/code><\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-section-3\"><span id=\"%d8%a8%d8%ae%d8%b4-3-%d8%b1%d8%a7%d9%87%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-%d9%88%d8%a8%d9%87%d9%88%da%a9-%d8%b3%d8%b1%d9%88%d8%b1-%d8%a8%d8%b1%d8%a7%db%8c-%d8%af%d8%b1%db%8c%d8%a7\">\u0628\u062e\u0634 3 \u2014 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0633\u0631\u0648\u0631 \u0628\u0631\u0627\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0622\u0644\u0627\u0631\u0645\u200c\u0647\u0627 \u0648 \u0627\u0631\u0633\u0627\u0644 \u0633\u0641\u0627\u0631\u0634 \u0628\u0647 \u0635\u0631\u0627\u0641\u06cc<\/span><\/h2>\n<p class=\"wp-block-paragraph\">\u0645\u0639\u0645\u0627\u0631\u06cc \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc:<\/p>\n<ul>\n<li class=\"wp-block-paragraph\">TradingView (Alert) \u2192 HTTPS Webhook (NGINX + Flask\/Node) \u2192 Bot (Business Logic) \u2192 Exchange API (ccxt \u06cc\u0627 SDK)<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\" id=\"h-section-3-1\"><span id=\"%d9%86%d8%b5%d8%a8-%d9%be%db%8c%d8%b4%d9%86%db%8c%d8%a7%d8%b2%d9%87%d8%a7-%d9%86%d9%85%d9%88%d9%86%d9%87-%d8%a8%d8%b1%d8%a7%db%8c-ubuntu\">\u0646\u0635\u0628 \u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627 (\u0646\u0645\u0648\u0646\u0647 \u0628\u0631\u0627\u06cc Ubuntu)<\/span><\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>sudo apt update\r\nsudo apt install -y python3 python3-venv python3-pip\r\npython3 -m venv venv\r\nsource venv\/bin\/activate\r\npip install flask ccxt<\/code><\/pre>\n<\/div>\n<h3 class=\"wp-block-heading\" id=\"h-section-3-2\"><span id=\"%d9%86%d9%85%d9%88%d9%86%d9%87-app-py-%d8%a8%d8%a7-flask-%d9%88-ccxt\">\u0646\u0645\u0648\u0646\u0647 app.py \u0628\u0627 Flask \u0648 ccxt<\/span><\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>from flask import Flask, request, jsonify\r\nimport ccxt, os, hmac, hashlib, time\r\n\r\napp = Flask(__name__)\r\n\r\nAPI_KEY = os.getenv(\"EXCHANGE_API_KEY\")\r\nAPI_SECRET = os.getenv(\"EXCHANGE_API_SECRET\")\r\n\r\nexchange = ccxt.binance({\r\n    'apiKey': API_KEY,\r\n    'secret': API_SECRET,\r\n    'enableRateLimit': True,\r\n})\r\n\r\n@app.route('\/webhook', methods=['POST'])\r\ndef webhook():\r\n    data = request.json\r\n    # simple validation: check data presence (use HMAC in production)\r\n    if not data:\r\n        return jsonify({\"error\":\"no data\"}),400\r\n\r\n    symbol = data.get(\"symbol\")\r\n    action = data.get(\"action\")\r\n    qty = data.get(\"qty\", 0.001)\r\n\r\n    try:\r\n        if action == \"LONG\":\r\n            order = exchange.create_market_buy_order(symbol, qty)\r\n        elif action == \"SHORT\":\r\n            order = exchange.create_market_sell_order(symbol, qty)\r\n        else:\r\n            return jsonify({\"error\":\"unknown action\"}),400\r\n        return jsonify(order)\r\n    except Exception as e:\r\n        return jsonify({\"error\":str(e)}),500<\/code><\/pre>\n<\/div>\n<div class=\"pk-alert pk-alert-warning\" role=\"alert\" >\n\u0628\u0631\u0627\u06cc \u0627\u0645\u0646\u06cc\u062a\u060c \u0627\u0632 HMAC-SHA256 \u0628\u0631\u0627\u06cc \u062a\u0627\u06cc\u06cc\u062f \u067e\u06cc\u0627\u0645 TradingView \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0647\u0631\u06af\u0632 API Key\u0647\u0627 \u0631\u0627 \u062f\u0631 \u06a9\u062f \u0630\u062e\u06cc\u0631\u0647 \u0646\u06a9\u0646\u06cc\u062f.<br \/>\n<\/div>\n<p>&nbsp;<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-section-4\"><span id=\"%d8%a8%d8%ae%d8%b4-4-%d8%a7%d8%b3%d8%aa%d9%82%d8%b1%d8%a7%d8%b1-%d8%a7%d9%85%d9%86-%d8%b1%d9%88%db%8c-%d8%b3%d8%b1%d9%88%d8%b1-linux-docker-systemd\">\u0628\u062e\u0634 4 \u2014 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0627\u0645\u0646 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 (Linux\/Docker\/systemd)<\/span><\/h2>\n<p class=\"wp-block-paragraph\">\u067e\u06cc\u0634\u0646\u0647\u0627\u062f: \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Docker Compose \u0628\u0627 nginx \u0628\u0647\u200c\u0639\u0646\u0648\u0627\u0646 reverse proxy \u0648 certbot \u0628\u0631\u0627\u06cc TLS.<\/p>\n<h3 class=\"wp-block-heading\" id=\"h-section-4-1\"><span id=\"%d9%86%d9%85%d9%88%d9%86%d9%87-docker-compose-yml\">\u0646\u0645\u0648\u0646\u0647 docker-compose.yml<\/span><\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>version: '3.8'\r\nservices:\r\n  app:\r\n    build: .\r\n    restart: always\r\n    environment:\r\n      - EXCHANGE_API_KEY\r\n      - EXCHANGE_API_SECRET\r\n  nginx:\r\n    image: nginx:stable\r\n    volumes:\r\n      - .\/nginx\/conf.d:\/etc\/nginx\/conf.d\r\n      - .\/certs:\/etc\/letsencrypt\r\n    ports:\r\n      - \"80:80\"\r\n      - \"443:443\"<\/code><\/pre>\n<\/div>\n<h3 class=\"wp-block-heading\" id=\"h-section-4-2\"><span id=\"%d9%86%d9%85%d9%88%d9%86%d9%87-systemd-unit-%d8%a8%d8%b1%d8%a7%db%8c-%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d8%a8%d8%af%d9%88%d9%86-docker\">\u0646\u0645\u0648\u0646\u0647 systemd unit \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0628\u062f\u0648\u0646 Docker<\/span><\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-js\" data-lang=\"JavaScript\"><code>[Unit]\r\nDescription=Trading Webhook Bot\r\nAfter=network.target\r\n\r\n[Service]\r\nUser=trade\r\nWorkingDirectory=\/home\/trade\/app\r\nEnvironment=EXCHANGE_API_KEY=your_key_here\r\nEnvironment=EXCHANGE_API_SECRET=your_secret_here\r\nExecStart=\/home\/trade\/venv\/bin\/gunicorn -w 4 -b 127.0.0.1:5000 app:app\r\nRestart=always\r\n\r\n[Install]\r\nWantedBy=multi-user.target<\/code><\/pre>\n<\/div>\n<p class=\"wp-block-paragraph\">\u062f\u0633\u062a\u0648\u0631\u0627\u062a \u0645\u062f\u06cc\u0631\u06cc\u062a\u06cc \u0646\u0645\u0648\u0646\u0647:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>sudo systemctl daemon-reload\r\nsudo systemctl enable --now tradebot.service\r\nsudo ufw allow 443\/tcp\r\nsudo ufw allow 80\/tcp<\/code><\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-section-5\"><span id=\"%d8%a8%d8%ae%d8%b4-5-%d9%86%da%a9%d8%a7%d8%aa-%d8%a7%d9%85%d9%86%db%8c%d8%aa%db%8c-%d9%88-%d9%be%d8%a7%db%8c%d8%af%d8%a7%d8%b1%db%8c\">\u0628\u062e\u0634 5 \u2014 \u0646\u06a9\u0627\u062a \u0627\u0645\u0646\u06cc\u062a\u06cc \u0648 \u067e\u0627\u06cc\u062f\u0627\u0631\u06cc<\/span><\/h2>\n<ul>\n<li class=\"wp-block-paragraph\"><strong>\u0630\u062e\u06cc\u0631\u0647\u0654 \u0627\u0645\u0646 API Key:<\/strong> \u0627\u0632 \u0645\u062a\u063a\u06cc\u0631 \u0645\u062d\u06cc\u0637\u06cc\u060c \u0641\u0627\u06cc\u0644 \u0628\u0627 <code>chmod 600<\/code> \u06cc\u0627 Secret Manager \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n<li class=\"wp-block-paragraph\"><strong>TLS:<\/strong> \u0627\u0632 \u06af\u0648\u0627\u0647\u06cc \u0645\u0639\u062a\u0628\u0631 (certbot + nginx) \u0628\u0631\u0627\u06cc HTTPS \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n<li class=\"wp-block-paragraph\"><strong>\u062a\u0623\u06cc\u06cc\u062f \u067e\u06cc\u0627\u0645:<\/strong> \u0627\u0632 HMAC-SHA256 \u0628\u0631\u0627\u06cc \u062a\u0627\u06cc\u06cc\u062f \u067e\u06cc\u0627\u0645\u200c\u0647\u0627\u06cc \u0648\u0631\u0648\u062f\u06cc TradingView \u0628\u0647\u0631\u0647 \u0628\u0628\u0631\u06cc\u062f.<\/li>\n<li class=\"wp-block-paragraph\"><strong>\u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627 \u0648 Retry:<\/strong> \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0646\u0631\u062e (rate limit) \u0648 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645\u200c\u0647\u0627\u06cc retry\/backoff \u0631\u0627 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n<li class=\"wp-block-paragraph\"><strong>\u0645\u0627\u0646\u06cc\u062a\u0648\u0631\u06cc\u0646\u06af \u0648 \u0644\u0627\u06af\u200c\u06af\u0630\u0627\u0631\u06cc:<\/strong> \u0627\u0632 Prometheus + Grafana \u06cc\u0627 ELK \u0628\u0631\u0627\u06cc \u0646\u0638\u0627\u0631\u062a \u0628\u0631 \u0633\u0644\u0627\u0645\u062a\u06cc \u0648 \u0632\u0645\u0627\u0646 \u067e\u0627\u0633\u062e \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n<li class=\"wp-block-paragraph\"><strong>\u0645\u062d\u0627\u0641\u0638\u062a \u062f\u0631 \u0628\u0631\u0627\u0628\u0631 \u062d\u0645\u0644\u0627\u062a:<\/strong> \u0627\u0632 Fail2Ban\u060c iptables\u060c \u0648 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc Anti-DDoS \u06cc\u0627 CDN \u0628\u0631\u0627\u06cc endpoint\u200c\u0647\u0627\u06cc \u0639\u0645\u0648\u0645\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n<div class=\"pk-alert pk-alert-danger\" role=\"alert\" >\n\u0647\u0631\u06af\u0632 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc API \u0631\u0627 \u062f\u0627\u062e\u0644 \u06a9\u062f \u0642\u0631\u0627\u0631 \u0646\u062f\u0647\u06cc\u062f \u0648 \u0628\u0631\u0627\u06cc \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633 \u062a\u0646\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc\u200c\u0647\u0627\u06cc \u0644\u0627\u0632\u0645 \u0631\u0627 \u0627\u0639\u0637\u0627 \u06a9\u0646\u06cc\u062f.<br \/>\n<\/div>\n<p>&nbsp;<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-section-6\"><span id=\"%d8%a8%d8%ae%d8%b4-6-%d8%a8%da%a9%d8%aa%d8%b3%d8%aa%d8%8c-%d8%a8%d9%87%db%8c%d9%86%d9%87%d8%b3%d8%a7%d8%b2%db%8c-%d9%88-forward-testing\">\u0628\u062e\u0634 6 \u2014 \u0628\u06a9\u200c\u062a\u0633\u062a\u060c \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc \u0648 forward testing<\/span><\/h2>\n<ul>\n<li class=\"wp-block-paragraph\"><strong>\u0628\u06a9\u200c\u062a\u0633\u062a:<\/strong> \u0627\u0632 \u062a\u0648\u0627\u0628\u0639 <code>strategy.*<\/code> \u062f\u0631 Pine \u0628\u0631\u0627\u06cc \u062a\u062d\u0644\u06cc\u0644 \u06af\u0630\u0634\u062a\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648\u0644\u06cc \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u06cc Pine \u0631\u0627 \u062f\u0631 \u0646\u0638\u0631 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/li>\n<li class=\"wp-block-paragraph\"><strong>\u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc:<\/strong> \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627 \u0631\u0627 \u062f\u0633\u062a\u06cc \u06cc\u0627 \u0628\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u200c\u0647\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc \u062a\u0633\u062a \u06a9\u0646\u06cc\u062f (\u0645\u062b\u0644\u0627\u064b \u062a\u0648\u0644\u06cc\u062f \u0686\u0646\u062f\u06cc\u0646 \u0686\u0627\u0631\u062a \u0628\u0627 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641).<\/li>\n<li class=\"wp-block-paragraph\"><strong>Forward-test:<\/strong> \u0647\u0645\u06cc\u0634\u0647 \u067e\u0633 \u0627\u0632 \u0628\u06a9\u200c\u062a\u0633\u062a\u060c \u062f\u0631 \u062d\u0633\u0627\u0628 \u062f\u0645\u0648 \u06cc\u0627 \u0628\u0627 \u062d\u062c\u0645 \u06a9\u0648\u0686\u06a9 \u0631\u0648\u06cc VPS \u0628\u0627 low-latency \u062a\u0633\u062a \u06a9\u0646\u06cc\u062f.<\/li>\n<li class=\"wp-block-paragraph\"><strong>\u0627\u0646\u062f\u0627\u0632\u0647\u200c\u06af\u06cc\u0631\u06cc Slippage \u0648 Latency:<\/strong> \u0632\u0645\u0627\u0646 \u062f\u0631\u06cc\u0627\u0641\u062a \u0648\u0628\u0647\u0648\u06a9 \u0648 \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc \u0633\u0641\u0627\u0631\u0634 \u062f\u0631 \u0627\u06a9\u0633\u0686\u0646\u062c \u0631\u0627 \u062b\u0628\u062a \u0648 \u0622\u0646\u0627\u0644\u06cc\u0632 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-section-7\"><span id=\"%d8%a8%d8%ae%d8%b4-7-%d9%85%d9%82%d8%a7%db%8c%d8%b3%d9%87-%d9%84%d9%88%da%a9%db%8c%d8%b4%d9%86%d9%87%d8%a7%db%8c-%d8%af%db%8c%d8%aa%d8%a7%d8%b3%d9%86%d8%aa%d8%b1-%d8%a8%d8%b1%d8%a7\">\u0628\u062e\u0634 7 \u2014 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0644\u0648\u06a9\u06cc\u0634\u0646\u200c\u0647\u0627\u06cc \u062f\u06cc\u062a\u0627\u0633\u0646\u062a\u0631 \u0628\u0631\u0627\u06cc \u062a\u0631\u06cc\u062f<\/span><\/h2>\n<p class=\"wp-block-paragraph\">\u0644\u0648\u06a9\u06cc\u0634\u0646 \u062f\u06cc\u062a\u0627\u0633\u0646\u062a\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0647\u0631 \u0645\u06cc\u0644\u06cc\u200c\u062b\u0627\u0646\u06cc\u0647 \u062f\u0631 \u0645\u0648\u0641\u0642\u06cc\u062a \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc\u200c\u0647\u0627\u06cc \u0628\u0627 \u0641\u0631\u06a9\u0627\u0646\u0633 \u0628\u0627\u0644\u0627 \u0627\u0647\u0645\u06cc\u062a \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f. \u0627\u0646\u062a\u062e\u0627\u0628 \u0644\u0648\u06a9\u06cc\u0634\u0646 \u0628\u0627\u06cc\u062f \u0628\u0631 \u0627\u0633\u0627\u0633 \u0635\u0631\u0627\u0641\u06cc\u200c\u0647\u0627 \u0648 \u0645\u0633\u06cc\u0631\u0647\u0627\u06cc BGP \u0627\u0646\u062c\u0627\u0645 \u0634\u0648\u062f.<\/p>\n<ul>\n<li class=\"wp-block-paragraph\"><strong>\u0627\u0631\u0648\u067e\u0627 (Frankfurt, Amsterdam):<\/strong> \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc \u0635\u0631\u0627\u0641\u06cc\u200c\u0647\u0627\u06cc \u0627\u0631\u0648\u067e\u0627\u06cc\u06cc \u0648 \u0628\u0631\u062e\u06cc \u0644\u06cc\u06a9\u0648\u0626\u06cc\u062f\u06cc\u062a\u06cc\u200c\u067e\u0648\u0644\u200c\u0647\u0627.<\/li>\n<li class=\"wp-block-paragraph\"><strong>\u0634\u0631\u0642 \u0622\u0645\u0631\u06cc\u06a9\u0627 (New York, NJ):<\/strong> \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc Coinbase \u0648 \u0628\u0627\u0632\u0627\u0631\u0647\u0627\u06cc \u0645\u0631\u062a\u0628\u0637 \u0628\u0627 \u0646\u06cc\u0648\u06cc\u0648\u0631\u06a9.<\/li>\n<li class=\"wp-block-paragraph\"><strong>\u0622\u0633\u06cc\u0627 (Singapore, Tokyo, Hong Kong):<\/strong> \u0645\u0646\u0627\u0633\u0628 \u0628\u0631\u0627\u06cc Binance Asia\u060c OKX \u0648 \u0628\u0627\u0632\u0627\u0631\u0647\u0627\u06cc \u0622\u0633\u06cc\u0627\u06cc\u06cc.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">\u0627\u06af\u0631 \u0628\u06cc\u0634\u062a\u0631 \u0631\u0648\u06cc Binance \u06cc\u0627 \u0635\u0631\u0627\u0641\u06cc\u200c\u0647\u0627\u06cc \u0622\u0633\u06cc\u0627\u06cc\u06cc \u062a\u0631\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c VPS \u062f\u0631 \u0633\u0646\u06af\u0627\u067e\u0648\u0631 \u06cc\u0627 \u062a\u0648\u06a9\u06cc\u0648 \u0645\u0646\u0627\u0633\u0628\u200c\u062a\u0631 \u0627\u0633\u062a\u061b \u0628\u0631\u0627\u06cc \u0635\u0631\u0627\u0641\u06cc\u200c\u0647\u0627\u06cc \u0622\u0645\u0631\u06cc\u06a9\u0627\u06cc\u06cc \u0644\u0648\u06a9\u06cc\u0634\u0646 \u0646\u06cc\u0648\u06cc\u0648\u0631\u06a9\/\u0646\u06cc\u0648\u062c\u0631\u0633\u06cc \u0628\u0647\u062a\u0631 \u0639\u0645\u0644 \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f.<\/p>\n<p>&nbsp;<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-section-8\"><span id=\"%d8%a8%d8%ae%d8%b4-8-%da%a9%d8%a7%d9%86%d9%81%db%8c%da%af%d9%87%d8%a7%db%8c-%d9%be%db%8c%d8%b4%d9%86%d9%87%d8%a7%d8%af%db%8c-%d8%b3%d8%b1%d9%88%d8%b1-%d8%a8%d8%b1%d8%a7%db%8c-%d8%aa\">\u0628\u062e\u0634 8 \u2014 \u06a9\u0627\u0646\u0641\u06cc\u06af\u200c\u0647\u0627\u06cc \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc \u0633\u0631\u0648\u0631 \u0628\u0631\u0627\u06cc \u062a\u0631\u06cc\u062f<\/span><\/h2>\n<h3 class=\"wp-block-heading\" id=\"h-section-8-1\"><span id=\"vps-%d9%85%d8%ae%d8%b5%d9%88%d8%b5-%d8%aa%d8%b1%db%8c%d8%af-low-latency\">VPS \u0645\u062e\u0635\u0648\u0635 \u062a\u0631\u06cc\u062f (Low-Latency)<\/span><\/h3>\n<ul>\n<li class=\"wp-block-paragraph\">CPU: 2-4 vCPU \u0628\u0627 \u0641\u0631\u06a9\u0627\u0646\u0633 \u0628\u0627\u0644\u0627<\/li>\n<li class=\"wp-block-paragraph\">RAM: 4-8 GB<\/li>\n<li class=\"wp-block-paragraph\">Storage: NVMe SSD 50-100GB<\/li>\n<li class=\"wp-block-paragraph\">Network: low-latency\/1Gbps\u060c BGP\/Anycast \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\" id=\"h-section-8-2\"><span id=\"%d8%b3%d8%b1%d9%88%d8%b1-%d9%85%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa%db%8c-%d8%a8%da%a9%d8%aa%d8%b3%d8%aa-%d8%b3%d9%86%da%af%db%8c%d9%86\">\u0633\u0631\u0648\u0631 \u0645\u062d\u0627\u0633\u0628\u0627\u062a\u06cc\/\u0628\u06a9\u200c\u062a\u0633\u062a \u0633\u0646\u06af\u06cc\u0646<\/span><\/h3>\n<ul>\n<li class=\"wp-block-paragraph\">CPU: 8+ vCPU<\/li>\n<li class=\"wp-block-paragraph\">RAM: 32+ GB<\/li>\n<li class=\"wp-block-paragraph\">Storage: NVMe 1TB<\/li>\n<li class=\"wp-block-paragraph\">GPU: \u062f\u0631 \u0635\u0648\u0631\u062a \u0646\u06cc\u0627\u0632 \u0628\u0647 ML\/AI \u0628\u0631\u0627\u06cc \u067e\u0631\u062f\u0627\u0632\u0634 \u0645\u062f\u0644\u200c\u0647\u0627<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">\u0628\u0647\u200c\u0639\u0644\u0627\u0648\u0647 \u0627\u0632 \u0627\u0645\u06a9\u0627\u0646\u0627\u062a \u0627\u0645\u0646\u06cc\u062a\u06cc \u0645\u0627\u0646\u0646\u062f Anti-DDoS\u060c Private Networking \u0648 Firewall Management \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u067e\u0627\u06cc\u062f\u0627\u0631\u06cc \u0648 \u0627\u0645\u0646\u06cc\u062a \u0633\u0631\u0648\u06cc\u0633 \u0627\u0641\u0632\u0627\u06cc\u0634 \u06cc\u0627\u0628\u062f.<\/p>\n<p>&nbsp;<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-section-9\"><span id=\"%d8%a8%d8%ae%d8%b4-9-%d9%86%da%a9%d8%a7%d8%aa-%d8%b9%d9%85%d9%84%db%8c-%d8%a8%d8%b1%d8%a7%db%8c-%da%a9%d8%a7%d9%87%d8%b4-%d8%b1%db%8c%d8%b3%da%a9-%d8%af%d8%b1-%d8%a7%d8%aa%d9%88%d9%85%d8%a7\">\u0628\u062e\u0634 9 \u2014 \u0646\u06a9\u0627\u062a \u0639\u0645\u0644\u06cc \u0628\u0631\u0627\u06cc \u06a9\u0627\u0647\u0634 \u0631\u06cc\u0633\u06a9 \u062f\u0631 \u0627\u062a\u0648\u0645\u0627\u0633\u06cc\u0648\u0646 \u062a\u0631\u06cc\u062f<\/span><\/h2>\n<ul>\n<li class=\"wp-block-paragraph\"><strong>\u062d\u062f \u0636\u0631\u0631 \u0648 \u062d\u062f\u0627\u06a9\u062b\u0631 \u0627\u06a9\u0633\u067e\u0648\u0698\u0631:<\/strong> \u0628\u0631\u0627\u06cc \u0647\u0631 \u0633\u0641\u0627\u0631\u0634 \u062d\u062f \u0636\u0631\u0631 \u0648 \u0645\u0642\u062f\u0627\u0631 \u062d\u062f\u0627\u06a9\u062b\u0631\u06cc \u0627\u06a9\u0633\u067e\u0648\u0698\u0631 \u0631\u0627 \u062a\u0639\u06cc\u06cc\u0646 \u06a9\u0646\u06cc\u062f.<\/li>\n<li class=\"wp-block-paragraph\"><strong>\u0648\u0636\u0639\u06cc\u062a \u062d\u0633\u0627\u0628 API:<\/strong> \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627 \u0648 \u0648\u0636\u0639\u06cc\u062a KYC \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n<li class=\"wp-block-paragraph\"><strong>Circuit breaker:<\/strong> \u062f\u0631 \u0635\u0648\u0631\u062a \u0627\u0641\u0632\u0627\u06cc\u0634 \u062e\u0637\u0627\u0647\u0627 \u06cc\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 latency \u0634\u062f\u06cc\u062f\u060c \u0631\u0628\u0627\u062a \u0631\u0627 \u0645\u062a\u0648\u0642\u0641 \u06a9\u0646\u06cc\u062f.<\/li>\n<li class=\"wp-block-paragraph\"><strong>\u0645\u0627\u0646\u06cc\u062a\u0648\u0631\u06cc\u0646\u06af \u0633\u0644\u0627\u0645\u062a:<\/strong> uptime\u060c latency \u0648 \u0648\u0636\u0639\u06cc\u062a fills \u0631\u0627 \u0645\u0627\u0646\u06cc\u062a\u0648\u0631 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0631\u0627\u06cc \u062a\u06cc\u0645 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc alert \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n<div class=\"pk-alert pk-alert-info\" role=\"alert\" >\n\u0627\u0646\u062f\u0627\u0632\u0647\u200c\u06af\u06cc\u0631\u06cc \u062f\u0642\u06cc\u0642 latency \u0627\u0632 \u062f\u0631\u06cc\u0627\u0641\u062a \u0622\u0644\u0627\u0631\u0645 \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u0633\u0641\u0627\u0631\u0634 \u0631\u0648\u06cc \u0627\u06a9\u0633\u0686\u0646\u062c\u060c \u0628\u0631\u0627\u06cc \u062a\u062d\u0644\u06cc\u0644 \u0639\u0645\u0644\u06a9\u0631\u062f \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u062d\u06cc\u0627\u062a\u06cc \u0627\u0633\u062a.<br \/>\n<\/div>\n<p>&nbsp;<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\"><span id=\"%d8%ac%d9%85%d8%b9%d8%a8%d9%86%d8%af%db%8c\">\u062c\u0645\u0639\u200c\u0628\u0646\u062f\u06cc<\/span><\/h2>\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627 \u0645\u0631\u0627\u062d\u0644 \u0627\u0635\u0644\u06cc \u0627\u0632 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u0648 \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u062f\u0631 Pine Script (\u0646\u0633\u062e\u0647\u0654 5)\u060c \u0633\u0627\u062e\u062a \u0622\u0644\u0627\u0631\u0645 \u0648\u0628\u0647\u0648\u06a9\u06cc \u062f\u0631 TradingView\u060c \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0633\u0631\u0648\u0631 \u0627\u0645\u0646 \u0628\u0627 Flask\/ccxt\u060c \u062a\u0627 \u0646\u06a9\u0627\u062a \u0645\u0647\u0645 \u0627\u0645\u0646\u06cc\u062a\u06cc\u060c \u0627\u0646\u062a\u062e\u0627\u0628 \u0644\u0648\u06a9\u06cc\u0634\u0646 \u062f\u06cc\u062a\u0627\u0633\u0646\u062a\u0631 \u0648 \u06a9\u0627\u0646\u0641\u06cc\u06af\u200c\u0647\u0627\u06cc \u067e\u06cc\u0634\u0646\u0647\u0627\u062f\u06cc \u0633\u0631\u0648\u0631 \u0631\u0627 \u067e\u0648\u0634\u0634 \u062f\u0627\u062f.<\/p>\n<p class=\"wp-block-paragraph\">\u0686\u0646\u0627\u0646\u0686\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0631\u0627\u0647\u200c\u062d\u0644\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631\u0633\u0627\u062e\u062a\u06cc \u0634\u0627\u0645\u0644 VPS \u0628\u0627 \u06a9\u0645\u200c\u062a\u0631\u06cc\u0646 \u062a\u0623\u062e\u06cc\u0631\u060c \u0633\u0631\u0648\u0631 \u0636\u062f DDoS \u06cc\u0627 \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u0633\u0631\u0648\u0631 \u06af\u0631\u0627\u0641\u06cc\u06a9\u06cc \u0628\u0631\u0627\u06cc \u067e\u0631\u062f\u0627\u0632\u0634\u200c\u0647\u0627\u06cc \u0633\u0646\u06af\u06cc\u0646 \u062f\u0627\u0631\u06cc\u062f\u060c \u0634\u0631\u06a9\u062a \u0645\u0627 \u0628\u0627 \u0628\u06cc\u0634 \u0627\u0632 85 \u0644\u0648\u06a9\u06cc\u0634\u0646 \u062c\u0647\u0627\u0646\u06cc \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646\u0627\u062a \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0632\u06cc\u0631\u0633\u0627\u062e\u062a \u0634\u0645\u0627 \u0631\u0627 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0648 \u0628\u0647\u06cc\u0646\u0647 \u06a9\u0646\u062f.<\/p>\n<p>&nbsp;<\/p>\n<h2 class=\"wp-block-heading\" id=\"h-faq\"><span id=\"%d8%b3%d8%a4%d8%a7%d9%84%d8%a7%d8%aa-%d9%85%d8%aa%d8%af%d8%a7%d9%88%d9%84\">\u0633\u0624\u0627\u0644\u0627\u062a \u0645\u062a\u062f\u0627\u0648\u0644<\/span><\/h2>\n<div id=\"collapsibles-6a03a9d5b9225\" class=\"pk-collapsibles\" role=\"tablist\" aria-multiselectable=\"true\">\n<div class=\"pk-collapsible pk-card \">\n\t\t\t<div class=\"pk-card-header\" role=\"tab\" id=\"card-6a03a9d5b9186\">\n\t\t\t\t<h6 class=\"pk-card-title pk-title\">\n\t\t\t\t\t<a data-toggle=\"collapse\" class=\"pk-font-heading\" href=\"#pk-collapse-6a03a9d5b9186\" data-parent=\"#pk-collapsibles-6a03a9d5b9225\" aria-controls=\"collapse-6a03a9d5b9186\">\n\t\t\t\t\t\t\u06f1. \u0628\u0647\u062a\u0631\u06cc\u0646 \u0644\u0648\u06a9\u06cc\u0634\u0646 \u0633\u0631\u0648\u0631 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0647\u0634 \u067e\u06cc\u0646\u06af \u0686\u06cc\u0633\u062a\u061f\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/h6>\n\t\t\t<\/div>\n\n\t\t\t<div id=\"pk-collapse-6a03a9d5b9186\" class=\"pk-collapse\" style=\"display:none;\" role=\"tabpanel\" aria-labelledby=\"card-6a03a9d5b9186\">\n\t\t\t\t<div class=\"pk-card-body\">\n\t\t\t\t\t\n\u0646\u0632\u062f\u06cc\u06a9\u200c\u062a\u0631\u06cc\u0646 \u062f\u06cc\u062a\u0627\u0633\u0646\u062a\u0631 \u0628\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0645\u0642\u0635\u062f \u06cc\u0627 \u0635\u0631\u0627\u0641\u06cc \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u06a9\u0645\u062a\u0631\u06cc\u0646 \u067e\u06cc\u0646\u06af \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f.<br \/>\n\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\n<div class=\"pk-collapsible pk-card \">\n\t\t\t<div class=\"pk-card-header\" role=\"tab\" id=\"card-6a03a9d5b91bb\">\n\t\t\t\t<h6 class=\"pk-card-title pk-title\">\n\t\t\t\t\t<a data-toggle=\"collapse\" class=\"pk-font-heading\" href=\"#pk-collapse-6a03a9d5b91bb\" data-parent=\"#pk-collapsibles-6a03a9d5b9225\" aria-controls=\"collapse-6a03a9d5b91bb\">\n\t\t\t\t\t\t\u06f2. \u0686\u06af\u0648\u0646\u0647 \u067e\u06cc\u0627\u0645 TradingView \u0631\u0627 \u0627\u0645\u0646 \u06a9\u0646\u0645\u061f\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/h6>\n\t\t\t<\/div>\n\n\t\t\t<div id=\"pk-collapse-6a03a9d5b91bb\" class=\"pk-collapse\" style=\"display:none;\" role=\"tabpanel\" aria-labelledby=\"card-6a03a9d5b91bb\">\n\t\t\t\t<div class=\"pk-card-body\">\n\t\t\t\t\t\n\u0627\u0632 HMAC-SHA256 \u0628\u0631\u0627\u06cc \u0627\u0645\u0636\u0627\u06cc \u067e\u06cc\u0627\u0645\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u06a9\u0644\u06cc\u062f \u0627\u0645\u0636\u0627 \u0631\u0627 \u062f\u0631 \u0633\u0631\u0648\u0631 \u0627\u0645\u0646 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f.<br \/>\n\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\n<div class=\"pk-collapsible pk-card \">\n\t\t\t<div class=\"pk-card-header\" role=\"tab\" id=\"card-6a03a9d5b91e1\">\n\t\t\t\t<h6 class=\"pk-card-title pk-title\">\n\t\t\t\t\t<a data-toggle=\"collapse\" class=\"pk-font-heading\" href=\"#pk-collapse-6a03a9d5b91e1\" data-parent=\"#pk-collapsibles-6a03a9d5b9225\" aria-controls=\"collapse-6a03a9d5b91e1\">\n\t\t\t\t\t\t\u06f3. \u0622\u06cc\u0627 \u0628\u0627\u06cc\u062f \u0627\u0632 Docker \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645 \u06cc\u0627 systemd\u061f\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/h6>\n\t\t\t<\/div>\n\n\t\t\t<div id=\"pk-collapse-6a03a9d5b91e1\" class=\"pk-collapse\" style=\"display:none;\" role=\"tabpanel\" aria-labelledby=\"card-6a03a9d5b91e1\">\n\t\t\t\t<div class=\"pk-card-body\">\n\t\t\t\t\t\n\u0647\u0631 \u062f\u0648 \u0631\u0648\u0634 \u0645\u0639\u062a\u0628\u0631\u0646\u062f\u061b Docker \u0628\u0631\u0627\u06cc \u0627\u06cc\u0632\u0648\u0644\u0647\u200c\u0633\u0627\u0632\u06cc \u0648 \u062c\u0627\u0628\u0647\u200c\u062c\u0627\u06cc\u06cc \u0633\u0627\u062f\u0647\u200c\u062a\u0631 \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a \u0648 systemd \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0645\u0633\u062a\u0642\u06cc\u0645 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0627\u0633\u062a.<br \/>\n\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\n<div class=\"pk-collapsible pk-card \">\n\t\t\t<div class=\"pk-card-header\" role=\"tab\" id=\"card-6a03a9d5b9206\">\n\t\t\t\t<h6 class=\"pk-card-title pk-title\">\n\t\t\t\t\t<a data-toggle=\"collapse\" class=\"pk-font-heading\" href=\"#pk-collapse-6a03a9d5b9206\" data-parent=\"#pk-collapsibles-6a03a9d5b9225\" aria-controls=\"collapse-6a03a9d5b9206\">\n\t\t\t\t\t\t\u06f4. \u0686\u06af\u0648\u0646\u0647 \u062a\u0627\u062e\u06cc\u0631 \u0627\u062c\u0631\u0627\u06cc \u0633\u0641\u0627\u0631\u0634 \u0631\u0627 \u0627\u0646\u062f\u0627\u0632\u0647\u200c\u06af\u06cc\u0631\u06cc \u06a9\u0646\u0645\u061f\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/h6>\n\t\t\t<\/div>\n\n\t\t\t<div id=\"pk-collapse-6a03a9d5b9206\" class=\"pk-collapse\" style=\"display:none;\" role=\"tabpanel\" aria-labelledby=\"card-6a03a9d5b9206\">\n\t\t\t\t<div class=\"pk-card-body\">\n\t\t\t\t\t\n\u0632\u0645\u0627\u0646 \u062f\u0631\u06cc\u0627\u0641\u062a \u0648\u0628\u0647\u0648\u06a9 \u0631\u0627 \u0644\u0627\u06af \u06a9\u0646\u06cc\u062f \u0648 \u0632\u0645\u0627\u0646 \u067e\u0627\u0633\u062e API \u0627\u06a9\u0633\u0686\u0646\u062c \u0631\u0627 \u062b\u0628\u062a \u06a9\u0646\u06cc\u062f\u061b \u0627\u062e\u062a\u0644\u0627\u0641 \u0627\u06cc\u0646 \u062f\u0648 \u0632\u0645\u0627\u0646 \u0645\u0639\u06cc\u0627\u0631 latency \u0627\u0633\u062a.<br \/>\n\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\n<\/div>\n\t\t\n<p><script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"\u0628\u0647\u062a\u0631\u06cc\u0646 \u0644\u0648\u06a9\u06cc\u0634\u0646 \u0633\u0631\u0648\u0631 \u0628\u0631\u0627\u06cc \u06a9\u0627\u0647\u0634 \u067e\u06cc\u0646\u06af \u0686\u06cc\u0633\u062a\u061f\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"\u0646\u0632\u062f\u06cc\u06a9\u200c\u062a\u0631\u06cc\u0646 \u062f\u06cc\u062a\u0627\u0633\u0646\u062a\u0631 \u0628\u0647 \u0633\u0631\u0648\u06cc\u0633 \u0645\u0642\u0635\u062f \u06cc\u0627 \u0635\u0631\u0627\u0641\u06cc \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u06a9\u0645\u062a\u0631\u06cc\u0646 \u067e\u06cc\u0646\u06af \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f.\"}},{\"@type\":\"Question\",\"name\":\"\u0686\u06af\u0648\u0646\u0647 \u067e\u06cc\u0627\u0645 TradingView \u0631\u0627 \u0627\u0645\u0646 \u06a9\u0646\u0645\u061f\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"\u0627\u0632 HMAC-SHA256 \u0628\u0631\u0627\u06cc \u0627\u0645\u0636\u0627\u06cc \u067e\u06cc\u0627\u0645\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u06a9\u0644\u06cc\u062f \u0627\u0645\u0636\u0627 \u0631\u0627 \u062f\u0631 \u0633\u0631\u0648\u0631 \u0627\u0645\u0646 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f.\"}},{\"@type\":\"Question\",\"name\":\"\u0622\u06cc\u0627 \u0628\u0627\u06cc\u062f \u0627\u0632 Docker \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645 \u06cc\u0627 systemd\u061f\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"\u0647\u0631 \u062f\u0648 \u0631\u0648\u0634 \u0645\u0639\u062a\u0628\u0631\u0646\u062f\u061b Docker \u0628\u0631\u0627\u06cc \u0627\u06cc\u0632\u0648\u0644\u0647\u200c\u0633\u0627\u0632\u06cc \u0648 \u062c\u0627\u0628\u0647\u200c\u062c\u0627\u06cc\u06cc \u0633\u0627\u062f\u0647\u200c\u062a\u0631 \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a \u0648 systemd \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u0645\u0633\u062a\u0642\u06cc\u0645 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0627\u0633\u062a.\"}},{\"@type\":\"Question\",\"name\":\"\u0686\u06af\u0648\u0646\u0647 \u062a\u0627\u062e\u06cc\u0631 \u0627\u062c\u0631\u0627\u06cc \u0633\u0641\u0627\u0631\u0634 \u0631\u0627 \u0627\u0646\u062f\u0627\u0632\u0647\u200c\u06af\u06cc\u0631\u06cc \u06a9\u0646\u0645\u061f\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"\u0632\u0645\u0627\u0646 \u062f\u0631\u06cc\u0627\u0641\u062a \u0648\u0628\u0647\u0648\u06a9 \u0631\u0627 \u0644\u0627\u06af \u06a9\u0646\u06cc\u062f \u0648 \u0632\u0645\u0627\u0646 \u067e\u0627\u0633\u062e API \u0627\u06a9\u0633\u0686\u0646\u062c \u0631\u0627 \u062b\u0628\u062a \u06a9\u0646\u06cc\u062f\u061b \u0627\u062e\u062a\u0644\u0627\u0641 \u0627\u06cc\u0646 \u062f\u0648 \u0632\u0645\u0627\u0646 \u0645\u0639\u06cc\u0627\u0631 latency \u0627\u0633\u062a.\"}}]}<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"\u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0622\u0645\u0648\u0632\u0634 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631\u0647\u0627\u06cc\u06cc \u0631\u0627 \u062f\u0631 TradingView \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Pine Script \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0635\u0631\u0627\u0641\u06cc\u200c\u0647\u0627 \u0645\u062a\u0635\u0644 \u06a9\u0646\u06cc\u062f. \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc\u060c \u0627\u0645\u0646\u06cc\u062a \u0648 \u0646\u06a9\u0627\u062a \u0641\u0646\u06cc \u0628\u0631\u0627\u06cc \u062a\u0631\u06cc\u062f \u0627\u06cc\u0645\u0646 \u0648 \u0645\u0624\u062b\u0631 \u0646\u06cc\u0632 \u0645\u0648\u0631\u062f \u0628\u062d\u062b \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f.\n","protected":false},"author":8,"featured_media":17593,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"\u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0648 \u0627\u0645\u0646\u06cc\u062a \u062a\u0631\u06cc\u062f. \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0634\u0648\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0628\u0647\u06cc\u0646\u0647\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u06a9\u0627\u0631\u0647\u0627 \u062f\u0633\u062a \u06cc\u0627\u0628\u06cc\u062f.","_yoast_wpseo_canonical":"","_yoast_wpseo_opengraph-description":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0648 \u0627\u0645\u0646\u06cc\u062a \u062a\u0631\u06cc\u062f. \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0634\u0648\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0628\u0647\u06cc\u0646\u0647\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u06a9\u0627\u0631\u0647\u0627 \u062f\u0633\u062a \u06cc\u0627\u0628\u06cc\u062f.","_yoast_wpseo_opengraph-image":"","_yoast_wpseo_twitter-description":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0648 \u0627\u0645\u0646\u06cc\u062a \u062a\u0631\u06cc\u062f. \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0634\u0648\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0628\u0647\u06cc\u0646\u0647\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u06a9\u0627\u0631\u0647\u0627 \u062f\u0633\u062a \u06cc\u0627\u0628\u06cc\u062f.","_yoast_wpseo_twitter-image":"","_yoast_wpseo_focuskeywords":"[]","_yoast_wpseo_primary_category":"515","footnotes":""},"categories":[193,515],"tags":[414,425,498],"class_list":{"0":"post-17591","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tutorials","8":"category-fintech","9":"tag-api","10":"tag-bot","11":"tag-498"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062a\u0631\u06cc\u062f - \u0628\u0644\u0627\u06af ITPiran<\/title>\n<meta name=\"description\" content=\"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0648 \u0627\u0645\u0646\u06cc\u062a \u062a\u0631\u06cc\u062f. \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0634\u0648\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0628\u0647\u06cc\u0646\u0647\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u06a9\u0627\u0631\u0647\u0627 \u062f\u0633\u062a \u06cc\u0627\u0628\u06cc\u062f.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/\" \/>\n<meta property=\"og:locale\" content=\"fa_IR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062a\u0631\u06cc\u062f - \u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"og:description\" content=\"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0648 \u0627\u0645\u0646\u06cc\u062a \u062a\u0631\u06cc\u062f. \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0634\u0648\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0628\u0647\u06cc\u0646\u0647\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u06a9\u0627\u0631\u0647\u0627 \u062f\u0633\u062a \u06cc\u0627\u0628\u06cc\u062f.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-17T18:07:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-17T18:16:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.itpiran.net\/2025\/12\/17213650\/writing-indicators-in-tradingview-17591.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1654\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Elahe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0648 \u0627\u0645\u0646\u06cc\u062a \u062a\u0631\u06cc\u062f. \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0634\u0648\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0628\u0647\u06cc\u0646\u0647\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u06a9\u0627\u0631\u0647\u0627 \u062f\u0633\u062a \u06cc\u0627\u0628\u06cc\u062f.\" \/>\n<meta name=\"twitter:label1\" content=\"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elahe\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 \u062f\u0642\u06cc\u0642\u0647\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/fintech\\\/writing-indicators-in-tradingview\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/fintech\\\/writing-indicators-in-tradingview\\\/\"},\"author\":{\"name\":\"Elahe\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/f302f8428a00aaa2cabd5752d9c8fa65\"},\"headline\":\"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062a\u0631\u06cc\u062f\",\"datePublished\":\"2025-12-17T18:07:18+00:00\",\"dateModified\":\"2025-12-17T18:16:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/fintech\\\/writing-indicators-in-tradingview\\\/\"},\"wordCount\":263,\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/fintech\\\/writing-indicators-in-tradingview\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2025\\\/12\\\/17213650\\\/writing-indicators-in-tradingview-17591.webp\",\"keywords\":[\"API\",\"bot\",\"\u062a\u0631\u06cc\u062f \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0631\u0632 \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644\"],\"articleSection\":[\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"\u0641\u06cc\u0646\u200c\u062a\u06a9\"],\"inLanguage\":\"fa-IR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/fintech\\\/writing-indicators-in-tradingview\\\/\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/fintech\\\/writing-indicators-in-tradingview\\\/\",\"name\":\"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062a\u0631\u06cc\u062f - \u0628\u0644\u0627\u06af ITPiran\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/fintech\\\/writing-indicators-in-tradingview\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/fintech\\\/writing-indicators-in-tradingview\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2025\\\/12\\\/17213650\\\/writing-indicators-in-tradingview-17591.webp\",\"datePublished\":\"2025-12-17T18:07:18+00:00\",\"dateModified\":\"2025-12-17T18:16:07+00:00\",\"description\":\"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0648 \u0627\u0645\u0646\u06cc\u062a \u062a\u0631\u06cc\u062f. \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0634\u0648\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0628\u0647\u06cc\u0646\u0647\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u06a9\u0627\u0631\u0647\u0627 \u062f\u0633\u062a \u06cc\u0627\u0628\u06cc\u062f.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/fintech\\\/writing-indicators-in-tradingview\\\/#breadcrumb\"},\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/fintech\\\/writing-indicators-in-tradingview\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/fintech\\\/writing-indicators-in-tradingview\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2025\\\/12\\\/17213650\\\/writing-indicators-in-tradingview-17591.webp\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2025\\\/12\\\/17213650\\\/writing-indicators-in-tradingview-17591.webp\",\"width\":1654,\"height\":1024,\"caption\":\"\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0634\u0645\u0627 \u0628\u0627 \u0646\u062d\u0648\u0647 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0648 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0622\u0646 \u0628\u0647 \u0635\u0648\u0631\u062a \u0642\u062f\u0645 \u0628\u0647 \u0642\u062f\u0645 \u0622\u0634\u0646\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u0634\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u0646\u06a9\u0627\u062a \u0645\u0647\u0645 \u062f\u0631 \u0632\u0645\u06cc\u0646\u0647 \u0627\u0645\u0646\u06cc\u062a \u0648 \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0635\u0631\u0627\u0641\u06cc\u200c\u0647\u0627 \u0646\u06cc\u0632 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/fintech\\\/writing-indicators-in-tradingview\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0641\u06cc\u0646\u200c\u062a\u06a9\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/category\\\/fintech\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062a\u0631\u06cc\u062f\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"name\":\"\u0628\u0644\u0627\u06af ITPiran\",\"description\":\"\u0627\u062e\u0628\u0627\u0631 \u0648 \u0645\u0642\u0627\u0644\u0627\u062a \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fa-IR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\",\"name\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"alternateName\":\"ITPIran Blog\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"width\":512,\"height\":512,\"caption\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/f302f8428a00aaa2cabd5752d9c8fa65\",\"name\":\"Elahe\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/author\\\/elahe\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062a\u0631\u06cc\u062f - \u0628\u0644\u0627\u06af ITPiran","description":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0648 \u0627\u0645\u0646\u06cc\u062a \u062a\u0631\u06cc\u062f. \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0634\u0648\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0628\u0647\u06cc\u0646\u0647\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u06a9\u0627\u0631\u0647\u0627 \u062f\u0633\u062a \u06cc\u0627\u0628\u06cc\u062f.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/","og_locale":"fa_IR","og_type":"article","og_title":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062a\u0631\u06cc\u062f - \u0628\u0644\u0627\u06af ITPiran","og_description":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0648 \u0627\u0645\u0646\u06cc\u062a \u062a\u0631\u06cc\u062f. \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0634\u0648\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0628\u0647\u06cc\u0646\u0647\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u06a9\u0627\u0631\u0647\u0627 \u062f\u0633\u062a \u06cc\u0627\u0628\u06cc\u062f.","og_url":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/","og_site_name":"\u0628\u0644\u0627\u06af ITPiran","article_published_time":"2025-12-17T18:07:18+00:00","article_modified_time":"2025-12-17T18:16:07+00:00","og_image":[{"width":1654,"height":1024,"url":"https:\/\/cdn.itpiran.net\/2025\/12\/17213650\/writing-indicators-in-tradingview-17591.webp","type":"image\/webp"}],"author":"Elahe","twitter_card":"summary_large_image","twitter_description":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0648 \u0627\u0645\u0646\u06cc\u062a \u062a\u0631\u06cc\u062f. \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0634\u0648\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0628\u0647\u06cc\u0646\u0647\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u06a9\u0627\u0631\u0647\u0627 \u062f\u0633\u062a \u06cc\u0627\u0628\u06cc\u062f.","twitter_misc":{"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a":"Elahe","\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646":"8 \u062f\u0642\u06cc\u0642\u0647"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/#article","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/"},"author":{"name":"Elahe","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/f302f8428a00aaa2cabd5752d9c8fa65"},"headline":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062a\u0631\u06cc\u062f","datePublished":"2025-12-17T18:07:18+00:00","dateModified":"2025-12-17T18:16:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/"},"wordCount":263,"publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2025\/12\/17213650\/writing-indicators-in-tradingview-17591.webp","keywords":["API","bot","\u062a\u0631\u06cc\u062f \u062e\u0648\u062f\u06a9\u0627\u0631 \u0627\u0631\u0632 \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644"],"articleSection":["\u0622\u0645\u0648\u0632\u0634\u06cc","\u0641\u06cc\u0646\u200c\u062a\u06a9"],"inLanguage":"fa-IR"},{"@type":"WebPage","@id":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/","url":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/","name":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062a\u0631\u06cc\u062f - \u0628\u0644\u0627\u06af ITPiran","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/#primaryimage"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2025\/12\/17213650\/writing-indicators-in-tradingview-17591.webp","datePublished":"2025-12-17T18:07:18+00:00","dateModified":"2025-12-17T18:16:07+00:00","description":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0634\u0627\u0645\u0644 \u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0648\u0628\u0647\u0648\u06a9 \u0648 \u0627\u0645\u0646\u06cc\u062a \u062a\u0631\u06cc\u062f. \u0628\u0627 \u0645\u0627 \u0647\u0645\u0631\u0627\u0647 \u0634\u0648\u06cc\u062f \u062a\u0627 \u0628\u0647 \u0628\u0647\u06cc\u0646\u0647\u200c\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u06a9\u0627\u0631\u0647\u0627 \u062f\u0633\u062a \u06cc\u0627\u0628\u06cc\u062f.","breadcrumb":{"@id":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/#breadcrumb"},"inLanguage":"fa-IR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/"]}]},{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/#primaryimage","url":"https:\/\/cdn.itpiran.net\/2025\/12\/17213650\/writing-indicators-in-tradingview-17591.webp","contentUrl":"https:\/\/cdn.itpiran.net\/2025\/12\/17213650\/writing-indicators-in-tradingview-17591.webp","width":1654,"height":1024,"caption":"\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0634\u0645\u0627 \u0628\u0627 \u0646\u062d\u0648\u0647 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0648 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0622\u0646 \u0628\u0647 \u0635\u0648\u0631\u062a \u0642\u062f\u0645 \u0628\u0647 \u0642\u062f\u0645 \u0622\u0634\u0646\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u0634\u062f. \u0647\u0645\u0686\u0646\u06cc\u0646 \u0646\u06a9\u0627\u062a \u0645\u0647\u0645 \u062f\u0631 \u0632\u0645\u06cc\u0646\u0647 \u0627\u0645\u0646\u06cc\u062a \u0648 \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 \u0635\u0631\u0627\u0641\u06cc\u200c\u0647\u0627 \u0646\u06cc\u0632 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f."},{"@type":"BreadcrumbList","@id":"https:\/\/www.itpiran.net\/blog\/fintech\/writing-indicators-in-tradingview\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.itpiran.net\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0641\u06cc\u0646\u200c\u062a\u06a9","item":"https:\/\/www.itpiran.net\/blog\/category\/fintech\/"},{"@type":"ListItem","position":3,"name":"\u0622\u0645\u0648\u0632\u0634 \u0646\u0648\u0634\u062a\u0646 \u0627\u0646\u062f\u06cc\u06a9\u0627\u062a\u0648\u0631 \u062f\u0631 TradingView \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0648 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062a\u0631\u06cc\u062f"}]},{"@type":"WebSite","@id":"https:\/\/www.itpiran.net\/blog\/#website","url":"https:\/\/www.itpiran.net\/blog\/","name":"\u0628\u0644\u0627\u06af ITPiran","description":"\u0627\u062e\u0628\u0627\u0631 \u0648 \u0645\u0642\u0627\u0644\u0627\u062a \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646","publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.itpiran.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fa-IR"},{"@type":"Organization","@id":"https:\/\/www.itpiran.net\/blog\/#organization","name":"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646","alternateName":"ITPIran Blog","url":"https:\/\/www.itpiran.net\/blog\/","logo":{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","contentUrl":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","width":512,"height":512,"caption":"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/f302f8428a00aaa2cabd5752d9c8fa65","name":"Elahe","url":"https:\/\/www.itpiran.net\/blog\/author\/elahe\/"}]}},"_links":{"self":[{"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/posts\/17591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/comments?post=17591"}],"version-history":[{"count":2,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/posts\/17591\/revisions"}],"predecessor-version":[{"id":17599,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/posts\/17591\/revisions\/17599"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/media\/17593"}],"wp:attachment":[{"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/media?parent=17591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/categories?post=17591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/wp-json\/wp\/v2\/tags?post=17591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}