רשום פופולרי

בחירת העורך - 2020

מה לא בסדר עם בוחן האסטרטגיה ב- MT4 ו- MT5

שלום, עמיתים סוחרי מט"ח!

היום נמשיך לדון בנושא כה רחב כמו מסחר באלגוריתמים ונדבר על כלי כה נחוץ כמו בודק רובוטים למסחר. בחלקם, רבים מהנושאים שהועלו במאמר זה טופלו גם בעמודי הבלוגים, אך לדעתי הם עדיין לא מכוסים בפירוט מספיק. לכן, היום נגלה מהו בדיקת גב ואילו קשיים ומלכודות מתעוררים בבדיקת יועצים מומחים, כמו כן נקבע את המגבלות של מסוף MetaTrader בעת בדיקה ומיטוב של יועצים מומחים ונמצא דרכים לייצב הגבלות אלה ככל האפשר.

מהי בדיקה לאחור

מאמר בבלוג שלנו כבר נכתב כיצד לבדוק את היועץ בטרמינל MT4, כמו גם בטרמינל MT5. לכן, אני פשוט אתן הגדרה לבדיקת גב. בדיקת גב היא היישום של כללי מערכת המסחר על קבוצה של נתוני שוק היסטוריים, זה הכל. כלומר, קבענו מערך כללים לכניסה לשוק, ליציאה, למעקב אחר מיקום וחישוב נפחו, ואז יישמנו כללים אלה על נתונים היסטוריים, כאילו אנו נסחרים לפי הכללים הללו באותו הרגע. כך נוכל להעריך את היעילות של מערכת זו, שניתן היה להשיג בעבר.

אולי התפקיד החשוב ביותר של הבוחן הוא הדמיה. מחבר האלגוריתם מבצע בדיקות גב, על בסיסו הוא יכול לשפוט האם כדאי לשפר עוד יותר את יועץ הפורקס או שמערכת המסחר שלקח למחקר לא שווה את הזמן.

בדיקת הגב עוזרת לנו גם להעריך האם כדאי להשתמש באסטרטגיה זו למסחר אמיתי על סמך יעילותה בעבר. למעשה, בדיקה לאחור עוזרת לנו להפסיק יועצים רעים לפני שאנחנו מסתכנים בכסף אמיתי.

בנוסף לבחירה הראשונית של אסטרטגיות להמשך העבודה איתן ולסינון אסטרטגיות לא מתאימות, הבוחן מסייע גם לבדוק את ביצועי המערכות שנוצרו, לזהות טעויות ולשפר את פעולת האלגוריתם.

הטעויות העיקריות בבדיקת יועצים מומחים

קל מאוד לבדוק יועץ, אך למרבה הצער, תוצאות הבדיקה אינן תוצאות של מסחר אמיתי. אנו מקבלים את תוצאות הסימולציה. לא משנה עד כמה המודל מורכב, הוא עדיין יכיל הנחות ופשטות מסוימות, מה שמוביל כמובן לתוצאות לא מדויקות. זו הסיבה שישנם הרבה מלכודות הקשורות לבדיקה. להלן אתן את השגיאות העיקריות בעת השימוש בבדיקה.

בדיקה במדגם בלבד.

זוהי הטעות הנפוצה ביותר בקרב beginners והגרועה ביותר. במהותה, זה מתאים את המערכת לעיקול שמתרחש כשאתה משתמש באותם נתונים כדי לייעל ולבחון אסטרטגיה. בדיקה כזו תמיד מעריכה מאוד את תוצאות המערכת, שתיראה במסחר אמיתי. הסיבה לכך היא שהמערכת לא נבדקה על נתונים אחרים, אשר, באופן ברור, יהיו שונים באופן ניכר מאלו ששימשו במבחן.

שינוי מחזור השוק

השווקים אינם יציבים ומשתנים ללא הרף. לכן, זה לא כל כך קל לבחור את הפרמטרים המתאימים עבור המערכת לעבוד במשך תקופה ארוכה. יתר על כן, ככל שתקופה זו ארוכה יותר, כך פרמטרי המערכת אוניברסליים יותר. עם זאת, הפרמטרים האידיאליים של היועץ, המשתמשים בהם הרובוט יסחר באופן מושלם בכל שוק, למרבה הצער, אינם קיימים. זו אחת הסיבות לכך שיועצים בשוק האמיתי עובדים גרוע יותר מאשר בבדיקות.

עלויות עסקה

סוחרי פורקס רבים, במיוחד למתחילים, אינם לוקחים בחשבון את העלויות הכרוכות בעמדות פתיחה וסגירה. לעתים קרובות אני רואה בדיקות שנעשו עם ממרח נמוך באופן לא מציאותי, למשל, במקום להשתמש בממרח של 2-3 נקודות ב- EURUSD למבחן, אנשים לוקחים ממרחים של 0.5-1 נקודה. התוצאה היא תמונה גרגרית שלא קשורה לחלוטין למציאות, מכיוון שהמתווך שלך הצביע על התפשטות של 0.5 נקודות עבור הצמד הזה איפשהו לא אומר שזה כן. בנוסף, אנשים רבים שוכחים דבר כזה כמו דמי עסקה. זה לא על כל סוגי החשבונות ולא על כל המתווכים, אבל ככלל, איפה שיש מרווח נמוך, הוא די גדול. כמו כן, אל תשכחו מדברים כמו החלפות - הם גם מעוותים את תוצאות הבדיקה ומשפיעים על התוצאה הסופית. ובכן, וכמובן, החלקה - הנגע של כל הצולפים. אם תוסיפו יחד את כל הגורמים הללו, מסתבר שסחר הוא משימה יקרה למדי, ובשוק האמיתי תשלמו 0.5 נקודות פרשנות + 0.7 נקודות עמלה + 0.3 נקודות עבור פתיחת עסקה, העסקה תתחמק בפתיחה ובסגירה כתוצאה מכך, עלויות עסקה אמיתיות יסתכמו בכ- 1.8 נקודות.

מציץ את העתיד

ניתן להשתמש בנתונים עתידיים בבדיקה, לרוב בגלל שגיאות בכתיבת האלגוריתם, אך לעיתים מתוך זדון. בשנה שעברה היה אופנתי מאוד למכור יועצים המתבוננים לעתיד באתר mql5.com באזור השוק. הרבה יותר נוח לסחור ולהראות תוצאות מסחר פנומנליות אם אתה יודע את העתיד. אך לתוצאות כאלה, למרבה הצער, אין קשר למסחר אמיתי.

נזילות מכשיר

כשאתה בודק את ההיסטוריה, אתה יכול בקלות לקרקף עם אלף מגרשים ולקבל תוצאות טובות. עם זאת, במסחר אמיתי, היקפים כאלה ישפיעו בהכרח על השוק, אפילו עמדה של 100 מגרשים בערב או בלילה יכולה להניע את מחירם של זוגות מסחר פופולריים אפילו, כך אומת. בבוחן לא נלקחת בחשבון השפעה זו בשום דרך.

נתונים היסטוריים

מתווכים רבים מציעים להשתמש במאגר הנתונים ההיסטורי שלהם. ככלל, הציטוטים אינם באיכות הטובה ביותר. אתה יכול למצוא פיסות גדולות של נתונים היסטוריים, במיוחד במסגרות זמן נמוכות יותר. תוכלו למצוא גם מקורות רבים של הצעות מחיר חינמיות באינטרנט, בדרך כלל באיכות לא פחות מפוקפקת. איכות הצעות המחיר משפיעה מאוד על תוצאות בדיקת האחורית, לכן עליכם לקחת את הבעיה הזו ברצינות ככל האפשר.

חוסן נמוך

חלק מהסוחרים, במיוחד למתחילים, מאפשרים למערכות עם חוסן נמוך לסחור בכסף אמיתי. איתנות היא ההתנגדות של המערכת לשינויים בנתוני הקלט. לדוגמה, בדיקת המערכת שלך מה -3 לחודש להיום תניב לך תוצאה טובה, אך אם תריץ את הבדיקה החל מה -4 לחודש, המערכת תיכנס לתשומת לב. המשמעות היא שלמערכת יש חוסן נמוך. דוגמא נוספת, כאשר שינית את תקופת האינדיקטור המשפיע על כניסה לשוק, בין 9 ל -10 והמערכת החלה להתמזג. טעות גדולה תהיה לאפשר למערכות כאלה לסחור אמיתי.

פסיכולוגיה

כפי שאמרתי במאמר קודם, הפסיכולוגיה ממלאת תפקיד הרבה יותר קטן בסחר באלגוריתמים מאשר בסחר ביד. מוכרים שונים של מערכות מסחר מקדמים את הרעיון שכאשר אתה סוחר רובוט, אתה יכול לשכוח מהפסיכולוגיה לגמרי. עם זאת, ההתעלמות הגמורה מהפסיכולוגיה היא טעות נוספת של סוחרים מתחילים. עם זאת, ישנן מספר מערכות מסחר העשויות להראות די טוב במהלך הבדיקה ופשוט בלתי נסבלות במסחר אמיתי. בנוסף, ככל שסוחרים מתחילים ידניים משנים את כללי המסחר שלהם תוך כדי תנועה, סוחרים אלגוריתמים פחות מנוסים מושכים לעתים קרובות את העט שלהם למערכות קיימות, מנסים לסובב אותם תוך כדי תנועה. כל זה מוביל כמובן להפסדים כספיים.

סוגי בודקים לפי עקרון העבודה

כרגע ישנם מסופים רבים ושונים למסחר בשווקים פיננסיים. מסופים רבים מספקים את האפשרות לכתוב מומחים למסחר אוטומטי, ולרוב המסופים הללו, ככלל, יש בודקים ואופטימיזרים מובנים. כולם משתנים מאוד בפונקציונליות ויכולותיהם, אך על פי עיקרון הפעולה ניתן לחלק את הבוחנים לשני סוגים: "מחזורי" ו"כוון אירועים ". לכל אחד מסוגים אלו היתרונות והחסרונות.

בדיקת גב לולאה

סוג בודק זה הוא הקל ביותר ליישום ושקוף בפעולה. בודק כזה פשוט עובר כל פס אחד אחד. כאשר מגיע מחיר חדש, הם מבצעים כמה חישובים על מחירים, מחשבים אינדיקטורים ומאפשרים לבצע ולשנות הזמנות. ואז האיטרציה הבאה מתרחשת עד להפסקת הבדיקה. יחד עם זאת, הבוחן שומר כמה נתונים סטטיסטיים אודות עבודתו של היועץ - רווח, מספר העסקאות, תיקו וכדומה, ועם השלמתו הוא מוציא דוח על בדיקת היועץ. כידוע, עיצוב כזה הוא פשוט מאוד - אתה רק צריך להוריד נתונים היסטוריים ולמיין מחירים לפי שורה, לבצע חישובים בכל פעם. בוודאי תמצאו מושג זה מוכר. נכון, MetaTrader עובד לפי הסכימה הזו. ובכן, כלומר, זה לא לגמרי נכון, מכיוון שעדיין ישנם כמה אירועים מוגדרים מראש בשפת ה- MQL. אז הפלטפורמה הזו, כמו רבים אחרים, היא נציגה של סוג מעורב למדי.

כפי שבטח כבר ניחשתם, בדיקות גב כאלה קלות ליישום כמעט בכל שפת תכנות. במקביל, הם עובדים מהר מאוד - אתה יכול לבדוק ולייעל במהירות שילובים רבים של פרמטרים של יועץ מומחה.

לרוע המזל, החיסרון העיקרי של בודק כזה הוא חוסר המציאות של בדיקות הגב שהתקבלו. לעתים קרובות למדי, בדיקות גב כאלה אינן לוקחות בחשבון את הפיזור, העמלה וההזמנות מבוצעות תמיד במחירי שוק ללא החלקה ומיד. לפיכך, אנשי מקצוע משתמשים בבודקים כאלה רק לצורך הערכה ראשונית של יעילות האלגוריתם כדי להחליט אם לעבוד על היועץ הלאה.

בודקי אוריינטציה לאירועים

בכדי להבין בצורה ברורה יותר את עקרון הפעולה של בודק כזה, אני מציע לך להציג משחק מחשב. השחקן מתקשר כל הזמן במרחב המשחק, המרחב הזה עצמו אינו סטטי - משהו קורה כל הזמן, יצורים מרושעים תוקפים את השחקן, ודמויות ידידותיות מתפוררות זו בזו את הגולגולות של השנייה בצירים בגלל מריבה ביתית. כדי למנוע מהמחשב שלך לברוח מהשפע של מה שקורה, אנשים חכמים הגישו את כל החישובים של מה שקורה להכניס לולאת זמן אינסופית מסוימת, המכונה אירוע או לולאת משחק, שבתוכם נבנה תור של אירועים. אירועים אלה המתרחשים מעובדים כל העת בתוך הלולאה בתורם במהירות המתאימה לכוח המחשב. ביחס לבוחן, אירועים מסוג זה עשויים לכלול הופעתם של אותות מסחר חדשים, הנכונות לשלוח הודעה למתווך, הגעת סימון חדש וקבלת מידע מהמתווך. כאשר מופיע אירוע ספציפי, הוא מעובד על ידי מודול הבוחן המתאים, ואולי נוצרים אירועים חדשים, אשר שוב נופלים לתור האירועים.

מההיבטים החיוביים של סוג זה של בודק, אנו יכולים לציין את מודל הבדיקה הקרוב ביותר למציאות, וכתוצאה מכך, בדיקות מדויקות מאוד שלוקחות בחשבון גורמים רבים העולים במסחר אמיתי. לארכיטקטורה זו של הבוחן יש פוטנציאל להשתמש בתיקי מערכות וכלים, ובודקים כאלה, ככלל, מכילים את היכולת לבדוק ולייעל מספר רב של מערכות בכלים שונים.

בין החסרונות של עיצוב זה, ניתן לבדל את מורכבות הקוד ובהתאם, שדה גדול לטעויות. מערכות כתיבה ידרשו ידע בתכנות מונחה עצמים וניסיון טוב בתכנון מערכות. חיסרון משמעותי נוסף הקשור לאינטראקציה של מודולי בודקים שונים הוא המהירות האטית. בדיקות, ובעיקר אופטימיזציה, עשויות לארוך זמן רב.

מסופי MetaTrader

בדפי הבלוג תוכלו למצוא סקירה כללית של מסוף MetaTrader4 ואפילו MetaTrader5. אבל, למרבה הצער, הדבר החשוב ביותר לא נכתב במאמרים אלה: האם ניתן להשתמש במסופים האלה לבדיקת אופטימיזציה של היועצים שלך וכמה אתה יכול לסמוך על התוצאות. בואו ננסה להבין את זה.

כפי שכבר אמרתי, סוחרים אלגוריתמים מקצועיים אינם משתמשים בטרמינל MetaTrader בעיקר משלוש סיבות: גמישות לא מספקת של השפה עבור יועצי כתיבה, דיוק נמוך של בדיקות ומהירות בדיקה לא מספקת. MetaQuotes יצר מסוף מצוין - פשוט, נוח. זהו משטח שיגור נהדר לבחינת עולם המסחר האלגוריתמי. לאחרונה נוספו לרציף המון רעיונות נכונים, במיוחד בגירסה החמישית של הטרמינל, אך למרבה הצער יישומם איבד אותנו. לדוגמה, כיצד אנשים יכולים להעריך בודק משופר אם לא ניתן לייבא את הצעות המחיר שלהם? או מדוע אנשים צריכים לכתוב באופן עצמאי את קוד היועצים והמדדים שלהם כאשר ניתן היה לכתוב תוכנית פשוטה שתעשה את כל זה באופן אוטומטי? אבל קודם דברים ראשונים.

אז, הגעתי עם מערכת מסחר פשוטה שהאלגוריתם שלה נכתב בצורה של יועץ מומחה mql4, יועץ מומחה mql5 וכבוחן עם ייעול אופטימיזציה עם אותה אסטרטגיית R. עשיתי זאת על מנת לבצע בדיקות ואופטימיזציה ולהשוות מהירות.

במהלך חמש עשרה השנים האחרונות, בדיקת היועץ על מסגרת זמן של שעה בגירסה הרביעית של הטרמינל ארכה 20 דקות, בחמישית - כ -5 דקות, בבוחן בשפה R - 13 שניות. אופטימיזציה של חמישים אלף שילובי פרמטרים של אותו יועץ באותם תנאים בגירסה הרביעית ארכה 10 ימים, בחמישית - שלושה ימים בלבד, ב- R - 16 דקות. לא יכולתי לעשות את אותה מבחן על 15 זוגות באותו זמן ב- MT4 - זה פשוט לא מסופק. הגרסה החמישית הצליחה תוך שעתיים 27 דקות, R בתוך 6 דקות. שפת ה- R רחוקה מהמהירה ביותר אם הייתי כותב בודק ב- C #, למשל, אני בטוח שהתוצאות היו טובות יותר כל עשר פעמים.

בואו ננתח MetaTrader 4

מה גורם לאיטיות של הבוחן? דבר אחד בטוח - הטרמינל משתמש רק בליבת מעבד אחת להפעלה. כלומר, גם אם יש ארבעה או יותר ברכב שלך, עובדה זו לא תעזור. אתה יכול לפתור את הבעיה באופן חלקי על ידי השקת מסוף אחר ובדיקה או אופטימיזציה של יועץ המומחים במקביל על מכשיר אחר. זה יזרז מעט את התהליך, אך לא יפתור את הבעיה לחלוטין - מבחן בודד יעבור בכל זאת לאורך זמן עד כאב.

בעיה חמורה נוספת של הטרמינל הרביעי היא חוסר היכולת להשתמש בנתוני קרציות. כאשר אנו סוחרים בזמן אמת, המחירים מגיעים למסוף בנקודות זמן שונות בזמן שהם משתנים. הגעת המחיר אינה קשורה לתקופה מסוימת, למשל, פעם בדקה או שעה. נתונים היסטוריים נשמרים בבסיס הצעות המחיר הטרמינליות בצורה של מחירי OHLC של מסגרות זמן שונות, למשל H1, D1, M15. במהלך הבדיקה מודלים הגעתם של קרציות חדשות על פי מסגרת הזמן M1. כולנו יודעים שהנפחים שהועברו על ידי המתווך הם למעשה לא אותם אמצעי אחסון אמיתי. זה רק מספר התיקים האמיתיים שהתרחשו לאורך פרק זמן מסוים. כלומר, הבוחן מכיר את מחירי הפתיחה והסגירה של פמוט M1, את המחירים המקסימליים והמינימום לפרק זמן של דקה ומספר הקרציות שהועברו במהלך דקה זו. מה היו המחירים עבור קרציות אלה, מתי בדיוק הגיע המחיר המקביל לתיק - כל זה לא ידוע. בהתבסס על כמה אלגוריתמים, הבוחן ממציא את עצמו כיצד המחיר נכנס לנר. כלומר, הנה זהו המודל המאוד מפושט עליו דיברנו למעלה. עם זאת, סוחרים עקפו את הבעיה הזו. ישנן מספר תוכניות מיוחדות המאפשרות לך להשתמש בנתוני קרציות אמיתיים לבדיקה ואופטימיזציה. מדובר בתוכנית TickstoryLite בחינם או בתוכנית Tick Data Suite בתשלום, תוכלו לקרוא על התכונות של כל אחת מהתוכניות במאמרים לעיל, אך אני ממליץ לא להיות חמדן ולרכוש תוכנה שנייה.Tick ​​Data Suite לא רק מאפשר לכם לבדוק יועצים לגבי נתוני קרציות, תוכנית זו מוסיפה למספר פונקציות נפלאות לטרמינל שפשוט נחוצות: ממרח צף (כלומר, למעשה, שני זרמי קרציות, כמו במציאות - Ask and Bid נפרדים) ומצוין, בדיקת מתח הכרחית עבור יועצי קשקשים היא אמולציה של החלקה.

עכשיו עלי לומר כמה מילים על איכות הדוגמנות, שבטרמינל הסטנדרטי לא עולה מעל 90%, ועם התוכניות שלעיל היא הופכת ל 99%. רבים מכם נתקלים כל הזמן ברשת עם ההצהרה כי 90% מהבדיקות הן זבל שלם ורק 99% מהבדיקות צריכות להיעשות - אלה מדויקות מאוד. ובכן, כמובן, זה לא לגמרי נכון (באופן כללי, בכנות, כל בדיקה שמתבצעת בפלטפורמת MT4 או MT5, אם כי לא זבל, רחוקה למדי מהמציאות). אז מהי איכות דוגמנות? וזו רק נתון המחושב לפי נוסחה פשוטה שהומצאה על ידי MetaQuotes:

איכות סימולציה = ((0.25x (StartGen-StartBar) + 0.5x (StartGenM1- StartGen) + 0.9x (HistoryTotal- StartGenM1)) / (HistoryTotal- StartBar)) x100%, שם:

HistoryTotal - מספר הסורגים בהיסטוריה;

StartBar - מספר הסרגל ממנו התחילה ההדמיה;

StartGen - מספר הסרגל ממנו החלה הבדיקה על סמך הנתונים ההיסטוריים של מסגרת הזמן הקרובה ביותר;

StartGenM1 - מספר הבר שממנו החל הדוגמנות מבוססת הדקות.

כפי שניתן לראות, איכות הסימולציה רק ​​מראה לנו אילו מסגרות זמן שימשו במבחן. אם בבדיקת היועץ לתקופת M15 נעשה שימוש רק בנתוני M1, אז איכות הדוגמנות תהיה 90%. אם נעשה שימוש רק בתקופת M15 עצמה, האיכות, אם לשפוט על פי הנוסחה, תהיה אפס, או, כפי שכתוב MT4, n / a. וכשבחנו בדיקות על קרציות פשוט חשבנו לכתוב 99% כך שיהיה ברור שהכל עובד בסדר והבדיקה באמת התרחשה על קרציות. האם המשמעות היא שבדיקה עם איכות לא מספקת נתונים לא מדויקים לחלוטין, ועם איכות 99% היא מדויקת מאוד? לא, זה רק אומר שבמקרה הראשון נעשה שימוש בדגם במחירי סגירה, ובשני, נעשה שימוש בקרציות. יחד עם זאת, הבדיקה הראשונה עשויה בהחלט להיות מדויקת בהרבה מהשנייה ויש להבין זאת: איכות הסימולציה ואיכות הציטוטים עצמם הם דברים שונים לחלוטין.

מה שעדיין חשוב להבין הוא שאיכות תוצאות הבדיקה תהיה תלויה גם באסטרטגיה שבה נעשה שימוש. לדוגמה, אם האסטרטגיה עובדת על D1 במחירי סגירה ללא עצירות, קח רווחים וטרומות ונכנסת רק לשוק, ללא עזרה בהזמנות ממתינות, אז אתה יכול לקבל בדיקת גב מדויקת מאוד באמצעות מודל "מחסומים". לבדיקות אסטרטגיות שמשתמשות בהפסקות ולוקחות, נדרשת איכות של 90% לפחות כדי להגיע לתוצאה שהיא לפחות קצת יותר קרובה למציאות. במקרה זה, ככל שהתקופה בה עובד היועץ נמוכה יותר, כך גדלה ההשפעה על תוצאות ההתפשטות. עם ערך קבוע של המרווח, הבדיקות של יועצים כאלה יהיו רחוקות מאוד מהמציאות, אפילו במידה שיועץ מומחה רווחי ימזג את ההפקדה לחשבון אמיתי במהלך הבדיקה. כפי שניתן לראות, האיכות בפועל של הבדיקה תלויה בגורמים רבים, כמו איכות הצעות מחיר, מאפייני המערכת עצמה, כמו גם היכולת של המערכת לעקוף או לרמות את המגבלות של בודק ה- MT4. עובדה זו מוכיחה שוב את הרעיון שלי שכדי לסחור ברווחים בעזרת יועץ, עליכם לדעת היטב ולהעמיק כיצד בדיוק הוא עובד, מה האלגוריתם שלו בכדי להפחית את כל ההגבלות הטרמינליות לאפס.

נושא רציני נוסף הנוגע לשימוש בנתוני קרציות הוא התמכרות למתווכים. תוצאות הבדיקה המשתמשות בנתוני קרציות של מתווך אחד יהיו שונות מהתוצאות המשתמשות בנתונים של מתווך אחר, שכן ההבדלים בין הנתונים אפילו למחירי הסגירה של מתווכים שונים יכולים להגיע ל 10-15% מגודל הנר. בטווח הארוך, הבדל כזה יכול להוביל לטבלאות רווחיות שונות מאוד עבור אותו יועץ העובד על חשבונות מתווכים שונים.

עכשיו בואו נדבר על מגבלה נוספת של הטרמינל, הפעם כבר הוחלט. בתחילה, לא ניתן היה לשנות את התפשטות לבדיקה בטרמינל MT4. כתוצאה מכך הבדיקות היו שונות בכל פעם. יתר על כן, אם לאחר שביצע את הבדיקה ביום חול, הסוחר קיבל תוצאה טובה על עבודתו של היועץ שלו, אז לאחר שביצע את הבדיקה שוב בסוף השבוע או בלילה, ניתן היה לגלות כי היועץ מתנקז. היו הרבה אי הבנות כיצד זה יכול היה לקרות - אחרי הכל, זה עבד! ואפילו בידיעה על מצב העניינים הזה, זה לא היה נוח מספיק - לערוך בדיקת סקלפר לילי, בהתאם, היה הסוחר נאלץ לצפות בירח ליד החלון. באופן כללי, היה עדיין כיף. למרבה המזל, קלון זה תוקן לאחר מכן, ואיפשר לסוחרים לקבוע את המרווח הדרוש לבדיקת עצמם.

מסוף MetaTrader 5 חדש

אז, בשפת mql5 יש לא מעט תכונות. זה ללא ספק יתרון גדול. החיסרון הוא שמומחים שנכתבו ב- mql4 בטרמינל MT5 לא יעבדו. בהתאם, סוחרים המעוניינים להעביר לטרמינל חדש, שאינם בקיאים בתכנות, אך להוטים לסחור בעזרת יועצים שנסחרו בהצלחה בגרסה הקודמת של הטרמינל, נאלצים להזמין העברות כספים. נחשו היכן אנשים נוטים יותר לחפש מתכנתים כאלה? נכון מאוד, בקטע "פרילנס" באתר של אותה חברת MetaQuotes, שמקבלת עמלה מכל הזמנה, כל יועץ ומחוון שנמכר, ורבים נוספים בשביל זה. זה עסק, שום דבר אישי.

יתרון גדול של הטרמינל לעומת הגרסה הקודמת הוא השימוש בכמה ליבות. זה נעשה בעזרת מנהל סוכן הבדיקה. במקרה זה, אתה יכול להשתמש בכל מספר ליבות. אתה יכול גם ליצור רשת שלמה של המחשבים שלך בכדי להשתמש בקיבולת הכוללת שלהם לבדיקה ואופטימיזציה של מומחים במכונה "הראשי" או אפילו להשתמש ברשת ענן בה סוחרים אחרים מספקים את יכולתם בתשלום מתון. רעיון מרגש, למעשה, רווח הביצועים בעת השימוש ברשת זו התברר כשלוש פעמים. יחד עם זאת, הכל תלוי במהירות של חיבור האינטרנט וגורמים אחרים. ניסיתי גם ליצור רשת משלי, אבל מחשבים התנתקו כל הזמן וזה היה יותר מעצבן מאשר לעזור.

ועוד תצפית אחת לגבי MT5. הבדיקות בפלטפורמה החמישית דומות מאוד למבחנים ברביעי, אך הן תמיד מתגלות טוב יותר בהגינות מאשר ב- MT4. סביר להניח שהנקודה כאן היא בציטוטים מעט שונים.

בעיות נפוצות

Mql4 ישן היה שפה מאוד פשוטה שאפשר היה להקדיש שבוע לשליטה בה. בשנה האחרונה נוספו שינויים רבים ל- mql4 שהביאו אותה קרוב ככל האפשר לגרסה החמישית, בפרט, תמיכה באלמנטים רבים של תכנות מונחה עצמים, כמו שיעורים, אנקפסולציה, ירושה, פולימורפיזם, עומס יתר, שיעורים מופשטים. עם זאת, גם mql4 וגם mql5 נחותים ביכולות לשפת תכנות עצמאית.

מה קורה בבוחן עצמו במהלך בדיקות ואופטימיזציה, שמאטה את כל התהליך כל כך? אני לא יודע. איש אינו יודע, למעט המתכנתים שכתבו את הטרמינל, מכיוון שהקוד סגור ולא ניתן להסתכל על איך הכל מחושב שם. יחד עם זאת, במקרה של בוחן המקליט אני יודע בדיוק מה קורה, מאיפה זה בא ואיך זה מחושב. והכי חשוב, כמה אמין הערך האחורי שלי.

חיסרון נוסף הנובע מהקודם הוא אלגוריתם האופטימיזציה הסגור. ישנן דרכים רבות ושונות לייעל את הפרמטרים של יועץ. ישנם פרמטרים רבים ושונים שאתה רוצה לייעל. אתה יכול ליצור פרמטר מותאם אישית שיוצג בטבלה "תוצאות מיטוב" על ידי הוספת מספר שורות קוד למומחה עצמו. אבל לבצע אופטימיזציה על זה לא יעבוד.

החיסרון העצוב ביותר של מסופי MT4 ו- MT5 הוא שאתה לא יכול לבצע בדיקות על מספר מכשירים כדי לקבל דוח סיכום על סחר בתיק יועצים. לכן עליכם להשתמש בתוכנת צד שלישי, כגון מנהל דוחות או SQ EA Analyzer. למרות העובדה שהתוכנית הראשונה היא בחינם, אני ממליץ לרכוש את האפשרות השנייה בגלל התכונות הרחבות והנדרשות בהרבה.

שני המסופים משתמשים רק בזרם הצעות מחיר אחד - על פי Bid. במקרה זה, הצעות המחיר של Ask מחושבות על פי ממרח נתון (הצעה + ממרח). ומסתבר כי תרשים המחירים של Ask עולה בקנה אחד עם תרשים מחירי הצעת המחיר, שלמעשה, כמובן, רחוק מהמקרה. ההתפשטות משתנה כל הזמן, ואם אתה מסתכל בתרשים הסימון בטרמינל, תראה כי תרשימי הצעה ושאל לא תמיד נראים אחד לאחד. זהו פשט נוסף. למה זה מוביל? ובכן, למשל, עבור יועצים המסחרים בתקופה של H1 ומעלה, כמה נקודות של שגיאה של שנים בדרך זו ב- 15 יעניקו אי דיוק ברווח הכולל באזור פלוס מינוס 3-10% - זה נסבל. אך עבור קשקשים, אי דיוק כזה יכול לגרום לשגיאה של עד 50%. מצב זה מסוכן גם עבור יועצים העובדים עם עיכובים. התפשטות קבועה מביאה לכך שתוצאות הבדיקה של יועצים כאלה רחוקים מאוד מהמציאות, מכיוון שבמבחן, למשל, ניתן לדלג על סחר מפסיד, ובחיים האמיתיים הוא יהיה נוכח, שכן ההתפשטות באותו הרגע במציאות הייתה 3 נקודות, ולא 2 כפי שנקבע למבחן. או להפך, עסקאות רווחיות רבות בבוחן לא יכולות לקרות במציאות.

חיסרון נוסף, לא רציני מדי, אך עדיין משפיע על דיוק הבדיקה, הוא חישוב ערך הנקודה של צלבים, המחושב על ידי הנוסחה הבאה: מחיר נקודה = נפח מיקום * גודל נקודה * הצעת מחיר בסיסית של מטבע בסיס ביחס לשער צמד מטבע USD / נוכחי (שיעור חוצה). הציטוטים בבסיס המטבעות ושער החליפין של הצמדים נלקחים על ידי הבוחן כיום ועלות זו משמשת לאורך כל הבדיקה. אבל אחרי הכל, לפני 20 או אפילו 5 שנים, שני המחירים היו שונים ובהתאם, גם עלות הפריט הייתה שונה. זה לא פגם כה נורא - אם הבוט יתמזג, הוא יתמזג עם כל ערך נקודתי. במקרה זה, רק שתוצאות הבדיקה הסופיות אינן מדויקות.

בערך אותו דבר קורה אם חשבונך לא נפתח בדולר ארה"ב אלא למשל ביורו. נניח שאתה בודק יועץ לזוג usdchf והבוחן ייקח את השיעור הנוכחי של eurusd ו- eurchf כדי לחשב את עלות הנקודה. באופן טבעי, במבחן כזה תהיה גם שגיאה, שכן ציטוטים אלה משתנים גם הם לאורך זמן.

הזכרתי את EA Analyzer מעט גבוה יותר. הוא מספק מספר מבחני לחץ שונים המיועדים לעזור להעריך טוב יותר את ההשלכות של השימוש ביועצים שלך בחשבון אמיתי. לדוגמה, סימולציה של מונטה קרלו תאפשר לכם מידה מסוימת של הסתברות להעריך את התרחיש הגרוע ביותר של יועץ, ואם זה מתאים לכם, להגיע לעבודה. בטרמינלים מקצועיים, מבחן מתח זה מובנה, כמו גם רבים אחרים, למשל, בדיקות לחוסן של הגדרות יועץ מומחה, תלות מתווך או תלות מורחבת. במאמר האחרון אמרתי שרובוטים לא חוזים את העתיד, אנחנו יכולים רק על סמך בדיקות לקבל הסתברות מסוימת שהיועץ יביא לנו רווח. בדיקות מתח הן כלים חשובים מאוד לעבודה, מכיוון שככל שנבדק הרובוט באופן יסודי יותר, כך הסיכוי שהוא יעבוד באותה דרך שהוא עבד על נתונים היסטוריים.

גורם נוסף המשפיע על דיוק הבדיקה הוא גודל ההחלפה. במבחן MT4 ו- MT5 נלקח ערך ההחלפה הנוכחי עבור כל הבדיקה, למרות שהחלף עצמו במציאות ללא ספק משתנה. וכמעט מספר פעמים בשנה. זה מצחיק, אבל עבור מתווכים שונים, ערכי ההחלפה של אותו מכשיר יכולים להיות שונים באופן קיצוני. לדוגמה, המתווך RoboForex מחליף כעת את צמד usdchf למכנסיים קצרים הוא -2.5 נקודות, ורכישות -1.4 נקודות. במקביל, ב- Forex4u הנתונים הללו הם -5.5 ו -2.4 נקודות. במקרה שאתה בודק סקלפר לילי, החלפה יכולה למלא תפקיד מכריע הן ברווחיות של מבחן האחורי והן במסחר עצמו. יחד עם זאת, אינך יכול באמת להעריך את ההשפעה של ערך ההחלפה על הסחר - אינך יכול להגדיר או אפילו לשנות ערך זה במהלך הבדיקה - הוא נלקח ישירות מנתוני המתווך, אשר חשבונם פעיל כרגע בטרמינל.

כפי שאתה יכול לראות, מספר עצום של דברים קטנים שנפתרים תרתי משמע על ידי כמה שורות קוד (ובכן, גם אם לא על ידי זוג, אך עדיין) נותרו בלתי ממומשים. וכולם יחד, הדברים הקטנים האלה מקשים מאוד על העבודה עם הטרמינל, ובמקרה של MT5, הם הופכים את זה לבלתי אפשרי. העובדה היא שמשתמשי הקצה של הטרמינל, כלומר אני ואני, אינם לקוחות MetaQuotes. הלקוחות שלהם הם בעיקר מתווכים, שבאופן עקרוני מקבילים לצרכים של סוחרים רגילים.

ולבסוף, בואו נדבר על השימוש בזמן בפלטפורמת MT4. לשפת ה- mql פונקציות רבות המשתמשות בזמן ביחס למחיר של נר מסוים, למשל, Open1 או High7. ברוב המקרים, בעת כתיבת אלגוריתמי מסחר, אנו משתמשים איכשהו בנתונים אלה. יתר על כן, נתונים אלה אינם קשורים לזמן מסוים של המתווך, הם קשורים לתיקים חדשים. נניח שאנחנו משתמשים בתקופה H1. כשמגיעה שעה חדשה, למקרה שאין קרציות ברגע זה, נר חדש מופיע כנקיף עד שמתחילים להגיע קרציות חדשות. במקביל, השעה כבר השתנתה, אך אמנם אין קרציות חדשות, אותה Close1 הופכת למעשה ל- Close2. כלומר, במציאות, מסתבר שאם ה- EA ישתמש בזמן בצורה של שעה () ותקבל מחירי נרות באמצעות Close1, Open1, High1 ו- Low1, היא תקבל אות בזמן הנכון, אך מחירי OHLC בשלב זה לא יעודכנו, מאחר קרציות חדשות עדיין לא הגיעו, כלומר מחירי סרגל מס '1 יהיו למעשה מחירי הבר השני. לכן, במקרה זה, יש צורך שהאלגוריתם יחכה להופעת הקרציות הראשונות של הנר החדש. שים לב שהדבר חל רק על יועצים המשתמשים בזמני כניסה וחישובי מחירים ספציפיים. אם לא משתמשים בנרות לכניסה, שגיאה כזו לא תתרחש.

אז מה לבחור - פלטפורמה תלויה או עצמאית?

עבור אותם סוחרים שמעוניינים לפתח מערכות סחר קשקשים העובדות על תקופות עד M5, MetaTrader בהחלט לא מתאים. גם כשמשתמשים ב 99% מאיכות ההדמיה, התוצאות עדיין יהיו שונות מאוד מאלו האמיתיות (אם כי ניתן להשיג פחות או יותר דמיון מסוים). למעשה, בטרמינל MT4 די קל להכין גביע, אך במציאות סביר להניח שהוא לא יעבוד. כל היבט בשוק שמתעלמים ממנו במבחן יכול להוביל לתוצאות בדיקות הפוכות באופן קיצוני.

אני לא רוצה לומר שיצירת scalper רווחית לטווח הארוך ב- MT4 אינה מציאותית. פשוט לעשות את זה הרבה יותר קשה מאשר, למשל, לטווח ארוך רווחי. לכן, אם אתה עדיין לא מכיר את המסחר האלגוריתמי, אני ממליץ להתחיל ליצור יועצים לעבודה על תקופות שאינן נמוכות מ- H1, ורק אז לנסות ליצור תיק של scalpers רווחיות.

חשוב להבין כי פלטפורמות מסחריות כמו MetaTrader, Meta Stock, TradeStation, NinjaTrader ואחרות אינן בשום פנים ואופן פלטפורמות מקצועיות. כל אחת מהפלטפורמות הללו מכילה מגבלות משלה, וקוד מקור סגור פירושו שלא כל ההגבלות הללו אפשריות בקלות ובאופן כללי. באופן כללי, הרעיון הראשון שעולה במוחו של סוחר שרוצה להיעזר ביועצים למסחר הוא להשתמש בפלטפורמה מסחרית, אחת האמור לעיל, למשל. הכל כבר מסופק בו - בדיקות, אופטימיזציה וסחר בעצמו. הכל נוח ופשוט, באריזה אחת. אך החלטה כזו הופכת את הסוחר לתלות בפלטפורמה שנבחרה ובמפתחים שלה, באיזו פונקציונליות המחברים רוצים להוסיף ואיזה לא, כמו גם על הטעויות והאי-דיוקים שהם עשו במהלך הפיתוח, שרבים מהם לא ניתן לעשות. במקביל, פלטפורמות מסחריות מעניקות לסוחר פונקציונליות בסיסית.אבל אם תרצו לעסוק במסחר בתדירות גבוהה, למשל, פלטפורמות כאלה כבר לא יתאימו לכם.

פיתרון עצמאי הוא זה שפיתחת באופן אישי. כל הפונקציונליות הדרושה לכם, דיוק הבדיקה, מספר אפשרויות האופטימיזציה, בדיקות לחץ שונות, מהירות ביצוע ועוד דברים טובים תלויים בכם באופן אישי. אתה יכול לבחור בעצמך באיזה ספק נזילות API לבחור, תוך היותו בלתי תלוי במתווך ובמניפולציות שלו עם זרימת המחירים. לפיתרון זה אפשרויות בלתי מוגבלות והוא מוגבל רק על ידי הדמיון והידע שלך. זהו פיתרון עצמאי בו סוחרים אלגוריתמים מקצועיים בוחרים.

אכן, כשאתה מתחבר ישירות לספק נזילות, אתה מיד נפטר מקושר לפלטפורמה איטית, לא יעילה ולא מושלמת, מתווכים שמתמרנים מחירים ומבצעים את ההזמנות שלך, ומגבילים סוגים שונים של אסטרטגיות שפשוט אי אפשר ליישם באמצעות מסופים מסחריים. עם זאת, גישה זו אינה מתאימה לכולם, מכיוון שכדי לכתוב פלטפורמה טובה לעבודה צריך להיות בעל ידע עצום, ניסיון תכנות רציני ומכונית זמן. ככלל, צוות שלם של מתכנתים נשכר לפיתוח פלטפורמות מסוג זה, והם מבצעים את תוכניותיהם תוך זמן קצר למדי. כל זה דורש כמות גדולה של זמן וידע, או כמות גדולה של כסף.

מסקנה

בינתיים אין לך לפחות עשרות מיליוני דולרים בחשבונך (החל מסף זה לא תמצא סוחר אחד שמשתמש במוצר מסחרי למסחר), אין שום דבר רע בשימוש בפלטפורמה מוכנה כמו MetaTrader 4. רק חשוב לזכור תמיד את המגבלות שלה, לקחת אותם בחשבון בעבודתך ולהיזהר וביקורתיות לגבי התוצאות שהושגו בבוחן. סחר ככל שהטרמינל שלך מאפשר לך ונסה ליצור יועצים "חסינים" בפני החסרונות שלו, השתמש בתוכנות של צד שלישי כדי למזער את החסרונות של הטרמינל, כמו TickDataSuite ו- SQ EA Analyzer, ואז אפילו להשתמש במוצר לא מושלם כמו MT4, אתה עדיין תקבל את הרווח שלך מהשוק.

צפו בסרטון: שיחת נפש - מאיר דגן (פברואר 2020).

עזוב את ההערה שלך