فهرست مطالب

اسکریپت فارکس (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) را به سرور بروکر ارسال کنند.

در زمان انتشار اخبار کلیدی مانند NFP، اسپردها به شدت واید (Wide) می‌شوند و نوسانات بازار در حد میلی‌ثانیه تغییر می‌کند. تلاش برای بستن دستی ۱۰ پوزیشن باز در چنین شرایطی، قطعا منجر به لغزش قیمتی (Slippage) وحشتناک و کاهش سود شما (گاهی تا ۲۰ پیپ اختلاف در هر پوزیشن) می‌شود. اجرای اسکریپت Close All در این لحظات، به جای یک ابزار ساده، نقش سپر محافظتی سرمایه (Drawdown Protector) را ایفا می‌کند.

اسکریپت‌ها با زبان برنامه‌نویسی اختصاصی شرکت MetaQuotes نوشته می‌شوند. برای اینکه پلتفرم متاتریدر بتواند این کدهای خام (با پسوند mq4 یا mq5) را تفسیر کند، برنامه‌نویسان آن‌ها را در محیط MetaEditor کامپایل کرده و به فایل‌های اجرایی نهایی (ex4 و ex5) تبدیل می‌کنند. شما به عنوان یک تریدر نیازی به دانش کدنویسی ندارید؛ صرفاً فایل کامپایل‌شده را در پوشه Scripts قرار داده و با یک دابل‌کلیک یا کشیدن روی چارت، فرمان را صادر می‌کنید.

چگونه تنظیمات اولیه اسکریپت را در متاتریدر (MT4/MT5) فعال کنیم؟

برای اجرای بدون خطای هر نوع کد برنامه‌نویسی در متاتریدر (اعم از اسکریپت یا اکسپرت)، پلتفرم معاملاتی نیازمند دریافت مجوزهای امنیتی از سوی شماست. بدون فعال‌سازی قابلیت‌های معاملاتی خودکار و اجازه دسترسی به کتابخانه‌های پیوندی پویا (DLL)، اسکریپت‌ها در تب Journal ارور داده و اجرا نخواهند شد.

تنظیمات فعال‌سازی اسکریپت و اکسپرت در نرم‌افزار متاتریدر ۴ و ۵

تنظیمات فعال‌سازی اسکریپت و اکسپرت در نرم‌افزار متاتریدر (Tools > Options > Expert Advisors)

برای آماده‌سازی پلتفرم، کلیدهای ترکیبی Ctrl+O را فشار دهید یا از منوی Tools گزینه Options را انتخاب کنید. وارد سربرگ Expert Advisors شوید و تیک گزینه‌های زیر را دقیقاً مطابق تصویر فعال کنید:

  • فعال‌سازی گزینه Allow automated trading: این گزینه به متاتریدر اجازه می‌دهد تا درخواست‌های معاملاتی تولید شده توسط کدهای اسکریپت را مستقیماً به سرور ارسال کند (بدون این تیک، اسکریپت فقط روی چارت لود می‌شود اما توانایی باز یا بستن پوزیشن را ندارد).
  • فعال‌سازی گزینه Allow DLL imports: برخی اسکریپت‌های پیشرفته برای انجام محاسبات سنگین ریاضی یا ارسال نوتیفیکیشن‌های خارج از پلتفرم، نیاز به فراخوانی فایل‌های DLL ویندوز دارند. تیک زدن این گزینه برای عملکرد صحیح آن‌ها حیاتی است.
هشدار امنیتی:
مجوز Allow DLL imports را تنها در صورتی فعال بگذارید که اسکریپت مورد نظر را از منابع کاملاً معتبر و تاییدشده (نظیر سایت تجارت فارکس یا انجمن رسمی MQL5) دریافت کرده باشید. فایل‌های مخرب می‌توانند از طریق این مجوز به سیستم شما آسیب برسانند.

چرا اسکریپت Close All (بستن گروهی معاملات) حیاتی‌ترین ابزار تریدرهاست؟

اسکریپت کلوز آل (Close All) پرکاربردترین ابزار در میان معامله‌گران پرایس اکشن و اسکالپرهاست. این اسکریپت طراحی شده تا در مواجهه با تغییرات ناگهانی روند (Trend Reversal)، تریدر را از پروسه فرسایشی بستن دستی ده‌ها پوزیشن خلاص کرده و مدیریت ریسک را به بالاترین سطح خود برساند.

پنل تنظیمات ورودی اسکریپت بستن گروهی معاملات یا Close All

پنل تنظیمات ورودی اسکریپت بستن گروهی معاملات (Inputs) در نرم‌افزار متاتریدر

همان‌طور که در تصویر تنظیمات ورودی (Inputs) مشاهده می‌کنید، این ابزار امکان فیلتر کردن دقیق معاملات را فراهم می‌کند. شما می‌توانید مشخص کنید دقیقاً چه نوع سفارشی با چه شرایطی از سرور حذف شود:

بستن سفارشات در حال انتظار (Pending Orders):
لغو یکجای تمامی سفارش‌های Buy Limit ،Sell Limit ،Buy Stop و Sell Stop که فعال نشده‌اند. این گزینه پس از نامعتبر شدن ستاپ تحلیلی کاربرد فراوانی دارد.

بستن معاملات در سود (Profitable Trades):
فقط پوزیشن‌هایی که دارای بالانس مثبت هستند بسته می‌شوند. این فیلتر برای تثبیت سریع سود (Take Profit) در زمان رسیدن قیمت به مقاومت‌های کلیدی بازار مناسب است.

بستن معاملات در ضرر (Losing Trades):
خروج اورژانسی از پوزیشن‌های زیان‌ده. این ویژگی برای جلوگیری از افت شدید سرمایه (Drawdown) و پیشگیری از رسیدن حساب به سطح کال مارجین (Call Margin) استفاده می‌شود.

راهنمای گام‌به‌گام نصب اسکریپت سفارشی در متاتریدر چگونه است؟

متاتریدر به صورت پیش‌فرض شامل چند اسکریپت ساده (نظیر PeriodConverter) است، اما برای افزودن ابزارهای حرفه‌ای باید فایل‌های مربوطه را به صورت دستی در دایرکتوری نرم‌افزار قرار دهید. مراحل نصب برای متاتریدر ۴ و ۵ کاملاً یکسان بوده و تفاوت فقط در نام پوشه اصلی است.

  1. ابتدا فایل اجرایی اسکریپت (با فرمت .ex4 یا .ex5) را دانلود و کپی کنید.
  2. نرم‌افزار متاتریدر را باز کرده و از منوی File روی گزینه Open Data Folder کلیک کنید.
  3. در پنجره باز شده، وارد پوشه MQL4 (یا MQL5) شوید.
  4. پوشه‌ای با نام Scripts را باز کرده و فایل خود را در این مسیر Paste کنید.
  5. مجدداً به متاتریدر بازگردید. در پنجره 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):
محاسبه حجم مناسب معامله برای رعایت ریسک ۱ یا ۲ درصد در هر ترید، پروسه‌ای زمان‌بر است. اسکریپت‌های مدیریت سرمایه این امکان را فراهم می‌کنند که شما فقط خط حد ضرر را روی چارت رسم کنید و اسکریپت با محاسبه فاصله نقطه ورود تا استاپ، ارزش هر پیپ و بالانس حساب شما، دقیق‌ترین حجم معامله را به صورت اتوماتیک باز کند.

سوالات متداول اسکریپت فارکس

آیا اسکریپت فارکس برای همه سبک‌های معاملاتی مناسب است؟
بله، تمامی معامله‌گران (به ویژه اسکالپرها، تریدرهای اخبار و سوئینگ تریدرها) برای خودکارسازی کارهای تکراری و کاهش خطای انسانی در مدیریت پوزیشن‌ها به اسکریپت‌ها نیاز دارند.
چرا اسکریپت من روی چارت اجرا نمی‌شود و در تب Journal ارور می‌دهد؟
رایج‌ترین دلیل عدم اجرای اسکریپت، غیرفعال بودن گزینه Auto Trading (یا Algo Trading) در نوار ابزار بالا و همچنین تیک نخوردن گزینه Allow DLL imports در تنظیمات Expert Advisors است.
تفاوت بنیادی اسکریپت با اکسپرت (EA) متاتریدر در چیست؟
اسکریپت تنها یک وظیفه مشخص را در کسری از ثانیه انجام داده و به اتمام می‌رسد (کد یک‌بار مصرف)؛ اما اکسپرت یک چرخه پیوسته (Loop) است که در هر تیک قیمتی بازار شرایط را تحلیل کرده و مستقلاً معامله می‌کند.
آیا امکان استفاده از اسکریپت فارکس روی موبایل (اندروید/iOS) وجود دارد؟
خیر، در حال حاضر نسخه‌های موبایلی پلتفرم‌های متاتریدر ۴ و ۵ از اجرای اسکریپت‌های کاستوم، اکسپرت‌ها و اندیکاتورهای سفارشی پشتیبانی نمی‌کنند و این ابزارها مختص نسخه دسکتاپ هستند.
چگونه یک اسکریپت را پس از نصب روی چارت فراخوانی کنیم؟
از منوی View گزینه Navigator را باز کنید. در شاخه Scripts، نام فایل خود را پیدا کرده و آن را روی چارت باز بکشید (Drag & Drop) یا روی آن دابل‌کلیک کنید.
بهترین و پرکاربردترین اسکریپت معاملاتی بین تریدرها کدام است؟
اسکریپت Close All (جهت بستن آنی و گروهی تمام معاملات باز یا سفارش‌های پندینگ در سود/ضرر) و اسکریپت Lot Calculator (برای محاسبه دقیق حجم ورود نسبت به بالانس) جزو محبوب‌ترین‌ها هستند.
آیا اسکریپت‌ها باعث مسدود شدن حساب توسط بروکرها می‌شوند؟
خیر، ابزارهای مدیریت دستی مانند اسکریپت‌ها کاملاً قانونی و مجاز هستند. تنها در مواردی که اسکریپتی برای فرستادن درخواست‌های بی‌نهایت و اسپم به سرور (جهت ایجاد اختلال) طراحی شده باشد، حساب مسدود خواهد شد.
چگونه اسکریپت در حال اجرا را به زور متوقف (Stop) کنیم؟
اغلب اسکریپت‌ها آنی متوقف می‌شوند. اما در صورتی که یک اسکریپت به صورت حلقه‌ای (Loop) در حال اجراست، روی فضای خالی چارت راست‌کلیک کرده و گزینه Remove Script را انتخاب نمایید.
آیا می‌توانم با اسکریپت حد سود و ضرر پوزیشن‌های قدیمی را تغییر دهم؟
بله، اسکریپت‌هایی نظیر Modify All Orders دقیقاً به همین منظور نوشته شده‌اند. با یک کلیک می‌توانید خط استاپ لاس تمامی پوزیشن‌های فعال را جابجا کنید.
تفاوت فرمت ex4 با mq4 در فایل‌های اسکریپت چیست؟
فایل mq4 سورس باز کد است که توسط برنامه‌نویس قابل ویرایش است. اما فایل ex4 نسخه کامپایل‌شده (غیرقابل ویرایش) است که مستقیماً توسط متاتریدر اجرا می‌شود.
آیا اسکریپت‌ها امنیت سیستم و ویندوز را به خطر می‌اندازند؟
اگر اسکریپت را از منابع معتبر تهیه کنید، خطری ندارد. اما فعال کردن مجوز DLL برای اسکریپت‌های دانلود شده از منابع نامعتبر، ریسک آلودگی سیستم به بدافزار را بالا می‌برد.
چگونه می‌توان برای اجرای سریع اسکریپت یک کلید میانبر (Shortcut) ساخت؟
در پنجره Navigator روی نام اسکریپت راست‌کلیک کرده و Set hotkey را انتخاب کنید. سپس می‌توانید ترکیبی از دکمه‌ها (مثلاً Alt + C) را برای اجرای آنی آن در بازار تعیین کنید.
5/5 - (12 امتیاز)
آنچه آموختید

میتونی از طریق دکمه های زیر این مقاله رو در شبکه های اجتماعی یا ایمیل با دوستان خودت به اشتراک بزاری.

Facebook
Twitter
LinkedIn
Telegram
WhatsApp
Email

من در شبکه های اجتماعی زیر حضور دارم

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *