SDK strategy tester
معرفی تمپلیت استراتژی برای Pine Script و TradingView
در دنیای ترید خودکار، یکی از مهمترین چالشها اتصال اندیکاتورهای شخصی به رباتهای معاملاتی با ساختار دقیق و قابل اطمینان است. این تمپلیت استراتژی، بر پایه Pine Script نسخه ۵ طراحی شده و هدفش دقیقاً همین است:
تبدیل اندیکاتورهای شما به یک سیستم معاملاتی هوشمند و خودکار، بدون نیاز به دانش پیچیده برنامهنویسی.
این تمپلیت بهصورت کامل با ربات TradingView سازگار شده — رباتی که میتونه سیگنالهای صادرشده از TradingView رو از طریق Webhook به پلتفرمهای معاملاتی مختلفی مثل:
- Binance
- Bybit
- Coinbase
- Oanda
- Metatrader 4 / 5
ارسال و اجرا کنه.
چرا این تمپلیت ارزش استفاده داره؟
- فقط با دو خط کد ساده میتونی اندیکاتورت رو به سیستم متصل کنی
- بهصورت خودکار alertهای مخصوص TradingView ساخته میشن، بدون نیاز به نوشتن دستی
- تنظیمات دقیق برای مدیریت ریسک: حد ضرر، حد سود، تریلینگ استاپ، استاپلاس به نقطه سر به سر، و ...
- پشتیبانی کامل از انواع سفارشها (مارکت، لیمیت، استاپ)، تعیین حجم معامله، فیلتر اسپرد، فیلتر شرایط حساب و..
اتصال اندیکاتور چطوره؟
کافیه توی کد اندیکاتورت شرط صدور سیگنال خرید/فروش رو مشخص کنی و خروجیای بسازی که مقدار ۱ برای خرید و -۱ برای فروش داشته باشه. مثلاً:
Signal = buy ? 1 : sell ? -1 : 0
plot(Signal, title = "Signal", display = display.data_window)
سپس تمپلیت استراتژی رو به چارت اضافه کن و از بخش تنظیمات، دیتای سیگنال (Connector) رو از اندیکاتورت انتخاب کن. از اینجا به بعد، تمپلیت تمام کارهای لازم برای ساخت هشدارها و اجرای سیگنالها رو برات انجام میده.
در ادامهی این مستندات، تمامی تنظیمات این تمپلیت بهصورت کامل، مرحلهبهمرحله و با توضیحات دقیق آورده شده تا بتونی بسته به نیازت، هر بخش رو تنظیم و استفاده کنی.
Connected Indicator Source

با استفاده از این گزینه، مشخص میکنی که سیگنالهای خرید و فروش از کدوم اندیکاتورخونده بشن.
وقتی اندیکاتور اصلی خودتو به استراتژی متصل کردی، اینجا میتونی انتخاب کنی که از چه دیتایی استفاده کنه، مثلاً:
open
: قیمت باز شدن کندلhigh
: بیشترین قیمت کندلlow
: کمترین قیمت کندلclose
: قیمت بسته شدن کندلhl2
: میانگین high و lowhlc3
: میانگین high، low و closeohlc4
: میانگین open، high، low و closehlcc4
: میانگین high، low، close، close
PineConnector

توی این قسمت باید کد لایسنس PineConnector خودتو وارد کنی.
این کد همونیه که وقتی توی سایت PineConnector اکانت میسازی، بهت میده.
کجا پیداش کنم؟
داخل حساب کاربریPineConnector، توی داشبورد یا قسمت لایسنسها نوشته شده.
EA Risk Management

(مدیریت ریسک اکسپرت یا همون بات معاملاتی)
این قسمت برای زمانیه که نمیخوای بات همینجوری پشتسرهم پوزیشن باز کنه و بخاطر یه روند بد کل سرمایه رو از دست بدی
میتونی شرط بذاری که بات در شرایط خاص متوقف بشه .
Use Drawdown EA Halt?
اگه این گزینه رو فعال کنی، بات وقتی مقدار مشخصی از سرمایهت رو از دست بده، خودش رو متوقف میکنه.
- Mode: میتونی مشخص کنی که این ضرر به صورت درصدی یا دلاری (USD) حساب بشه.
- Max Drawdown: حد نهایی ضرر (مثلاً ۲۰٪ یا ۵۰۰۰ دلار)
Use Max Consecutive Days EA Halt?
اگه بات چند روز پشتسرهم ضرر بده، این گزینه باعث میشه بات رو متوقف کنه تا از ادامه ضرر جلوگیری شه.
- Max Consecutive Days: تعداد روزهایی که پشتسرهم ضرر مجازه (مثلاً ۳ روز)
Use Max Losing Streak?
این یکی هم برای کنترل پشتسرهم ضرر دادن تریده، نه روزها.
- Max Losing Streak Length: تعداد پوزیشنهای ضرردهای که پشت سر هم باشه تا بات متوقف شه (مثلاً ۱۵ پوزیشن)
Use Margin Call?
وقتی ضرر به یه حد نزدیک به کال مارجین رسید، باتو خاموش میکنه تا از لیکویید شدن جلوگیری کنه.
- Margin Call (%): درصد نزدیکشدن به کال مارجین که میخوای بات متوقف شه (مثلاً ۱۰٪ فاصله)
Use Close EA Total Loss?
وقتی مجموع ضرر کل معاملات به یه عدد خاص برسه، بات همه معاملات رو میبنده و متوقف میشه.
- Total Loss ($): حداکثر ضرر مجاز به دلار (مثلاً -۵۰۰۰ دلار)
Intraday EA Risk Management

(مدیریت ریسک روزانه برای اکسپرت)
اگه باتت توی یه روز معاملاتی ضرر زیاد بده، این بخش بهت کمک میکنه زودتر جلوشو بگیری.
Use Intraday Losses EA Halt?
اگه فعالش کنی، بات در صورت رسیدن به یه مقدار ضرر مشخص در طول روز، متوقف میشه.
- Mode: مشخص میکنی که ضرر به صورت درصدی (%) باشه یا دلاری (USD).
- Max Intraday Losses: حداکثر مقدار ضرری که در طول یک روز مجازه (مثلاً ۳٪)
Use Limit Intraday Trades?
با این گزینه میتونی تعداد تریدهای روزانه رو محدود کنی. مناسب برای کنترل حجم معاملات در روزهای پرنوسان یا بیهدف.
- Max Intraday Trades: بیشترین تعداد تریدی که بات میتونه در طول یک روز انجام بده (مثلاً ۵ ترید)
Use Restart Intraday EA?
اگه تیک این گزینه رو بزنی، بات میتونه بعد از توقف روزانه، خودش رو دوباره راهاندازی کنه (معمولاً بعد از یه شرایط خاص یا تایم خاص).
EA Spread Filter

(فیلتر اسپرد برای ورود به پوزیشن)
با فعالکردن این گزینه، ربات فقط زمانی وارد معامله میشه که اسپرد (اختلاف قیمت خرید و فروش) از یه حد مشخص کمتر باشه.
Use Spread Filter?
فعالش کن تا شرط محدودیت اسپرد اعمال بشه.
- Spread Value (pips): حداکثر اسپرد مجاز برای ورود به معامله رو به پیپ وارد کن.
مثلاً: ۳.۵ پیپ
یعنی اگه اسپرد بیشتر از ۳.۵ باشه، ربات اصلاً وارد پوزیشن نمیشه.
به چه دردی میخوره؟
این تنظیم برای زمانهایی مفیده که بازار نوسان داره یا خارج از ساعات اصلی بازاره (مثل شبها یا اخبار اقتصادی) و اسپردها میزنن بالا. اینجوری از ورود اشتباهی در زمانهای نامناسب جلوگیری میکنی.
EA Account Filter

(فیلتر حساب برای کنترل شرایط ورود به پوزیشن)
با فعال کردن این گزینه، ربات فقط وقتی اجازه ورود به پوزیشن رو داره که شرایط خاصی از حساب معاملاتیت برقرار باشه.
Use Account Filter?
فعالش کن تا شرط بررسی وضعیت حساب فعال بشه.
- Account Balance/Equity (USD):
حداقل موجودی یا اکویتی که ربات فقط در صورتی اجازه معامله داره که این مقدار رعایت بشه.
مثلاً عدد1000
یعنی اگه موجودی یا اکویتی حساب کمتر از ۱۰۰۰ دلار باشه، ربات وارد پوزیشن نمیشه.
چه چیزایی رو میتونه بررسی کنه؟
- موجودی حساب (Balance)
- ارزش کل حساب (Equity)
- درصد مارجین (Margin %)
- مارجین آزاد (Free Margin)
Order Types

(نوع سفارش برای ورود به پوزیشن)
توی این قسمت مشخص میکنی که ربات با چه نوع سفارشی وارد معامله بشه. بسته به سبک ترید و شرایط بازار میتونی یکی از حالتها رو انتخاب کنی.
Order Type
- Market:
سفارش لحظهای. وقتی سیگنال صادر شد، ربات فوراً با بهترین قیمت فعلی وارد میشه. ، . - Limit:
سفارشی که فقط اگه قیمت به یه مقدار خاص (کمتر از قیمت فعلی برای خرید، یا بیشتر برای فروش) برسه، اجرا میشه.. - Stop:
برعکس Limit. سفارش فقط وقتی اجرا میشه که قیمت از یه حد مشخص عبور کنه. معمولاً برای تایید شکستها یا ادامه روند استفاده میشه.
Price
اینجا باید عدد قیمت موردنظر برای سفارش Limit یا Stop رو وارد کنی.
نکته: اگه Order Type روی Market باشه، این فیلد عملاً نادیده گرفته میشه.
Position Size

(حجم پوزیشن)
توی این قسمت مشخص میکنی که ربات با چه حجمی وارد معامله بشه.
Position Size
عددی که اینجا وارد میکنی، حجم پوزیشنیه که توی هر سیگنال باز میشه.
نکته مهم:
PineConnector برای اینکه درست کار کنه، الزامیه که این مقدار رو اینجا وارد کنی.
اگه توی تب Properties فقط واردش کرده باشی ولی این قسمت خالی بمونه، سیگنالها درست ساخته نمیشن.
Trades Direction

(جهت مجاز برای باز کردن معاملات)
با این گزینه مشخص میکنی که استراتژی اجازه داره در چه جهتی وارد پوزیشن بشه.
Direction
- all:
یعنی ربات میتونه هم معامله خرید (Buy) و هم فروش (Sell) باز کنه. (پیشفرض و حالت آزاد) - long only:
فقط اجازه داره پوزیشن خرید باز کنه. توی بازارهای صعودی یا بدون امکان فروش (مثل بعضی داراییهای اسپات) کاربرد داره. - short only:
فقط اجازه باز کردن پوزیشن فروش رو داره. برای وقتی که فقط دنبال گرفتن سود از نزول بازار هستی.
: General SL / TP

(تنظیم حالت کلی برای حد ضرر و حد سود)
توی این بخش مشخص میکنی که مقدار استاپلاس (SL) و تیکپرافیت (TP) بر اساس چی تعریف بشه.
Mode
- pips:
مقدار SL و TP رو به واحد پیپ وارد میکنی. مناسب برای تریدرهایی که با عدد دقیق فاصله از نقطه ورود کار میکنن (مثل فارکس). - usd:
مقدار SL و TP بر اساس دلار یا همون واحد ارزی حساب تعریف میشه. مناسب برای تریدرهایی که با مدیریت سرمایه دلاری کار میکنن - نکته مهم:
حتماً باید این تنظیم با همون حالت انتخابی در PineConnector داخل متاتریدر هم یکسان باشه تا همه چی درست اجرا بشه.
Stop Loss

(تعیین حد ضرر)
با فعالکردن این گزینه، ربات برای هر معامله یه حد ضرر تعریف میکنه تا جلوی ضرر بیشتر رو بگیره.
Use Stop Loss?
- اگه این گزینه رو تیک بزنی، فعال میشه و مقدار SL بر اساس فیلد پایین اعمال میشه.
Value
- عددی که اینجا وارد میکنی، نشوندهنده فاصلهی SL از نقطه ورود هست.
مقدارش بسته به حالتی که توی بخش SL/TP Mode انتخاب کردی، میتونه بر حسب پیپ یا دلار باشه.
مثلاً:
- اگه حالت روی pips باشه و بزنی
40
، یعنی حد ضرر ۴۰ پیپ با نقطه ورود فاصله داره. - اگه روی usd باشه، یعنی تا وقتی که ۴۰ دلار ضرر نکرده باشی، پوزیشن باز میمونه.
Trailing Stop Loss

(استاپلاس دنبالهرو)
با فعالکردن این گزینه، استاپلاس بهصورت خودکار همراه با حرکت قیمت به سمت سود حرکت میکنه — و سودتو قفل میکنه، بدون اینکه محدودش کنه!
Use Trailing Stop Loss?
- اگه فعالش کنی، ربات بهجای یه استاپلاس ثابت، از استاپلاس دنبالهدار استفاده میکنه.
Value
- مقدار فاصله بین قیمت فعلی و استاپلاس دنبالهدار (به واحدی که در بخش SL/TP Mode تعریف کردی: پیپ یا دلار).
مثال:
- مقدار
10
یعنی استاپلاس همیشه ۱۰ پیپ/دلار عقبتر از قیمت فعلی حرکت میکنه و فقط وقتی بازار برگرده، پوزیشن بسته میشه.
Take Profit 1

(برداشت سود مرحله اول)
این تنظیم بهت اجازه میده که بخشی از پوزیشن رو وقتی به یه مقدار سود مشخص رسید، ببندی و باقی پوزیشن رو باز نگه داری.
Use Take Profit 1?
- با فعال کردن این گزینه، ربات وقتی قیمت به مقدار مشخص شده برسه، بخشی از پوزیشن رو میبنده و سود رو سیو میکنه.
Value
- مقدار سود موردنظر برای فعال شدن این مرحله از برداشت.
بسته به تنظیم SL/TP Mode، این عدد میتونه بر حسب پیپ یا دلار باشه.
مثلاً:30
یعنی وقتی پوزیشن به ۳۰ پیپ یا ۳۰ دلار سود رسید، شرط TP1 فعال میشه.
Quantity (%)
- درصدی از کل پوزیشن که قراره در این مرحله بسته بشه.
مثلاً50
یعنی وقتی قیمت به TP1 برسه، نصف پوزیشن بسته میشه و سودش گرفته میشه، بقیه باز میمونه.
Take Profit 2

(برداشت سود مرحله دوم)
اگه بعد از فعال شدن TP1 بازار همچنان توی جهت مطلوبت حرکت کنه، این بخش بهت کمک میکنه باقیمونده پوزیشن رو تو یه سطح سود بالاتر ببندی.
Use Take Profit 2?
- وقتی فعالش کنی، یه مرحله دوم برای برداشت سود فعال میشه.
Value
- قیمتی که تو مرحله دوم سود گرفته میشه.
مثلاً50
یعنی وقتی پوزیشن به ۵۰ پیپ یا ۵۰ دلار سود برسه (بسته به حالت انتخابشده در SL/TP Mode)، باقیمونده پوزیشن بسته میشه.
نکته:
اگه TP1 فعال باشه و مثلاً فقط ۵۰٪ پوزیشن رو ببنده، TP2 با این تنظیم میتونه اون ۵۰٪ باقیمونده رو ببنده و کل سودو سیو کنه.
Break Even

(جابجایی استاپلاس به نقطه سربهسر)
با فعالکردن این گزینه، استاپلاس شما بعد از رسیدن به یه سود مشخص، به نقطه ورود منتقل میشه — یا کمی بالاتر از اون — تا معامله رو از حالت ضررده به حالت ریسک فری برسونه.
Use Stop Loss to Breakeven Mode?
- وقتی فعالش کنی، ربات بهصورت خودکار استاپلاس رو جابجا میکنه تا معامله بدون ریسک ادامه پیدا کنه.
Value (pips)
- بعد از چند پیپ سود، این ویژگی فعال بشه؟
مثلاً30
یعنی وقتی پوزیشن به ۳۰ پیپ سود رسید، استاپلاس منتقل میشه.
Offset (pips)
- چند پیپ بالاتر یا پایینتر از نقطه ورود قرار بگیره؟
مثلاً1
یعنی استاپلاس به نقطه ورود +۱ پیپ منتقل میشه، و معامله با مقدار خیلی کم سود بسته میشه اگه بازار برگرده.
Input Values

Inputs in status line
- وقتی این گزینه فعاله، مقدار تنظیمات ورودی (مثلاً استاپلاس، تیپی، ...)، توی نوار وضعیت اندیکاتور نمایش داده میشن.
فقط برای راحتی و شفافیت موقع استفاده روی چارت.