اسکریپت فارکس (Forex Script) یک قطعه کد برنامهنویسیشده به زبانهای MQL4 یا MQL5 است که برای اجرای سریع، دقیق و یکبارهی یک دستور معاملاتی مشخص در پلتفرمهای متاتریدر طراحی میشود. برخلاف اندیکاتورها که وظیفه تحلیل مداوم چارت را بر عهده دارند، اسکریپتها مستقیماً وارد فاز عملیاتی میشوند. معاملهگران با استفاده از این کدهای اجرایی میتوانند فرآیندهای زمانبری مانند بستن همزمان تمامی پوزیشنهای باز، حذف سریع اوردرهای پندینگ (Pending Orders) یا محاسبه دقیق حجم معامله (Lot Size) بر اساس بالانس حساب را در کسری از ثانیه انجام دهند. در محیط پرنوسان بازارهای مالی، تاخیر چند ثانیهای در اعمال دستورات میتواند منجر به اسلیپیج (Slippage) شدید و تغییر چشمگیر در سود یا زیان نهایی شود؛ بنابراین استفاده از اسکریپتها یک الزام برای بهینهسازی سرعت واکنش تریدرها محسوب میشود.
بسیاری از تریدرها اسکریپتها را با رباتهای معاملهگر اشتباه میگیرند. اسکریپتها فقط با یک بار کشیدن و رها کردن روی چارت اجرا شده و پس از اتمام ماموریتشان فوراً متوقف میشوند. اگر نیاز به ابزاری دارید که استراتژی شما را بهصورت کاملاً خودکار، پیوسته و بدون دخالت دست اجرا کند، آشنایی با نصب و استفاده از بهترین اکسپرتهای معاملاتی فارکس رویکرد منطقیتری برای مدیریت سرمایه شما خواهد بود. با این حال، برای مدیریت دستی و سریع سبد معاملاتی، اسکریپتها بیرقیب هستند.
| ویژگیهای فنی | مشخصات و کارکرد اسکریپت فارکس |
|---|---|
| ماهیت اسکریپت (Script) | کدهای برنامهنویسی شده برای اجرای سریع، یکباره و مستقیم دستورات معاملاتی. |
| کاربردهای عملیاتی | بستن گروهی پوزیشنهای باز، حذف سریع سفارشهای شرطی، محاسبه ریسک به ریوارد. |
| تفاوت با اکسپرت (EA) | اکسپرتها چرخه اجرای مداوم (Loop) دارند، اما اسکریپتها پس از یکبار اجرا متوقف میشوند. |
| تفاوت با اندیکاتور | اندیکاتورها روی تحلیل متمرکز هستند، اسکریپتها وظیفه ارسال اردر و اجرای عملیات را دارند. |
| زبان برنامهنویسی | توسعهیافته با زبانهای MQL4 (متاتریدر ۴) و MQL5 (متاتریدر ۵). |
| پسوند فایلهای اجرایی | فایلهای کامپایل شده (ex4. و ex5.) و فایلهای متنباز (mq4. و mq5.). |
اسکریپت فارکس در یک نگاه
اسکریپتها کدهای اجرایی کوچکی در پلتفرم متاتریدر هستند که برای انجام سریع یک عملیات معاملاتی خاص و تکراری تنها با یک کلیک طراحی شدهاند.
ماهیت کدنویسی
اسکریپت یک قطعه کد توسعهیافته با زبانهای MQL4/MQL5 است که دستورات مستقیم و بدون واسطه را به سرور بروکر ارسال میکند.
اجرای عملیات در لحظه
امکان انجام همزمان دهها دستور مانند بستن تمامی پوزیشنهای باز یا تنظیم گروهی حد ضرر (Stop Loss) در کمتر از یک ثانیه.
تفاوت ساختاری با ربات (EA)
اکسپرتها بهصورت مداوم در هر تیک قیمتی فعال هستند، اما اسکریپتها تنها یکبار و با فراخوانی تریدر اجرا شده و سپس خاموش میشوند.
محافظت در برابر Slippage
افزایش سرعت اجرای دستورات باعث کاهش خطای انسانی و جلوگیری از لغزش قیمت در زمان انتشار اخبار مهم اقتصادی (News Trading) میشود.
ویدئو آموزش: اسکریپت در بازار فارکس چیست؟
فایل صوتی آموزش اسکریپت در بازار فارکس
ماهیت اسکریپت فارکس (Forex Script) چیست و چگونه عمل میکند؟

اسکریپت فارکس برنامهای است که یک کد دستوری مشخص را در بستر پلتفرم متاتریدر به صورت یکباره کامپایل و اجرا میکند. این ابزارها مستقیماً به توابع API پلتفرم متصل میشوند تا بدون نیاز به تاییدهای چندمرحلهای کاربر، درخواستهای معاملاتی (مانند OrderSend یا OrderClose) را به سرور بروکر ارسال کنند.
اسکریپتها با زبان برنامهنویسی اختصاصی شرکت MetaQuotes نوشته میشوند. برای اینکه پلتفرم متاتریدر بتواند این کدهای خام (با پسوند mq4 یا mq5) را تفسیر کند، برنامهنویسان آنها را در محیط MetaEditor کامپایل کرده و به فایلهای اجرایی نهایی (ex4 و ex5) تبدیل میکنند. شما به عنوان یک تریدر نیازی به دانش کدنویسی ندارید؛ صرفاً فایل کامپایلشده را در پوشه Scripts قرار داده و با یک دابلکلیک یا کشیدن روی چارت، فرمان را صادر میکنید.
چگونه تنظیمات اولیه اسکریپت را در متاتریدر (MT4/MT5) فعال کنیم؟
برای اجرای بدون خطای هر نوع کد برنامهنویسی در متاتریدر (اعم از اسکریپت یا اکسپرت)، پلتفرم معاملاتی نیازمند دریافت مجوزهای امنیتی از سوی شماست. بدون فعالسازی قابلیتهای معاملاتی خودکار و اجازه دسترسی به کتابخانههای پیوندی پویا (DLL)، اسکریپتها در تب Journal ارور داده و اجرا نخواهند شد.

برای آمادهسازی پلتفرم، کلیدهای ترکیبی Ctrl+O را فشار دهید یا از منوی Tools گزینه Options را انتخاب کنید. وارد سربرگ Expert Advisors شوید و تیک گزینههای زیر را دقیقاً مطابق تصویر فعال کنید:
- فعالسازی گزینه Allow automated trading: این گزینه به متاتریدر اجازه میدهد تا درخواستهای معاملاتی تولید شده توسط کدهای اسکریپت را مستقیماً به سرور ارسال کند (بدون این تیک، اسکریپت فقط روی چارت لود میشود اما توانایی باز یا بستن پوزیشن را ندارد).
- فعالسازی گزینه Allow DLL imports: برخی اسکریپتهای پیشرفته برای انجام محاسبات سنگین ریاضی یا ارسال نوتیفیکیشنهای خارج از پلتفرم، نیاز به فراخوانی فایلهای DLL ویندوز دارند. تیک زدن این گزینه برای عملکرد صحیح آنها حیاتی است.
مجوز Allow DLL imports را تنها در صورتی فعال بگذارید که اسکریپت مورد نظر را از منابع کاملاً معتبر و تاییدشده (نظیر سایت تجارت فارکس یا انجمن رسمی MQL5) دریافت کرده باشید. فایلهای مخرب میتوانند از طریق این مجوز به سیستم شما آسیب برسانند.
چرا اسکریپت Close All (بستن گروهی معاملات) حیاتیترین ابزار تریدرهاست؟
اسکریپت کلوز آل (Close All) پرکاربردترین ابزار در میان معاملهگران پرایس اکشن و اسکالپرهاست. این اسکریپت طراحی شده تا در مواجهه با تغییرات ناگهانی روند (Trend Reversal)، تریدر را از پروسه فرسایشی بستن دستی دهها پوزیشن خلاص کرده و مدیریت ریسک را به بالاترین سطح خود برساند.

همانطور که در تصویر تنظیمات ورودی (Inputs) مشاهده میکنید، این ابزار امکان فیلتر کردن دقیق معاملات را فراهم میکند. شما میتوانید مشخص کنید دقیقاً چه نوع سفارشی با چه شرایطی از سرور حذف شود:
لغو یکجای تمامی سفارشهای Buy Limit ،Sell Limit ،Buy Stop و Sell Stop که فعال نشدهاند. این گزینه پس از نامعتبر شدن ستاپ تحلیلی کاربرد فراوانی دارد.
فقط پوزیشنهایی که دارای بالانس مثبت هستند بسته میشوند. این فیلتر برای تثبیت سریع سود (Take Profit) در زمان رسیدن قیمت به مقاومتهای کلیدی بازار مناسب است.
خروج اورژانسی از پوزیشنهای زیانده. این ویژگی برای جلوگیری از افت شدید سرمایه (Drawdown) و پیشگیری از رسیدن حساب به سطح کال مارجین (Call Margin) استفاده میشود.
راهنمای گامبهگام نصب اسکریپت سفارشی در متاتریدر چگونه است؟
متاتریدر به صورت پیشفرض شامل چند اسکریپت ساده (نظیر PeriodConverter) است، اما برای افزودن ابزارهای حرفهای باید فایلهای مربوطه را به صورت دستی در دایرکتوری نرمافزار قرار دهید. مراحل نصب برای متاتریدر ۴ و ۵ کاملاً یکسان بوده و تفاوت فقط در نام پوشه اصلی است.
- ابتدا فایل اجرایی اسکریپت (با فرمت .ex4 یا .ex5) را دانلود و کپی کنید.
- نرمافزار متاتریدر را باز کرده و از منوی File روی گزینه Open Data Folder کلیک کنید.
- در پنجره باز شده، وارد پوشه MQL4 (یا MQL5) شوید.
- پوشهای با نام Scripts را باز کرده و فایل خود را در این مسیر Paste کنید.
- مجدداً به متاتریدر بازگردید. در پنجره Navigator (سمت چپ پلتفرم)، روی بخش Scripts راستکلیک کرده و گزینه Refresh را بزنید تا اسکریپت جدید در لیست نمایان شود.
برای تسریع در اجرای اسکریپتها، میتوانید روی نام اسکریپت در پنجره Navigator راستکلیک کرده و گزینه Set hotkey را انتخاب کنید. با این کار میتوانید یک کلید میانبر (مثلاً Alt+C) به اسکریپت اختصاص دهید تا بدون نیاز به استفاده از موس، دستور اجرا شود.
تفاوت دقیق اسکریپت (Script) با اکسپرت (EA) و اندیکاتور در چیست؟
هر سه ابزار اسکریپت، اندیکاتور و اکسپرت با کدهای MQL برنامهنویسی میشوند، اما منطق اجرا (Execution Logic) و چرخه حیات (Lifecycle) آنها در متاتریدر کاملاً متفاوت است. درک این تفاوتها برای انتخاب ابزار درست حیاتی است.
| شاخص بررسی | اسکریپت فارکس (Script) | اکسپرت معاملاتی (EA) | اندیکاتور (Indicator) |
|---|---|---|---|
| ماهیت عملکرد | عملیاتی، یکبار مصرف و تهاجمی. | خودکار، پیوسته و استراتژیمحور. | تحلیلی، بصری و نمایش سیگنال. |
| چرخه اجرا (Loop) | فقط یکبار در لحظه فراخوانی اجرا و متوقف میشود (OnStart). | در هر تیک قیمتی (Tick) جدید، کدهای خود را مجدداً بررسی میکند (OnTick). | با هر تغییر قیمت روی نمودار محاسبات را بروزرسانی میکند (OnCalculate). |
| نیاز به فعالسازی Auto Trading | بله (برای ارسال اردر). | بله. | خیر. |
| دخالت تریدر | تریدر باید در زمان دلخواه ابزار را روی چارت بکشد. | کاملاً بدون دخالت تریدر (الگوریتمیک) معامله میکند. | تریدر باید تحلیل را ببیند و خودش تصمیم به معامله بگیرد. |
چه سناریوهای معاملاتی با اسکریپتها بهینهسازی میشوند؟
اسکریپتها بازوی اجرایی قدرتمندی برای معاملهگرانی هستند که استراتژیهای پیچیدهای دارند. در ادامه به چند کاربرد فنی که بدون اسکریپت امکانپذیر نیستند یا با خطای بالایی همراهند میپردازیم:
۱. تنظیم سریع حد ضرر (Stop Loss) و حد سود (Take Profit) گروهی:
فرض کنید به صورت دستی ۵ پوزیشن خرید روی جفت ارز EURUSD باز کردهاید و به دلیل حرکت سریع بازار فرصت تعیین حد ضرر نداشتهاید. اسکریپت Modify All به شما اجازه میدهد تا با یک کلیک، برای تمامی ۵ پوزیشن یک استاپ لاس مشخص (مثلاً ۳۰ پیپ پایینتر از قیمت ورود) و یک تارگت مشترک تعیین کنید.
۲. اجرای دقیق استراتژی هدجینگ و استرادل (Straddle Trading):
قبل از انتشار اخبار پرنوسان (مثل نرخ بهره فدرال رزرو)، بسیاری از تریدرها قصد دارند دقیقاً در یک نقطه همزمان یک سفارش Buy Stop و یک سفارش Sell Stop بکارند. انجام دستی این کار به دلیل اسپرد و سرعت قیمت، ناممکن است. اسکریپتهای News Trading این دو پوزیشن را در صدم ثانیه و دقیقاً روی سطوح مقاومتی و حمایتی از پیش تعیینشده قرار میدهند.
۳. مدیریت حجم معاملات (Lot Size Calculator):
محاسبه حجم مناسب معامله برای رعایت ریسک ۱ یا ۲ درصد در هر ترید، پروسهای زمانبر است. اسکریپتهای مدیریت سرمایه این امکان را فراهم میکنند که شما فقط خط حد ضرر را روی چارت رسم کنید و اسکریپت با محاسبه فاصله نقطه ورود تا استاپ، ارزش هر پیپ و بالانس حساب شما، دقیقترین حجم معامله را به صورت اتوماتیک باز کند.
