معرفی
یکی از مفیدترین کارهایی که می توانید در پنجره تجزیه و تحلیل انجام دهید این است که از استراتژی تجارت خود در مورد داده های تاریخی استفاده کنید. این می تواند بینش ارزشمندی در مورد نقاط قوت و نقاط ضعف سیستم شما قبل از سرمایه گذاری پول واقعی به شما بدهد. این ویژگی تک Amibroker می تواند پس انداز زیادی را برای شما صرفه جویی کند.
نوشتن قوانین تجارت خود
ابتدا برای ورود و خروج از بازار باید قوانین عینی (یا مکانیکی) داشته باشید. این مرحله پایه استراتژی شما است و شما باید خودتان در مورد آن فکر کنید زیرا سیستم باید با تحمل ریسک ، اندازه نمونه کارها ، تکنیک های مدیریت پول و بسیاری از عوامل فردی دیگر مطابقت داشته باشد.
پس از داشتن قوانین خود برای تجارت ، باید آنها را به عنوان قوانین خرید و فروش در Amibroker Formula Lanugage بنویسید (به علاوه کوتاه و پوشش اگر می خواهید تجارت کوتاه را نیز آزمایش کنید).
در این فصل ، میانگین حرکت بسیار اساسی در حال حرکت بیش از سیستم را در نظر خواهیم گرفت. این سیستم با افزایش قیمت نزدیک به میانگین حرکت نمایی 45 روزه ، سهام/قراردادها را خریداری می کند و در صورت کاهش قیمت نزدیک به زیر 45 روز میانگین حرکت ، سهام/قرارداد را به فروش می رساند.
میانگین متحرک نمایی را می توان با استفاده از عملکرد داخلی EMA در AFL محاسبه کرد. تمام کاری که شما باید انجام دهید این است که آرایه ورودی و دوره متوسط را مشخص کنید ، بنابراین میانگین حرکت نمایی 45 روزه قیمت های بسته شدن را می توان با بیانیه زیر بدست آورد:
شناسه نزدیک به آرایه داخلی دارای قیمت بسته شدن نماد مورد تجزیه و تحلیل در حال حاضر اشاره دارد.
برای آزمایش اینکه آیا قیمت نزدیک از میانگین حرکت نمایی عبور می کند ، ما از عملکرد متقاطع داخلی استفاده خواهیم کرد:
بیانیه فوق یک قانون تجارت خرید را تعریف می کند. این "1" یا "درست" می دهد وقتی قیمت نزدیک از EMA عبور می کند (نزدیک ، 45). سپس می توانیم قانون فروش را بنویسیم که وقتی وضعیت مخالف اتفاق می افتد "1" را می دهد - صلیب نزدیک قیمت زیر EMA (نزدیک ، 45):
لطفاً توجه داشته باشید که ما از همان عملکرد صلیب اما ترتیب مخالف آرگومان ها استفاده می کنیم.
بنابراین فرمول کامل برای معاملات طولانی به این شکل خواهد بود:
خرید = صلیب (نزدیک ، EMA (نزدیک ، 45)) ؛فروش = صلیب (EMA (نزدیک ، 45) ، نزدیک) ؛
NOTE: To create new formula please open Formula Editor using Analysis->Formula Editor menu, type the formula and choose Tools->ارسال به منوی تجزیه و تحلیل در فرمول ویرایشگر
تست پشت
برای آزمایش مجدد سیستم خود فقط روی دکمه Back Test در پنجره Automatic Analysis کلیک کنید. اطمینان حاصل کنید که در فرمول تایپ کرده اید که شامل حداقل قوانین تجارت خرید و فروش است (همانطور که در بالا نشان داده شده است). هنگامی که فرمول صحیح است Amibroker شروع به تجزیه و تحلیل نمادهای شما طبق قوانین معاملات شما می کند و لیستی از معاملات شبیه سازی شده را تولید می کند. کل فرآیند بسیار سریع است - می توانید در عرض چند دقیقه هزاران نماد را آزمایش کنید. پنجره پیشرفت زمان اتمام تخمین زده شده را به شما نشان می دهد. اگر می خواهید فرآیند را متوقف کنید ، فقط می توانید روی دکمه Cancel در پنجره پیشرفت کلیک کنید.
تجزیه و تحلیل نتایج
پس از اتمام فرآیند ، لیست معاملات شبیه سازی شده در قسمت پایین پنجره تجزیه و تحلیل خودکار نشان داده می شود.(صفحه نتایج). شما می توانید بررسی کنید که چه زمانی سیگنال های خرید و فروش فقط با کلیک بر روی صفحه تجارت در نتایج رخ داده است. این امر به شما سیگنال های خام یا فیلتر نشده برای هر نوار در هنگام برآورده شدن شرایط خرید و فروش می دهد. اگر می خواهید فقط فلش های تجاری منفرد را ببینید (باز و بسته شدن تجارت در حال حاضر انتخاب شده) باید در هنگام نگه داشتن کلید Shift Pressed Down ، روی خط کلیک کنید. از طرف دیگر می توانید با انتخاب مورد مناسب از منوی زمینه که هنگام کلیک بر روی صفحه نتایج با دکمه سمت راست ماوس ، نوع نمایش را انتخاب کنید.
علاوه بر لیست نتایج ، می توانید با کلیک بر روی دکمه گزارش ، آمار بسیار مفصلی در مورد عملکرد سیستم خود دریافت کنید. برای کسب اطلاعات بیشتر در مورد آمار گزارش ، لطفاً توضیحات پنجره گزارش را بررسی کنید.
تغییر تنظیمات تست پشت خود
موتور تست پشت در Amibroker از برخی از مقادیر از پیش تعریف شده برای انجام کار خود از جمله اندازه نمونه کارها ، تناوب (روزانه/هفتگی/ماهانه) ، میزان کمیسیون ، نرخ بهره ، حداکثر ضرر و سود هدف ، نوع معاملات ، زمینه های قیمت و غیره استفاده می کند. بشرتمام این تنظیمات توسط کاربر با استفاده از پنجره تنظیمات قابل تغییر است. پس از تغییر تنظیمات ، لطفاً به یاد داشته باشید اگر می خواهید نتایج با تنظیمات همگام سازی شود ، دوباره آزمایش پشت خود را انجام دهید.
به عنوان مثال ، برای تست پشت در میله های هفتگی به جای روزانه ، فقط بر روی دکمه تنظیمات کلیک کنید ، هفتگی را از کادر انتخابی Teicity انتخاب کنید و OK را کلیک کنید ، سپس با کلیک بر روی Back Test ، تجزیه و تحلیل خود را اجرا کنید.
نام های متغیر رزرو شده
جدول زیر نام متغیرهای رزرو شده مورد استفاده توسط آنالایزر اتوماتیک را نشان می دهد. معنی و نمونه های استفاده از آنها بعداً در این فصل آورده شده است.
قانون تجارت "فروش" (موقعیت طولانی مدت) را تعریف می کند
اجازه می دهد تا مبلغ دلار یا درصد نمونه کارها را که در تجارت سرمایه گذاری می شود کنترل کنید (توضیحات زیر را ببینید)
مفاهیم پیشرفته
تاکنون در مورد استفاده نسبتاً ساده از تستر پشتی بحث کردیم. با این حال ، Amibroker از روش ها و مفاهیم بسیار پیچیده تری پشتیبانی می کند که بعداً در این فصل مورد بحث قرار خواهد گرفت. لطفاً توجه داشته باشید که کاربر مبتدی ابتدا باید قبل از ادامه کار با موضوعات ساده تر که در بالا توضیح داده شد ، کمی بازی کند.
بنابراین ، هنگامی که شما آماده هستید ، لطفاً به ویژگی های زیر که اخیراً معرفی شده است ، نگاهی بیندازید:
الف) میزبان اسکریپت AFL برای نویسندگان فرمول پیشرفته ب) پشتیبانی پیشرفته برای معاملات کوتاه ج) روش کنترل قیمت اجرای سفارش از اسکریپت د) انواع مختلفی از توقف ها در تستر پشتی ه) اندازه موقعیت f) اندازه قطعه و اندازه تیک اندازه g) حساب حاشیه H) آینده های پشتی
میزبان برنامه نویسی AFL موضوعی پیشرفته است که در یک سند جداگانه موجود در اینجا پوشیده شده است و من در این سند در مورد آن بحث نخواهم کرد. ویژگی های باقیمانده بسیار آسان تر است.
حمایت از تجارت کوتاه
در نسخه های قبلی Amibroker ، اگر می خواستید با استفاده از معاملات طولانی و کوتاه ، سیستم تست را پس بگیرید ، فقط می توانید استراتژی توقف و معکوس را شبیه سازی کنید. هنگامی که موقعیت طولانی بسته شد ، موقعیت کوتاه جدید بلافاصله باز شد. به این دلیل بود که از متغیرهای خرید و فروش برای هر دو نوع معاملات استفاده می شد.
اکنون (با نسخه 3. 59 یا بالاتر) متغیرهای رزرو شده جداگانه ای برای افتتاح و بسته شدن معاملات طولانی و کوتاه وجود دارد:
خرید - "True" یا 1 ارزش فروش طولانی تجارت را باز می کند - "True" یا 1 ارزش تجارت کوتاه مدت - "True" یا 1 ارزش بازرگانی تجارت کوتاه را باز می کند - "True" یا 1 ارزش تجارت کوتاه را بسته می کند
SOM به منظور معاملات کوتاه مدت ، باید متغیرهای کوتاه و پوشش را اختصاص دهید. اگر از سیستم توقف و معکوس (همیشه در بازار) استفاده می کنید ، به سادگی فروش را به Short اختصاص دهید و برای پوشش آن بخرید
این روش کار نسخه های قبل از 3. 59 را شبیه سازی می کند.
اما اکنون Amibroker شما را قادر می سازد تا برای طولانی شدن و کوتاه رفتن از قوانین تجاری جداگانه ، همانطور که در این مثال ساده نشان داده شده است ، داشته باشید:
// قوانین ورود و خروج معاملات طولانی: خرید = صلیب (CCI () ، 100) ؛فروش = صلیب (100 ، CCI ()) ؛
// قوانین ورود و خروج معاملات کوتاه: کوتاه = صلیب (-100 ، CCI ()) ؛پوشش = صلیب (CCI () ، -100) ؛
توجه داشته باشید که در این مثال اگر CCI بی ن-100 تا 100 باشد ، شما خارج از بازار هستید.
کنترل قیمت تجارت
آمی بروکر اکنون 4 متغیر رزرو شده جدید را برای تعیین قیمتی که در آن سفارشات خرید، فروش، کوتاه مدت و پوشش اجرا می شود، ارائه می کند. این آرایه ها دارای نام های زیر هستند: قیمت خرید، قیمت فروش، قیمت کوتاه و قیمت پوشش.
کاربرد اصلی این متغیرها کنترل قیمت تجارت است:
BuyPrice = IIF( dayofweek() == 1, HIGH, CLOSE );// روز دوشنبه با قیمت بالا خرید کنید، در غیر این صورت در بسته خرید کنید
بنابراین می توانید موارد زیر را برای شبیه سازی توقف سفارشات واقعی بنویسید:
BuyStop = . فرمول سطح توقف خرید؛SellStop = . فرمول سطح توقف فروش؛
// if anytime during the day prices rise above buystop level (high>buystop) // سفارش خرید انجام می شود (در زمان خرید یا پایین هر کدام بالاتر باشد) Buy = Cross( High, BuyStop );
// اگر هر زمانی در طول روز قیمت ها به زیر سطح قیمت فروش (پایین< sellstop ) // the sell order takes place (at sellstop or high whichever is lower) Sell = Cross( SellPrice, SellStop);
BuyPrice = حداکثر ( BuyStop، Low );// مطمئن شوید که قیمت خرید کمتر از Low SellPrice = min( SellStop, High );// مطمئن شوید که قیمت فروش بیشتر از High نیست
لطفاً توجه داشته باشید که AmiBroker متغیرهای آرایه buyprice، sellprice، shortprice و coverprice را با مقادیر تعریف شده در پنجره تنظیمات تست سیستم (در زیر نشان داده شده) از پیش تعیین می کند، بنابراین شما می توانید اما نیازی به تعریف آنها در فرمول خود ندارید. اگر آنها را تعریف نکنید، AmiBroker مانند نسخه های قدیمی کار می کند.
در طول آزمایش مجدد، AmiBroker بررسی خواهد کرد که آیا مقادیری که به buyprice، sellprice، shortprice، coverprice اختصاص داده اید، در محدوده بالا و پایین نوار داده شده قرار می گیرند یا خیر. در غیر این صورت، AmiBroker آن را به قیمت بالا (اگر ارزش آرایه قیمت بالاتر از بالا باشد) یا به قیمت پایین (اگر ارزش آرایه قیمت کمتر از پایین باشد) تنظیم می کند.
هدف سود متوقف می شود
همانطور که در تصویر بالا می بینید، تنظیمات جدید برای توقف های هدف سود در پنجره تنظیمات تست سیستم موجود است. توقف های هدف سود زمانی اجرا می شوند که قیمت بالا برای یک روز معین از سطح توقفی که می توان به صورت درصد یا نقطه افزایش نسبت به قیمت خرید ارائه کرد، بیشتر شود. به طور پیش فرض توقف ها با قیمتی اجرا می شوند که شما به عنوان آرایه قیمت فروش (برای معاملات طولانی) یا آرایه قیمت پوشش (برای معاملات کوتاه) تعریف می کنید. این رفتار را می توان با استفاده از ویژگی "خروج در توقف" تغییر داد.
ویژگی "خروج در توقف".
اگر در تنظیمات کادر «خروج در توقف» را علامت بزنید، استاپ ها در سطح توقف دقیق اجرا می شوند، یعنی اگر توقف هدف سود را در +10% تعریف کنید، توقف شما و قیمت خرید 50 بود، حتی در صورت توقف، در 55 اجرا می شود. آرایه قیمت فروش شما حاوی مقادیر متفاوتی است (به عنوان مثال قیمت بسته شدن 56).
حداکثر ضرر متوقف می شود به روشی مشابه - آنها زمانی اجرا می شوند که قیمت پایین برای یک روز معین به زیر سطح توقفی که می تواند به عنوان درصد یا نقطه افزایش از قیمت خرید داده شود کاهش یابد.
توقف های دنباله دار
از این نوع توقف برای محافظت از سود استفاده می شود زیرا تجارت شما را ردیابی می کند ، بنابراین هر بار که یک مقدار موقعیت به یک سطح جدید برسد ، توقف دنباله دار در سطح بالاتری قرار می گیرد. هنگامی که سود زیر سطح توقف دنباله کاهش می یابد ، موقعیت بسته می شود. این مکانیسم در تصویر زیر نشان داده شده است (10 ٪ توقف دنباله دار نشان داده شده است):
/ * نمونه ای از اجرای سطح پایین توقف هدف در AFL: */
buy = cross (macd () ، سیگنال ()) ؛
اندازه موقعیت
این یک ویژگی جدید در نسخه 3. 9 است. اندازه گیری موقعیت در Backtester با استفاده از متغیر جدید رزرو شده اجرا می شود
اکنون می توانید مبلغ دلار یا درصد نمونه کارها را که در تجارت سرمایه گذاری می شود کنترل کنید
- مقدار مثبت تعریف (دلار) که به عنوان مثال در تجارت سرمایه گذاری می شود:
موقعیت = 1000 ؛// در هر تجارت 1000 دلار سرمایه گذاری کنید
pationSize = -50 ؛/ * همیشه فقط نیمی از سهام فعلی را سرمایه گذاری کنید */
pationSize = - 100 + RSI () ؛
اگر کمتر از 100 ٪ پول نقد موجود سرمایه گذاری شود ، مبلغ باقیمانده نرخ بهره را مطابق با تنظیمات تعریف می کند.
همچنین یک کادر انتخاب جدید در پنجره تنظیمات AA وجود دارد: "اجازه دهید اندازه موقعیت را کوچک کند" - این کنترل می کند که چگونه Backtester وضعیت اندازه موقعیت درخواست شده را کنترل می کند (از طریق متغیر موقعیت یابی) از پول نقد موجود فراتر می رود: وقتی این پرچم بررسی می شود موقعیت با اندازه وارد می شوددر صورت عدم کنترل موقعیت ، به پول نقد موجود می درخشد.
برای دیدن اندازه موقعیت واقعی ، لطفاً از یک حالت گزارش جدید در پنجره تنظیمات AA استفاده کنید: "لیست تجارت با قیمت و اندازه مثبت"
برای پایان ، در اینجا نمونه ای از تکنیک اندازه گیری موقعیت مبتنی بر ATR Tharp که در AFL کدگذاری شده است:
خرید = فروش = 0 ؛// فروش فقط با توقف
trailstopamount = 2 * ATR (20) ؛سرمایه = 100000 ؛/ * مهم: آن را نیز در تنظیمات تنظیم کنید: سهام اولیه *//
ریسک = 0. 01*سرمایه ؛موقعیت یابی = (ریسک/دنباله stopamount)*BuyPrice ؛AppliceStop (2 ، 2 ، Trailstopamount ، 1) ؛
این تکنیک را می توان به شرح زیر خلاصه کرد:
کل سهام در هر نماد 100000 دلار است ، ما سطح ریسک را 1 ٪ از کل سهام تعیین می کنیم. سطح ریسک به شرح زیر تعریف شده است: اگر یک توقف دنباله دار در سهام 50 دلاری باشد ، مثلاً 45 دلار (ارزش دو ATR در برابر موقعیت) ، ضرر 5 دلار به ریسک 1000 دلار تقسیم می شود تا 200 سهم را برای خرید ارائه دهد. بنابراین ، خطر ضرر 1000 دلار است اما ریسک تخصیص 200 سهام X 50 دلار/سهم یا 10،000 دلار است. بنابراین ، ما 10 ٪ از سهام را به خرید اختصاص می دهیم اما فقط 1000 دلار در معرض خطر قرار می دهیم.(ویرایش شده از لیست پستی Amibroker)
اندازه تعداد زیادی و اندازه تیک
اندازه تعداد زیادی
ابزارهای مختلف با "واحدهای تجاری" یا "بلوک" مختلف معامله می شوند. به عنوان مثال می توانید تعداد کسری واحدهای صندوق متقابل را خریداری کنید ، اما نمی توانید تعداد کسری سهام را خریداری کنید. بعضی اوقات مجبورید در 10 یا 100S تعداد زیادی خریداری کنید. Amibroker اکنون به شما امکان می دهد اندازه بلوک را در سطح جهانی و هر نماد مشخص کنید.
You can define per-symbol round lot size in the Symbol->صفحه اطلاعات (عکس 3). مقدار صفر به این معنی است که این نماد از اندازه قطعه خاصی برخوردار نیست و از "اندازه پیش فرض دور دور" (تنظیم جهانی) از صفحه تنظیمات تحلیل خودکار استفاده می کند (عکس 1). اگر اندازه پیش فرض نیز روی صفر تنظیم شود ، به این معنی است که تعداد کسری سهام/قراردادها مجاز است.
همچنین می توانید با استفاده از متغیر Roundlotsize ، به عنوان مثال ، اندازه قطعه دور را مستقیماً از فرمول AFL خود کنترل کنید: به عنوان مثال:
This setting controls the minimum price move of given symbol. You can define it on global and per-symbol level. As with round lot size, you can define per-symbol tick size in the Symbol->صفحه اطلاعات (عکس 3). مقدار صفر به Amibroker دستور می دهد که از "اندازه پیش فرض تیک" تعریف شده در صفحه تنظیمات (عکس 1) پنجره تجزیه و تحلیل خودکار استفاده کند. اگر اندازه پیش فرض تیک نیز روی صفر تنظیم شود ، به این معنی است که حداقل حرکت قیمت وجود ندارد.
برای مثال می توانید اندازه تیک را نیز از فرمول AFL تنظیم و بازیابی کنید ، به عنوان مثال:
توجه داشته باشید که تنظیم اندازه تیک فقط بر معاملات خارج شده توسط توقف های داخلی و/یا Applystop () تأثیر می گذارد. Backtester فرض می کند که داده های قیمت نیاز به اندازه تیک را دنبال می کنند و آرایه های قیمت تهیه شده توسط کاربر را تغییر نمی دهد.
بنابراین مشخص کردن اندازه تیک فقط در صورت استفاده از توقف های داخلی معقول است ، بنابراین نقاط خروج در سطح قیمت "مجاز" به جای موارد محاسبه شده تولید می شوند. به عنوان مثال در ژاپن - شما نمی توانید بخش های کسری ین را داشته باشید ، بنابراین باید Ticksize جهانی را به 1 تعریف کنید ، بنابراین Trates Exit Trades را در سطح عدد صحیح متوقف کنید.
حساب حاشیه
تنظیم حاشیه حساب ، درصد حاشیه ای را برای کل حساب مشخص می کند. ارزش پیش فرض حاشیه حساب 100 است. این بدان معنی است که شما برای ورود به تجارت باید 100 ٪ بودجه تهیه کنید و این روشی است که چگونه Backtester در نسخه های قبلی کار می کند. اما اکنون می توانید یک حساب حاشیه را شبیه سازی کنید. هنگامی که در حاشیه خریداری می کنید ، به سادگی وام می گیرید و از کارگزار خود برای خرید سهام وام می گیرید. با مقررات فعلی می توانید 50 ٪ از قیمت خرید سهام مورد نظر برای خرید و وام گرفتن نیمی دیگر را از کارگزار خود قرار دهید. برای شبیه سازی این فقط 50 را در قسمت حاشیه حساب وارد کنید (به عکس 1 مراجعه کنید). اگر سهام Intial شما روی 10000 تنظیم شود ، قدرت خرید شما 20000 خواهد بود و شما قادر خواهید بود به موقعیت های بزرگتر وارد شوید. لطفاً توجه داشته باشید که این تنظیمات حاشیه کل حساب را تعیین می کند و به هیچ وجه مربوط به معاملات آتی نیست. به عبارت دیگر می توانید سهام را در حساب حاشیه تجارت کنید.
تنظیمات اضافی
- کادر "Exit Force Exit Force Reverse" به تنظیمات Backtester. هنگامی که روشن است (تنظیم پیش فرض) - Backtester مانند نسخه های قبلی کار می کند و اگر سیگنال ورود جدید در جهت معکوس روبرو شود ، Positon را باز می کند. اگر این سوئیچ خاموش باشد - حتی اگر سیگنال معکوس رخ دهد ، Backtester در حال حاضر تجارت باز را حفظ می کند و تا زمانی که سیگنال خروج منظم (فروش یا پوشش) ایجاد نشود ، پوزیتون را بسته نمی کند. به عبارت دیگر وقتی این سوئیچ خاموش است ، سیگنال های کوتاه را در طی معاملات طولانی نادیده می گیرد و در طی معاملات کوتاه سیگنال ها را نادیده می گیرد.
این تنظیم مشکل سیستم های آزمایشی را که وارد معاملات در بازار می شوند ، حل می کند. در نسخه های قبل از 4. 09 Backtester فرض بر این است که شما وارد معاملات در بازار نزدیک می شوید ، بنابراین توقف های داخلی از روز بعد فعال می شوند. مشکل زمانی بود که شما در واقع قیمت باز را به عنوان قیمت ورود به تجارت تعریف کردید - پس از آن نوسانات قیمت در همان روز باعث توقف نمی شود. برخی از راه حل های منتشر شده بر اساس کد AFL وجود داشت اما اکنون نیازی به استفاده از آنها ندارید. به سادگی اگر در Open تجارت می کنید ، باید "فعال کردن توقف بلافاصله" را علامت گذاری کنید (عکس 1).
QuickAfl (TM) ویژگی ای است که در شرایط خاص محاسبه سریعتر AFL را فراهم می کند. در ابتدا (از سال 2003) فقط برای شاخص ها در دسترس بود ، از نسخه 5. 14+ نیز در تجزیه و تحلیل اتوماتیک نیز موجود است.
در ابتدا این ایده این بود که از طریق محاسبه فرمول AFL فقط برای آن قسمت که در نمودار قابل مشاهده است ، امکان استفاده مجدد از نمودار سریعتر را فراهم کنیم. در یک روش مشابه ، پنجره تجزیه و تحلیل خودکار می تواند از زیر مجموعه های نقل قول های موجود برای محاسبه AFL استفاده کند ، اگر پارامتر "دامنه" انتخاب شده کمتر از "همه نقل قول ها" باشد.
مقالات آموزش فارکس...
ما را در سایت مقالات آموزش فارکس دنبال می کنید
برچسب :
نویسنده : بهزاد فراهانی
بازدید : <-PostHit->
تاريخ : شنبه
12 فروردين
1402 ساعت: 11:46