1 مرفق
طلب بسيط من خبراء البرمجه
السلام عليكم ورحمة الله وبركاته
أولا اود التقدم بالشكر لكل الاخوة المبرمجين لما يقدموه من مساعدة لاعضاء المنتدى سائلا الله ان يجعل هذا المجهود في ميزان حسناتهم
منذ أكثر من 3 أسابيع وأنا أحاول برمجة خط ترند بزاوية يعطي تنبيه عند اختراق السعر له وبالفعل توصلت لطريقة صحيحة لرسم الخط ولكن المشكلة تكمن في انه يعطي التنبيه عند كل حركة للسعر حتى لو السعر بعيد عنه ولم يخترقه
أرجو المساعدة في ظبط المعادلة الخاصة بالتنبيه بحيث يعطي التنبيه فقط عند ملامسة السعر للخط
وشكرا مقدما يا إخواني
كود:
//+------------------------------------------------------------------+
//| HLine Alert.mq4 |
//+------------------------------------------------------------------+
#property copyright "[email protected]"
#property indicator_chart_window
extern string TLineName="MyLine2";
extern color LineColor=Red;
extern int LineStyle=STYLE_SOLID;
extern string AlertWav="alert.wav";
extern int AlertPipRange=1;
extern double Angle=45;
extern double Price1=00000;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
ObjectCreate(TLineName, OBJ_TRENDBYANGLE, 0, Time[5], Price1, Time[1], Ask);
ObjectSet(TLineName, OBJPROP_ANGLE, Angle);
double val=ObjectGetValueByShift(TLineName, 0);
if (Bid== val) PlaySound(AlertWav);
PlaySound(AlertWav);
SendMail("TLine Alert","T Line Alert Pip Range");
SendNotification("T LIne Alert Pip Range");
//----
//----
return(0);
}
//+------------------------------------------------------------------+
رد:طلب بسيط من خبراء البرمجه
اقتباس:
المشاركة الأصلية كتبت بواسطة ahm_zoz
السلام عليكم ورحمة الله وبركاته
أولا اود التقدم بالشكر لكل الاخوة المبرمجين لما يقدموه من مساعدة لاعضاء المنتدى سائلا الله ان يجعل هذا المجهود في ميزان حسناتهم
منذ أكثر من 3 أسابيع وأنا أحاول برمجة خط ترند بزاوية يعطي تنبيه عند اختراق السعر له وبالفعل توصلت لطريقة صحيحة لرسم الخط ولكن المشكلة تكمن في انه يعطي التنبيه عند كل حركة للسعر حتى لو السعر بعيد عنه ولم يخترقه
أرجو المساعدة في ظبط المعادلة الخاصة بالتنبيه بحيث يعطي التنبيه فقط عند ملامسة السعر للخط
وشكرا مقدما يا إخواني
كود:
//+------------------------------------------------------------------+
//| HLine Alert.mq4 |
//+------------------------------------------------------------------+
#property copyright "[email protected]"
#property indicator_chart_window
extern string TLineName="MyLine2";
extern color LineColor=Red;
extern int LineStyle=STYLE_SOLID;
extern string AlertWav="alert.wav";
extern int AlertPipRange=1;
extern double Angle=45;
extern double Price1=00000;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
ObjectCreate(TLineName, OBJ_TRENDBYANGLE, 0, Time[5], Price1, Time[1], Ask);
ObjectSet(TLineName, OBJPROP_ANGLE, Angle);
double val=ObjectGetValueByShift(TLineName, 0);
if (Bid== val) PlaySound(AlertWav);
PlaySound(AlertWav);
SendMail("TLine Alert","T Line Alert Pip Range");
SendNotification("T LIne Alert Pip Range");
//----
//----
return(0);
}
//+------------------------------------------------------------------+
وعليكم السلام ورحمة الله وبركاته
أنت وضعت الشرط
كود PHP:
if (Bid== val) PlaySound(AlertWav);
PlaySound(AlertWav);
SendMail("TLine Alert","T Line Alert Pip Range");
SendNotification("T LIne Alert Pip Range");
وهذا يعني أن الشرط السعر = قيمة الخط تنطبق على السطر الأول فقط
أما إذا تريد وضع الشرط لجميع الأوامر فيجب أن تضعها بين أقواس
مثل
كود PHP:
if (Bid== val)
{
PlaySound(AlertWav);
PlaySound(AlertWav);
SendMail("TLine Alert","T Line Alert Pip Range");
SendNotification("T LIne Alert Pip Range");
}
رد:طلب بسيط من خبراء البرمجه
اقتباس:
المشاركة الأصلية كتبت بواسطة ahm_zoz
تمام يا باشا المشكلة مش في نوع التنبيه او في رسالة الايميل ... المشكلة في الشرط ذات نفسه لا يتحقق ابدا (قيمة الخط والسعر لا ينطبقان ابدا)
يعني كود:
if (Bid== val) PlaySound(AlertWav);
مثل كود:
if (Bid== val)
{
PlaySound(AlertWav);
PlaySound(AlertWav);
SendMail("TLine Alert","T Line Alert Pip Range");
SendNotification("T LIne Alert Pip Range");
}
الخطأ هنا
ولكني لا اعرف كيف اصلحه
إجعل الشرط مثل
كود PHP:
if((Open[0]<val&&Close[0]>=val)||(Open[0]>val&&Close[0]<=val))PlaySound(AlertWav);
بذلك ستتجنب الإنزلاقات السعريه وعدم تطابق السعر بالظبط