شروع متاتریدر ۴ وساختار داده ها

پس از اتمام نصب، یک گروه از برنامه های Client Terminal در منوی “Start” ایجاد خواهد شد و علاوه بر این، شورتکات برنامه نیز روی دسکتاپ ظاهر می شود. آنها به راه اندازی Client Terminal کمک خواهند کرد.

توجه: دو نسخه از Client Terminal از یک دایرکتوری یکسان نمی توانند به طور همزمان راه اندازی شوند. برای راه اندازی چندین ترمینال به طور همزمان، لازم است که مقدار مربوطه برنامه ها را در دایرکتوری های مختلف نصب کنید.

شروع از ساخت ۶۰۰ ترمینال مشتری، ساختار و موقعیت جدید فایل های ترمینال مشتری را نشان می دهد. اکنون، اپلیکیشن های MQL4 با توجه به نوع برنامه (Expert Advisors، شاخص ها یا اسکریپت ها) در دایرکتوری های مجزا قرار می گیرند. در بیشتر موارد، داده های ترمینال در حال حاضر در یک پوشه داده های ویژه جدا از محل نصب ترمینال ذخیره می شوند. در این مقاله، ما جزئیات نحوه انتقال داده ها و همچنین دلایل ارائه سیستم ذخیره سازی جدید را توضیح خواهیم داد.

چرا سیستم جدید ذخیره سازی داده پیاده سازی شده است

Microsoft Windows XP که ۱۳ سال پیش منتشر شده است، به اپلیکیشن ها این امکان را می دهد تا داده های خود را در محل نصب آنها بنویسند حتی اگر آخری در پوشه سیستم Program Files قرار گرفته باشد. هر کاربر باید فقط یک مجوز مدیر برای نوشتن داده ها در هر پوشه داشته باشد.

هنگام کار در سیستم های ۶۴ بیتی، دایرکتوری های نصب مجزایی برای برنامه های ۳۲ و ۶۴ بیتی ارائه شده است: Program Files و Program Files (x86). ویژگی های عملکردی که در مقاله شرح داده شده است، برای هر دو فهرست استفاده می شوند.

با شروع از Windows Vista، مایکروسافت یک محدودیت برای نوشتن در دایرکتوری Program Files نشان داده است. اگر سیستم User Account Control (UAC) فعال شده باشد، برنامه ها مجاز به ذخیره داده های خود در پوشه Program Files نیستند.

کلیه داده ها باید در یک دایرکتوری کاربر مجزا قرار بگیرند. این محدودیت، به منظور محافظت از کاربران در برابر برنامه های مخرب ارائه شده و به اپلیکیشن های تحت یک حساب اجازه نمی دهد که داده های لازم برای یک حساب دیگر در آن برنامه را تغییر داده یا به آنها آسیب بزنند.

از آن زمان، الزامات امنیتی در سیستم عامل های مایکروسافت سخت گیرانه تر شده است. به طور خاص در مورد راه اندازی با ویندوز ۸، سیستم UAC نمی تواند فعال شود حتی اگر گزینه “Never notify” در تنظیمات آن انتخاب شده باشد.

مایکروسافت، فرایند مجازی سازی را به منظور سازگاری با اپلیکیشن های قدیمی تر در هنگام استفاده از UAC پیاده سازی کرده است.

اگر یک برنامه سعی داشته باشد که داده های خود را در دایرکتوری Program Files ذخیره کند، داده ها در واقع (از نظر فیزیکی) در یک پوشه جداگانه با آدرس زیر ذخیره می شوند – C: \ Users \ <user-name> \ AppData \ Local \ VirtualStore \ Files، Program، در حالی که Windows File Explorer فایل ها را به گونه ای نشان می دهد که در دایرکتوری نصب ذخیره شده اند.

مایکروسافت ادعا می کند که این حالت فقط برای سازگاری ارائه شده است و بعداً می تواند حذف شود.

ساختار ذخیره سازی داده ها به منظور مطابقت با توصیه های مایکروسافت، در ترمینال مشتری راه اندازی شده از ساخت ۶۰۰ تغییر یافته است. اکنون، ترمینال داده های خود را نیز در یک دایرکتوری کاربری ذخیره می کند.

دایرکتوری داده های کاربر

در نسخه جدید، تمام داده های کاربر خاصی که با یک نسخه خاص از ترمینال کار می کند، در یک مکان خاص به نام پوشه داده های ترمینال ذخیره شده است. این پوشه را می توان در یک دیسک سیستم (دیسک با سیستم عامل ویندوز نصب شده) در مسیر زیر یافت:

C:\Users\User_account_name\AppData\Roaming\MetaQuotes\Terminal\Instance_id

که در آن:

  • С – نام دیسک سیستم؛
  • User_account_name – حساب کاربر برای کار در ویندوز؛
  • Instance_id – نام منحصر به فرد پوشه که در آن تمام داده های کاربر برای کار با یک نسخه خاص از ترمینال ذخیره شده است. این نام منحصر به فرد از ۱۶ کاراکتر تشکیل شده است. این نام بر اساس مسیر دایرکتوری نصب ترمینال ایجاد شده است، زیرا مسیر دایرکتوری نصب ترمینال نمی تواند صریحاً به عنوان نام پوشه استفاده شود. طولانی بودن این نام به این دلیل است که چندین نسخه از ترمینال را می توان بر روی یک کامپیوتر نصب کرد.

دستور “Open Data Folder” در منوی File ترمینال، امکان جستجو و باز کردن پوشه داده ها را فراهم می کند.

فولدر داده ها در متاتریدر4

فولدر داده ها در متاتریدر۴

ریشه هر پوشه داده ترمینال همچنین دارای فایل origin.txt است که در آن شما می توانید مسیر پوشه نصب ترمینال مربوط به این داده را پیدا کنید. این امر به کاربران این امکان را می دهد که هر پوشه داده ترمینال را با یک دایرکتوری نصب ترمینال خاص تطبیق دهند، به عنوان مثال، این مورد در زمان نصب نسخه های متعدد ترمینال توسط یک کاربر کاربرد دارد. زمانی که پوشه داده از پوشه نصب جدا است، این نوع کار با ترمینال، روش اصلی است.

برای راحتی بیشتر، در هر بار راه اندازی ترمینال، از یک ورودی شامل مسیر پوشه داده در ژورنال ترمینال استفاده می شود. به عنوان مثال:

۲۰۱۴٫۰۲٫۱۰ ۱۲:۴۸:۲۸٫۴۷۷ Data Folder: C:\Users\JohnSmith\AppData\Roaming\MetaQuotes\Terminal\9F86138A4E27C7218E9EC98A5F8D8CA1

کپی فایل های اپلیکیشن MQL4 هنگام به روزرسانی ترمینال ساخت ۶۰۰ و بالاتر

زمانی که ترمینال تازه به روز شده شروع به کار می کند، وجود پوشه داده را بررسی می کند. اگر پوشه داده هنوز وجود نداشته باشد، ایجاد می شود. اگر آن پوشه با پوشه نصب متفاوت باشد، داده های منظم ترمینال (برنامه های استاندارد MQL4، داده های تاریخی، فایل های پیکربندی، قالب ها و غیره) در آن کپی می شوند. فایل هایی که در طی کار ترمینال تغییر نکرده اند (پرونده های قابل اجرا، کامپایلر mql.dll، فایل های صوتی و غیره) در دایرکتوری نصب قرار می گیرند. در موارد زیر، پوشه داده ترمینال با پوشه نصب فرق می کند:

    • سیستم UAC فعال باشد. استثناء زمانی است که ترمینال روی یک دستگاه قابل انتقال (هارد اکسترنال، فلش USB و غیره) نصب است.
    • کاربر فعلی کامپیوتر، اختیارات محدودی برای نوشتن داده ها در دایرکتوری نصب دارد.
    • یک کاربر از طریق اتصال از راه دور (RDP) کار می کند.

اگر هیچ یک از شرایط فوق برآورده نشوند، داده ترمینال در دایرکتوری نصب ذخیره می شود.

پس از آن، فایل های کاربر به پوشه داده منتقل می شوند. در این مرحله، دایرکتوری ای که داده های ترمینال کاربر در آن ذخیره شده است، مشخص می شود. اگر داده ها در پوشه نصب ترمینال ذخیره شده باشند، به روش زیر کپی می شوند:

پوشه منبع در دایرکتوری نصب محتویات پوشه مقصد در دایرکتوری داده های ترمینال
experts\ Expert Advisors (ربات های معاملات)

توجه: فقط فایل های دایرکتوری root\experts کپی می شوند. هیچ دایرکتوری فرعی کپی نشده است، زیرا تعیین محتویات آنها با اطمینان کامل ممکن نیست

\MQL4\Experts
indicators\experts\ شاخص های مشتریان \MQL4\Indicators
scripts\experts\ اسکریپت ها (اپلیکیشن های MQL4 برای یک اجرای واحد در نمودار) \MQL4\Scripts
include\experts\ کد منبع فایل های MQH و MQ4 که در سایر برنامه ها پیاده سازی شده اند \MQL4\Include
libraries\experts\ Libraries در قالب کدهای منبع MQ4 و فایل های قابل اجرای EX4 از آنها گردآوری شده اند. آنها برای فراخوانی دینامیک از توابع موجود توسط سایر برنامه های MQL4 استفاده می شوند \MQL4\Libraries
files\experts\ ” file sandbox” خاص. اپلیکیشن های MQL4 مجاز به اجرای عملیات فایل ها فقط در این دایرکتوری هستند \MQL4\Files
logs\experts\ فایل های Log اپلیکیشن های MQL4 \MQL4\Logs
presets\experts\ فایل های از پیش تنظیم شده برای اپلیکیشن های MQL4 \MQL4\Presets
images\experts\ فایل های تصویری برای استفاده در منابع \MQL4\Images

 

در مرحله بعد، بررسی می شود که آیا ترمینال مشتری، داده ها را در دایرکتوری مجازی سازی (ذخیره سازی مجازی سیستم عامل که در بالا توضیح داده شد) ذخیره کرده است یا خیر. اگر ترمینال در دایرکتوری Program Files نصب شده باشد و سیستم عامل، Windows Vista یا بالاتر باشد، داده ترمینال احتمالاً در آن دایرکتوری ذخیره شده است. داده پس از پیدا شدن مطابق جدول فوق کپی می شود.

فایل ها کپی شده و در هنگام انتقال از محل خود برداشته نمی شوند. فایل های کپی شده از پوشه های منبع حذف نمی شوند.

در حین انتقال، ورودی های حاوی مسیر منبع و مقصد فایل های کپی شده، در ژورنال ترمینال ایجاد می شوند. برای دیدن همه logها، تب Journal را از پنجره Terminal باز کنید و دستور Open در منوی زمینه را اجرا کنید. پوشه حاوی فایل های ورود به سیستم ترمینال باز خواهد شد.

اگر انتقال برای نسخه فعلی ترمینال با موفقیت انجام شده باشد، دیگر در به روزرسانی های بعدی ترمینال تکرار نمی شود. اگر پوشه داده با پوشه نصب متفاوت باشد و در هنگام انتقال، اپلیکیشن های MQL4 مشتری همراه با فایل های استاندارد کپی شده باشند، پنجره گفتگوی زیر ظاهر می شود:

مهاجرت

مهاجرت

حالت قابل انتقال

حالت راه اندازی قابل حمل، برای عملکرد ترمینال در دستگاه های قابل حمل و دایرکتوری های غیر سیستمی و همچنین برای کار در ویندوز XP ارائه شده است. هنگام راه اندازی در این حالت، ترمینال سعی می کند که داده های خود را در پوشه نصب ذخیره کند. با این حال، استفاده از حالت قابل حمل تضمین نمی کند که یک سیستم عامل امکان ذخیره سازی داده ها را در پوشه نصب خواهد داشت (به عنوان مثال، اگر ترمینال در دایرکتوری Program Files نصب شده باشد و سیستم UAC فعال باشد).

برای کار در حالت قابل حمل، باید شرایط زیر را رعایت کنید:

دایرکتوری نصب سیستم عامل الزامات
Program Files یا سایر دایرکتوری های سیستم (به عنوان مثال ویندوز)
Windows XP مجوز برای نوشتن در پوشه نصب
سایر دایرکتوری های غیر سیستمی Windows XP مجوز برای نوشتن در پوشه نصب
هارد اکسترنال ، فلش USB و غیره Windows XP ترمینال باید همیشه در حالت قابل حمل راه اندازی شود.
Program Files یا سایر دایرکتوری های سیستم (به عنوان مثال ویندوز) Windows Vista\Windows 7 راه‌اندازی ترمینال به عنوان مدیر و UAC غیرفعال
سایر دایرکتوری های غیر سیستمی Windows Vista\Windows 7 مجوز برای نوشتن در پوشه نصب
هارد اکسترنال ، فلش USB و غیره Windows Vista\Windows 7 ترمینال باید همیشه در حالت قابل حمل راه اندازی شود.
Program Files یا سایر دایرکتوری های سیستم (به عنوان مثال ویندوز)  و بالاترWindows 8 استفاده از حالت قابل حمل غیرممکن است زیرا سیستم UAC نمی تواند غیرفعال باشد
سایر دایرکتوری های غیر سیستمی  و بالاترWindows 8 مجوز برای نوشتن در پوشه نصب
هارد اکسترنال ، فلش USB و غیره  و بالاترWindows 8 ترمینال باید همیشه در حالت قابل حمل راه اندازی شود.
  • در صورتی که از ویندوز ویستا یا بالاتر استفاده می کنید و ترمینال در Program Files نصب شده است، استفاده از حالت قابل حمل توصیه نمی شود. این حالت برای کار ترمینال در دستگاه های قابل حمل و ویندوز XP ارائه شده است.
  • همچنین در صورتی که ترمینال را به روز رسانی کرده اید و تمام داده ها را در یک پوشه داده کاربر جداگانه کپی کرده اید، استفاده از حالت قابل حمل توصیه نمی شود.

به منظور استفاده از حالت قابل حمل پس از کپی کردن داده ها در پوشه داده کاربر، باید داده ها را به صورت دستی در پوشه نصب کپی کنید. راه اندازی ترمینال در حالت قابل حمل، داده ها را از پوشه داده به پوشه نصب کپی نمی کند.

   

برای راه اندازی ترمینال در حالت قابل حمل، از کلید “/portable” استفاده کنید. برای راحتی بیشتر، می توانید یک شورتکات اضافی با یک نام مناسب برای راه اندازی ترمینال در دسکتاپ خود ایجاد کرده و کلید را مستقیماً به شورتکات اضافه کنید:

متاتریدر قابل حمل

متاتریدر قابل حمل

 

 

مبحث قبلی: نصب متاتریدر بر روی لینوکس مبحث بعدی: باز کردن حساب ها

مطالعه بیشتر