התקנת הממשק אל MT4

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

שלב 1: הגדרת שדות בטבלת הלקוחות של הייפר.

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

רשימת שדות חובה, בלעדיהם יישום הממשק יפסיק את פעולתו כבר בשלב באתחול:

שם שדה ויזואלי טיפוס רזרבי
או
מובנה
תיאור
TP Login Integer
או
String
Spare מספר החשבון בפלטפורמה.
בד"כ נגדיר אותו לקריאה בלבד, אלא אם צריך לקשר חשבונות ידנית מכרטיס הלקוח בהייפר אל חשבון מסחר.
הטמע שדה מסוג String רק אם יש עוד פלטפורמה שמחוברת במקביל והחשבונות שלה מוגדרים עם אותיות (כמו במערכות של מניות).
TP Group String Spare יש להגדיר את העורך של השדה כ-"select", בחירה מתוך רשימה. רשימת הערכים לבחירה תושלם אוטומטית על ידי האוטומציה.
יש לאפשר למשתמש ב-CRM לבחור קבוצה בטרם הוא לוחץ על פתיחת החשבון.
TP Currency String מובנה מטבע חשבון המסחר. החלטנו מראש להשתמש בשדה המובנה "Use Currency by Default" שגורם להייפר להפיק מסמכים במטבע הזה.
כמנהל המערכת באפשרותך לבחור האם לשנות את שמו הוויזואלי.
TP Client Name
או
English Client Name
String מובנה
או
Spare
לתוכנת MT4 יש מגבלה שטבלת התווים שלה היא ANSI ולכן אם נעתיק אליה תווים בשפות זרות, סביר שנקבל ג'יבריש אצל הלקוח.
לכן מומלץ לספק שם לקוח באנגלית בלבד. לכן המטמיע של הייפר רשאי להגדיר שדה שם לקוח באנגלית / לפלטפורמה
והשם הזה יועתק ל-MT4 בעת יצירת חשבון מסחר חדש (וגם ביצירת חשבון הדגמה).
ההמלצה שלנו היא להשתמש בשדה המובנה "3rd Optional Name" למטרה זו, אז גם החיפוש המובנה בהייפר יוכל לחפש את שם הלקוח בעברית ובאנגלית.
אם לא הוגדר שדה יעודי, אז השם יועתק ל-MT4 מהשדה המובנה "Client Full Name".
TP Activity Status מובנה שדה סטטוס (מובנה) שמציין את הרשאת המסחר של הלקוח בחשבונו:
2-חשבון פעיל למסחר, 1-גישה לקריאה בלבד, 0-החשבון סגור.
שם השדה בטבלה היינו "Website Shop / TP Activity", כמנהל המערכת באפשרותך לבחור האם לשנות את שמו הוויזואלי.
TP Credit Money מובנה מסגרת אשראי ללקוח. מסגרת זו מגדילה את הביטחונות ומונעת סגירת עסקאות מפסידות (בשל המינוף).
החלטנו מראש להשתמש בשדה המובנה "Approved Credit", כמנהל המערכת באפשרותך לבחור האם לשנות את שמו הוויזואלי.

רשימת שדות נוספים להעשרת הממשק מול חשבונות מסחר אמיתיים:

גם כאן תתבצע הקצאה מתוך מאגר השדות הרזרביים של רשומת הלקוח.
שם שדה ויזואלי טיפוס תיאור
TP Balance Money יתרת הכסף בחשבון הלקוח. מתעדכנת רק בעת סגירת עסקאות ופעולות הפקדה / משיכה.
TP Equity Money שווי התיק של הלקוח, מורכב מחיבור Balance ביחד עם Credit וביחד עם רווח/הפסד מהעסקאות הפתוחות כרגע.
TP Margin Money כמה כסף מה-Equity של הלקוח נדרש כרגע כבטחונות לעסקאות הפתוחות (מתעדכן כל הזמן בזמן מסחר פעיל).
TP LastUpdate DateTime מועד העדכון האחרון של רשומת הלקוח בשדות שלעיל. אזור הזמן הוא ...
TP Margin Level Real רמת תפוסת הביטחונות באחוזים. שזה בפשטות השדה Equity חלקי השדה Margin, מוכפל במאה (בשביל לייצג אחוזים).

שלב 2: התקנת יישום הממשק בשרת.

עליך לבחור היכן להתקין את יישום הממשק. בהתקנות פרטיות יתכן שתרצה להתקין את היישום על אותה המכונה שבה מותקן גם שרת ה-Database (היישום sye server).
אולם הממשק מול MT4 דורש משאבי מעבד, בעיקר אם מפעילים את חישוב הסיכונים והמעקב אחר שינויים בעסקאות (RMS Pump mode).
אז באפשרותך להתקין על שרת חישובים... ואם השרת הנ"ל נמצא באותה רשת מקומית כמו השרת של ה-MT4 (באותה רשת LAN), אזי דגימת הטיקים תהיה איכותית יותר.
על מנת להתקין את יישום הממשק, בצע את הפעולות הבאות:
  • פתח את כלי ההתקנה של הייפר (SYE Support & Setup).
  • בחר בקטגוריה Server Side Applications.
  • מתוך רשימת האפליקציות בחר ב Hyper MT4 Integration ולחץ על המשך.
  • אשר את תנאי השימוש ולחץ על המשך.
  • בחר בנתיב ההתקנה ולחץ על DOWNLOAD & INSTALL .
  • עליך להעתיק את קובץ ה- lic של מסד הנתונים בתוך התיקייה שבה הותקן הממשק. חובה לשים רק קובץ אחד שכן היישום יטען את הראשון שימצא בתיקייה של עצמו.
  • כעת הפעל את היישום ותעבור לשלב 3, בכדי ללמוד כיצד להגדיר נכון את הפלטפורמה.

בתיקיית Hyper MT4 Integration שנוצרה, יופיעו הקבצים הבאים:

שם קובץ וסיומת תיאור
Hyper_MT4_Integration.exe קובץ היישום של הממשק ל-MT4. מכיל את כל הקוד בקובץ אחד.
mtmanapi.dll
mtmanapi64.dll
קובץ ספריה של MetaTrader4 Manager 32/64 bit
ChilkatDelphi.dll
ChilkatDelphi64.dll
ספריית הצפנה ותקשורת בפרוטוקול SSL/TLS מיצרן מורשה בארה"ב. גרסאות 32/64 ביט.
Hyper_MT4_Integration.ini קובץ הגדרות מקומי, נערך מתוך היישום, ייווצר רק לאחר ההפעלה הראשונה של היישום.
Appl_Self_Upgrade.exe יישום עדכון אוטומטי ואתחול עצמי.

הסבר קצר למנהלי המערכת:

כל היישומים מתוצרת SYE למערכות ההפעלה Windows בנויים מקובץ exe עיקרי שמכיל בתוכו קוד למעבדי אינטל ו-AMD.
איננו נוהגים לפצל קוד לקבציי DLL למעט ספריות קוד מספק צד שלישי (במקרה זה אין לנו ברירה אחרת).
את כל היישומים ניתן להעתיק בין מחשב למחשב - אין באמת משמעות לתוכנת ההתקנה.
אין קבצים חבויים או קבצים המותקנים בתיקיות של מערכת ההפעלה.
למעשה באפשרותך להעתיק את כל תיקיית האוטומציות שלך לשרת גיבוי ולהפעילן משם במידת הצורך.
דאג להרשאות כתיבה בתיקייה שבה מותקן היישום ! בין היתר עבור מנגנון העדכון האוטומטי.
בנוסף, אפשר הרשאות לכתיבת קבצים זמניים (cache) המתרחשת בתיקיית ה- App Data/Local של השרת.

שלב 3: סדר פעולות והגדרות בהפעלה הראשונה !

קראו בזהירות כי יש כאן מקרה של "ביצה ותרנגולת".
עם ההפעלה הראשונה ובכל פעם ששדות חיוניים ריקים בקובץ ה-INI... יפתח דיאלוג עם רשימת השדות שתובא בהמשך.
לאחר מילוי ה-INI תהיה ליישום הגדרה של Data Source יחודי לשרת המסחר. היישום ניגש לטבלת הפלטפורמות בהייפר ("hyp_Trading Systems List") ומנסה לקרוא ממנה את שאר ההגדרות.
במידה ואין רשומה עם ה-Data Source שהוגדר ב-INI, אזי היישום יצור רשומה חדשה ויסגור את עצמו !
כך שבהתקנה חדשה מאפס עליך לבצע את סדר הפעולות הבא:
  • למלא שדות בחלון שמקורו ב-INI (הדיאלוג היחידי שהיישום הזה פותח על המסך).
  • לאחר קבלת הודעה על יצירת רשומה בטבלה "hyp_Trading Systems List", גש להייפר והשלם הגדרות (כמו למשל ה-URL של שרת המסחר).
    השדות הנדרשים מפורטים בפרק הבא (4).
  • הפעל שוב את היישום ועקוב אחר קובץ ה-LOG שלו. וודא שאין הודעות שגיאה, או טפל בשגיאות שהיישום מציג עד לפתירתן ו-"עבודה שקטה" של היישום.
  • על פי המתואר בפרק 5 בהמשך, עליך לחזור אל טבלת ההגדרות בהייפר ולהשלים הגדרות אחרונות.

להלן רשימת השדות ב-INI של היישום:
שם שדה ויזואלי הסבר אודות ההגדרה
MT4 Login
MT4 Password
מספר משתמש מנג'ר עם הרשאות עבור הייפר וסיסמת ההתחברות. כתובת השרת מוזנת בתוכנת הייפר.
DATA SOURCE ביכולתה של הייפר לייבא נתונים ממספר מערכות מסחר. גם במקרה של שימוש במערכת מסחר אחת, הקפד לרשום בשדה זה שם עם משמעות ברורה.
בשדה זה ניתן לכתוב שני תווים באנגלית בלבד ללא חשיבות לאותיות גדולות/קטנות. לדוגמה: R1 עבור שרת Real1...
שם המשתמש של האפליקציה יורכב באופן הבא: Trading_Automaton_ + [Data Source].
Hyper Database Custom IP כתובת IP לגישה ישירה למסד הנתונים של הייפר. שדה חריג שמתאים להתקנות סגורות או לסביבת פיתוח.
CRM Integration יחסי העבודה = סוג ההטמעה של הייפר מול הפלטפורמה:
  • Hyper CRM is leading (1)
    הייפר היא CRM מלא ולכן אין לייבא חשבונות שלא קיימים בהייפר.
  • Import only new clients (2)
    יבוא של לקוחות חדשים להייפר אך ללא שינוי פרטים של לקוחות קיימים. מצב זה נועד להטמעה של הייפר כמערכת הנח"ש בלבד !
  • Full import from MT4 (Override Clients) (3)
    כאשר הייפר היינה מערכת עוקבת בלבד. כל פרטי הלקוחות נדרסים בעת שינוי בפלטפורמה. מצב זה נועד להטמעה של הייפר כמערכת ניהול סיכונים ודוחות בלבד.
  • Anonymouse Mode (4)
    מצב מיוחד בו מתבצע יבוא נתונים להייפר תוך שמירה מלאה על הפרטיות וזהות הלקוחות משרת המסחר.
    מודול ה-RMS אינו משדר חשבונות ב- margin call. לא נשמרות טבלאות עם קבוצות סוחרים (יש 2 טבלאות).
Enable Real Time Pump האם לאפשר מודול ניהול סיכונים ודגימת שינויים בעסקאות בזמן אמת ? המודול הזה דורש משאבי CPU רבים.
  • Disable (0)
    - ללא אף מנוע זמן אמת.
  • only RMS streaming (1)
    - חישוב והזרמת טבלאות ניהול סיכונים (ידוע כמודול RMS בהייפר).
  • only Trading Change Log (2)
    - זיהוי שינויים בעסקאות בזמן אמת, במקום לקרוא את קובץ ה-Journal של MT4.
  • Both RMS & Change Log (3)
    - שילוב של שתי היכולות המפורטות לעיל.
Keep MT4 Feed History Every # Seconds בכל כמה שניות לשמור דגימת מחירים, של כלל המכשירים, בהייפר. ערך מומלץ היינו 180 שניות.
טווח בחירה אפשרי: בכל 90 עד 3600 שניות. ערך קטן מ-90 מבטל את הפונקציה (ערך ב.מ. = אפס).
Non Stop Trading כברירת מחדל, היישום לוקח הפסקה מפעילות הסנכרון השוטפת וחישוב סיכון (RMS) החל מיום שבת בשעה 01:00 UTC ועד ליום ראשון בשעה 19:00 UTC.
אם ברצונך להפעיל את היישום ללא הפסקה, שים YES בשדה הזה. במצב זה הייפר תפעל ברציפות 24x7.
New Broker - might have no clients דגל שאם ערכו YES אומר ליישום שמדובר בברוקר חדש ויתכן שלא תהיה לו פעילות בהתחלה.
לברוקרים פעילים הדגל צריך להישאר NO ואז היישום מתריע ומבין שיש לו שגיאת רשת במקרה ורשימת הלקוחות משרת MT4 חוזרת ריקה (הדגל הזה משמש לבדיקות נוספות).
Allow TEST Accounts כברירת מחדל הייפר מסננת קליטת חשבונות שהמילה TEST מופיעה בשם הסוחר או בקבוצה או בשדה Status ברשומת הסוחר בפלטפורמה.
בכדי לעקוף את ההגנה הזאת, שים YES בשדה הזה. זהו מעקף לשלבי בחינה והטמעה בלבד.
ANSI to Wide string Char Code האם לבצע המרת תווים מקוד ANSI לשפה נבחרת ? השאר אפס בכדי למנוע כל ניסיון קידוד.
בכדי למצוא את רשימת הקודים, חפש את "Code Page Identifiers" באתר MSDN. עליך להגיע לעמוד עם טבלה שמכילה רשימת שפות עם קודים.
במקרה של ספק, כדאי להתייעץ גם עם MetaQuotes Software Corp.
לדוגמא: להמרת עברית מהפלטפורמה, בחר בקוד 1255
Real Time Equity Alerts to API השדה הזה שולט בהפעלה של מודול דיווחי Margin Call בזמן אמת לממשק מצד שלישי. מדובר בשדה שיוגדר לפי פרוייקט על ידי המפתחים של הממשק.
On Close Account Change Password Keep Enabled מפעיל מנגנון שונה לסגירת חשבון: החשבון הופך ל- read only והסיסמה שלו מוחלפת ולא נשלחת לאף אחד.
המטרה היא להתגבר על בעיה בדוחות של MT4. פירוט לעומק נמצא בעמוד "ניהול חשבונות המסחר דרך הייפר".
Sync MT4 Daily Equity רק עבור חברות רגולטוריות המבצעות הנח"ש עם הייפר. השדה הזה מריץ סנכרון בין טבלת ה- Equity של הייפר (נדגמת בכל מקרה) לבין הדוח היומי של MT4.
כך שהייפר תכיל את הערכים שחושבו על ידי MT4 ולא אילו שנדגמו (באותה השנייה) בשיטת pump mode.
ניתן לחזור לעדכון ההגדרות הללו באמצעות סגירת היישום והפעלתו ידנית עם הפרמטר Setup-

שלב 4: הגדרות שחובה לבצע בהתקנה ראשונה, הפעם דרך יישום הלקוח של הייפר

למד מראש על השדות בטבלה "hyp_Trading Systems List", לחץ על הלחצן "טבלאות נתונים מקושרות" בצד ימין של המסך.
שדות בודדים הינם Read only ולמעשה משקפים הרשאות ויכולות של הממשק לפלטפורמה (כי הייפר יכולה להתחבר למספר סוגים של פלטפורמות מסחר).
בפרק זה נתמקד רק בשדות שעליך להגדיר לפני ההפעלה הראשונה מול MetaTrader4 (כמובן שכל שדה כזה ניתן לעדכן בעתיד לפי השינויים בשטח):
שם שדה ויזואלי הסבר אודות ההגדרה
Server URL כתובת השרת הראשי. בשדה זה ניתן להזין עד 4 כתובות (URL/IP) שונות המופרדות באמצעות "נקודה פסיק" ; ביניהן.
לדוגמא: real1.domain.com;212.210.208.206
Backup Server URL כתובת שרת הגיבוי. ניתן להזין שתי כתובות כפי שהוסבר בשדה לעיל.
Time Zone חשוב שהייפר תהיה מתואמת עם איזור הזמן של פלטפורמת המסחר (תיאום שעונים). אם אינך יודע את איזור הזמן של הפלטפורמה - בחר GMT/UTC.
Mark to Market Hour UTC באיזו שעה מתבצע Mark to Market בשרת - לפי שעון אוניברסלי. שים לב שלא להגדיר בשעון המקומי של הפלטפורמה !
זהו שדה חובה - אם אינך יודע את ההגדרה בפלטפורמה. הגדר 22:00 או 21:00 בהתאם לבורסות איתן אתה עובד ושעון הקיץ (באנגליה לדוגמה).
השדה הזה קובע מתי הייפר תבצע "צילום" יומי של מצב החשבונות (יתרות ושווי תיק בשדות Balance, Equity וכו') ומצב העסקאות הפתוחות.
הדגימות הללו קריטיות למרבית הדוחות הרגולטוריים וגם לחישוב רווח / הפסד יומי ב-RMS לכן חשוב מאוד לדייק בשעה ולתחזק את ההגדרה במעבר לשעון קיץ / חורף.
Log Instruments Daily Events עבור הפקת דוחות ושמירת תיעוד לרגולטור, הגדרת Yes בשדה הזה, תגרום לשמירת מידע יומית בכל פעם שהממשק מאותחל.
הטבלאות שתוכנן תלוי בדגל הזה היינן: "hyp_TPM Instrument Daily Events", "hyp_TPM Settings Matrix Symbol vs Group"
בכל פעם שמבצעים שינוי הגדרות בסימבולים או בקבוצות במטה טריידר (בד"כ נעשה בסופ"ש כשאין מסחר) גם נהוג לאתחל את יישום הממשק.
בנוסף, אם מוגדר No בשדה הזה, אז תיאור הסימבול יועתק להייפר בכל אתחול (השדה Description בטבלה "hyp_Trading System Symbols").
Block Accounts with EMail from Domain סינון חשבונות בכניסה להייפר. זהו שדה מסוג רשימה של דומיינים (כל אחד בשורה נפרדת).
חשבונות מהדומיינים הללו *לא* יקלטו בהייפר (בהתאם להגדרת ממשק CRM שבו הייפר עוקבת אחר הפלטפורמה).
Filter Accounts by Groups סינון חשבונות בכניסה להייפר לפי הקבוצה שלהם.
בעקרון עדיף שהסינון יתרחש בהגדרות חשבון ה- manager בפלטפורמה (חוסך משאבים להייפר ולפלטפורמה).
כללי ההזנה דומים ל-MT4 ולשורת הפקודה של windows:

לדוגמה
*usa*
קולט את כל החשבונות שיש בהם את המחרוזת usa.

לדוגמה
!*demo*
מסנן (חוסם) את כל חשבונות שהקבוצה שלהם מכילה את המחרוזת demo.
בהמשך לדוגמה הקודמת
!demo*
מסנן רק את אלו המתחילים במחרוזת, אבל הקבוצה french_demo תיקלט.

יש להפריד בפסיק בין הגדרות (לא לרדת שורה).

שלב 5: הגדרות התנהגות שוטפות דרך יישום הלקוח של הייפר

למד מראש על השדות בטבלה "hyp_Trading Systems List", לחץ על הלחצן "טבלאות נתונים מקושרות" בצד ימין של המסך.
למעשה הטבלה הזאת מאפשרת למנהל המערכת לשלוט בכמה שיותר פרמטרים על הממשק בין הייפר לשרת המסחר.
את מרבית השדות בטבלה (אלו שאינם בפרק הקודם) ניתן לעדכן תוך כדי עבודה שוטפת ומבלי לגרום נזק.
חלק מהשדות הינם לקריאה בלבד ומציינים את יכולות הממשק בין הייפר לפלטפורמה. שדות אחרים מטפלים באופן יצירת חשבונות חדשים דרך הייפר.
בפרק הזה נצטט מעט שדות חשובים נוספים ("סתם שלא יהיה פרק קצר מידי"). באמת שמומלץ ללמוד את הטבלה המלאה.
שם השדה תיאור והערות
TP Friendly Name שם ידידותי של הפלטפורמה ב-CRM וב-RMS
Broadcast Realtime data on Channel # אם משתמשים במודול RMS, כל פלטפורמה מהווה "ערוץ מידע".
ניתן לקבוע ערוץ ממספר 1 עד 20.
ערך ברירת המחדל הינו אפס = ללא ניהול סיכונים.
Exposure must be Covered (Abook) הגדרה: האם החשיפה שנוצרת בפלטפורמה הזו צריכה להיות מכוסה במלואה על ידי ספק נזילות.
בהתאם להגדרה זו, תתקבל התראה בזמן אמת על ידי ה-RMS.
Import New Symbols into "Deleted" storage הפונקציה הזו נחוצה להטמעות של שרתי מסחר תחת רגולציה.
ערך YES חוסם את כניסתם של סימבולים חדשים אל הייפר ובמקום זאת שומר אותם באחסון המחוקים (Deleted).
כך שקציני הציות יכולים לשלוט במערכת ולהעביר סימבולים נחוצים ומאושרים מה-"מחוקים" אל ה-"רגילים" (אחסון Normal).
Analytics Currency ערך ברירת המחדל הינו USD. בעבר כל החישובים והשערוכים של העסקאות היו במטבע חשבון המסחר וגם לדולר בשדה נפרד.
לפי דרישות שהועלו מלקוחות, ניתן מעתה להחליף את מטבע השערוך הנוסף למטבע אחר ובלבד שקיימים צמדי מטבעות לביצוע ההמרה.
הנתונים יכנסו בהייפר לשדות השערוך ב-USD ולכן מטמיע המערכת צריך להחליף את השם הויזואלי של השדות הללו בהתאם להגדרה כאן.
Margin Level Alerts Under קובע את אחוז הביטחונות שממנו ומטה ישודרו התראות למסך RMS.
Missing Feed Alerts האם להפעיל את מנגנון ההתראות על פידים חסרים במודול ה- RMS.
כאשר מופעל ולסימבול חסר פיד מעל [Alert Feed after # Seconds] שניות - ובשעות המסחר שלו !
תופיע התראה ב- RMS (ההתראה משודרת מיישום המסחר אל הייפר).
לאחר קביעת הערכים (ואולי גם שדות נוספים שלא מובאים כאן), יש לבצע אתחול נוסף ליישום הממשק, שהרי ההגדרות נקלטות בו רק בעת האתחול.