רפי שאלה לגבי תכנות בMT4

  • פותח הנושא poap
  • פורסם בתאריך

poap

New member
רפי שאלה לגבי תכנות בMT4

יש לי אינדיקטור שלא מעדכן כל תזוזה של BAR
איך אני גורם לו לעדכן את המסך כדי שיראה מה שהאינדיקטור מראה?
 

rafipips

New member
אינדיקטור אמור לעדכן כל טיק

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

poap

New member
מה אם זה לא מעדכן

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

rafipips

New member
הסיבה בדרך כלל היא זו

יש שתי פונקציות בסיסיות באינדיקטור , שבתוכם רץ הקוד .
אחת רצה בהפעלה ראשונית בלבד או לחילופין כשאתה מחליף TF . ושמה בישראל - int deinit()
השניה רצה בכל טיק . ושמה בישראל - int start()
האינדיקטור לא מעדכן לך בכל טיק , כי מה שצריך להיות ב START נמצא ב DEINIT .
הסיבה להפרדה בפונקציות היא כדי שהאינדיקטור לא יעשה חישובים מיותרים בכל טיק . לכן מה שצריך הפעלה פעם אחת בלבד נמצא ב - DEINIT .
 

poap

New member
מממ.. חשבתי אבל שDeinit

חשבתי שה
deinit זה שאתה מחליף צ'ארט אז הוא עושה את הפעולות החד פעמיות של הניקוי מסך וכו' לקראת הפתיחה מחדש
וה
init זה לפני פתיחת הצ'ארט שהוא עושה את הפעולות החד פעמיות כדי לא להעמיס על המחשב בכל טיק

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


אני מנסה שבכל פעם שנוצר BAR חדש הוא יעשה חישוב חד פעמי ויתן לי alert חד פעמי לאותו BAR אם התנאים שהגדרתי מתקיימים

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

rafipips

New member
סליחה הפכתי את INIT עם DEINIT

INIT זו הפונקציה הראשונה שרצה בהתחלה פעם אחת
 

rafipips

New member
הבעיה שאתה מתאר לא קשורה ל INIT ו START

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

poap

New member
איך אתה עושה במיצועים שלך

שאתה צריך לפתוח רק פקודת קנייה\מכירה אחת והאקספרט לא פותח 20 עסקאות? זה על אותו רעיון לא?
 

rafipips

New member
זה לא אותו דבר

אצלי יש הגבלה לפי מרחק ממחיר העסקה הקודמת
והגבלה של זמן בין עסקה לעסקה
 

poap

New member
איך עושים הגבלה של זמן? זה בדיוק מה שאני צריך

 

rafipips

New member


 
למעלה