رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة محمود عامر
اخي الكريم
مشكلتك أنك لم تضع قوس لنهاية الدالة
Object Creat
انظر النسخة المرفقة بينت لك مكان الغلط
جزاك الله خير الدنيا والآخرة:icon26:
رد: موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمة الله وبركاته
أخي محمود عامر ممكن تساعدني في تعديل الاكسبيرت الموجود في المشاركة
https://forum.arabictrader.com/t3761...tml#post623957
رد: موضوع مخصص للأسئلة البرمجية
الاخوة الاكارم السلام عليكم
سؤال لو سمحتم عن كيفية تحديد high او low لشمعة محددة مثلا الشمعة رقم 2 على الشارت كل يوم
وذلك لاستخدام هذا high او low في معادلات معينة قد تستخدم هذه المعادلات بأي وقت من اليوم
وجزاكم الله خيرا
1 مرفق
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة نجاح
أختي الكريمة
اولا لديك غلط صغير في حساب هدف البيع حيث قمت باستخدام المعادلة :
نقاط الهدف ناقص افتتاح الشمعة
و الصواب أن تستخدمي المعادلة التالية :
افتتاح الشمعة ناقص نقاط الهدف
لأنه في الحالة الاولى سينتج لديك قيمة سالبة و سيكون غلط في التنفيذ
و أيضا في حساب الهدف لكل من البيع و الشراء عندما تقسمس ناتج طرح عددين على 2
فتخيلي لو أن ناتج الطرح عدد مفرد مثل 13 مثلا و عند قسمته على 2 سينتج لديك رقم عشري زيادة عن الارقام المسموحة لكل زوج و التي هي Digits
يعني لو كان العمل على المجنون و كان الهدف مثلا 202.152
طبعا لن ينفذه السيرفر
و أيضا يفضل دائما البيع بسعرالبيد و الشراء بسعر الاسك
انا قمت بعمل هذه التعديلات انظري الملف المرفق
و بقي لديك حالة واحدة سوف تعطيكي غلط عندما تصادف و هي
عندما يكون الهدف أو الاستوب أقرب من النقاط التي يسمح بها السيرفر للتنفيذ فسيعطيكي البرنامج غلط
عادة تكون 5 نقاط في اليورو فلو كان هدفك او استوبك اربع نقاط فلن تنفذ العملية لذا من الافضل أن تضعي شرط لو كان احدهما اقل من عدد معين أن يستخدم القيمة المسموحة
بالتوفيق
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة ABU-NOOR
الاخوة الاكارم السلام عليكم
سؤال لو سمحتم عن كيفية تحديد high او low لشمعة محددة مثلا الشمعة رقم 2 على الشارت كل يوم
وذلك لاستخدام هذا high او low في معادلات معينة قد تستخدم هذه المعادلات بأي وقت من اليوم
وجزاكم الله خيرا
أخي يمكنك ذلك عن طريق حفظ الرقم في متغير خارجي
أو من خلال حلقة تمر على الشمعة ذات التوقيت المحدد من خلال توقيتها
هل هي شمعة الساعة ؟
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة محمود عامر
أختي الكريمة
اولا لديك غلط صغير في حساب هدف البيع حيث قمت باستخدام المعادلة :
نقاط الهدف ناقص افتتاح الشمعة
و الصواب أن تستخدمي المعادلة التالية :
افتتاح الشمعة ناقص نقاط الهدف
لأنه في الحالة الاولى سينتج لديك قيمة سالبة و سيكون غلط في التنفيذ
و أيضا في حساب الهدف لكل من البيع و الشراء عندما تقسمس ناتج طرح عددين على 2
فتخيلي لو أن ناتج الطرح عدد مفرد مثل 13 مثلا و عند قسمته على 2 سينتج لديك رقم عشري زيادة عن الارقام المسموحة لكل زوج و التي هي Digits
يعني لو كان العمل على المجنون و كان الهدف مثلا 202.152
طبعا لن ينفذه السيرفر
و أيضا يفضل دائما البيع بسعرالبيد و الشراء بسعر الاسك
انا قمت بعمل هذه التعديلات انظري الملف المرفق
و بقي لديك حالة واحدة سوف تعطيكي غلط عندما تصادف و هي
عندما يكون الهدف أو الاستوب أقرب من النقاط التي يسمح بها السيرفر للتنفيذ فسيعطيكي البرنامج غلط
عادة تكون 5 نقاط في اليورو فلو كان هدفك او استوبك اربع نقاط فلن تنفذ العملية لذا من الافضل أن تضعي شرط لو كان احدهما اقل من عدد معين أن يستخدم القيمة المسموحة
بالتوفيق
صباح الخيرات
مشكور جدا اخوي محمود على المساعدة وتلبية طلبي
صراحة أنا سعيد جدا
والشي الآخير انا اسمي هاني ولست ؟؟
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة محمود عامر
أخي يمكنك ذلك عن طريق حفظ الرقم في متغير خارجي
أو من خلال حلقة تمر على الشمعة ذات التوقيت المحدد من خلال توقيتها
هل هي شمعة الساعة ؟
جزاك الله خير اخي محمود
نعم الشمعة هي شمعة الساعة 2 وهذا الكود الذي استخدمته لكن القيمة تتغير اذا دخلنا على الشمعة الساعة 4 وتصبح صفر
كود:
if(Hour()==3)
{
double H_High=iHigh(Symbol(),PERIOD_H1,1);
double H_Low=iLow(Symbol(),PERIOD_H1,1);
}
ايضا اغلبك اخي لو تعطيني كود لطريقة استخدام الحلقة لاني لست متمكنا من موضوع الحلقات
بارك الله في جهدك وعلمك
رد: موضوع مخصص للأسئلة البرمجية
هل كتابة أمر إغلاق الصفقة في الإكسبيرت بهذا الشكل صحيحة...حيث أريد القول للإكسبرت أن يغلق الصفقة عند الوصول إلى الربح المحدد مسبقاً أو الوصول إلى وقف الخسارة.شكراً لكم
كود PHP:
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
if(OrderType()==OP_BUY)
{
if((Bid >= Point*Takeprofit) && (Bid >= Point*Stoploss))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
return(0); // exit
}
else // go to short position
{
if(OrderType()==OP_SELL)
{
if((Ask >= Point*Takeprofit) && (Ask >= Point*Stoploss))
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
return(0); // exit
}
}
}
}
}
رد: موضوع مخصص للأسئلة البرمجية
لدي سؤال
كيف استطيع عمل شرط بحيث لايفتح صفقة مرة آخرى عند تحقق الشرط
قمت بوضع الكود الذي كتبه استاذنا محمود عامر
والمشكلة انا الاكسبيرت بدا يفتح صفقة شراء مرة والآخرى بيع
كود PHP:
bool buy=true,sell=true;
كود PHP:
buy=true;
sell=true;
رد: موضوع مخصص للأسئلة البرمجية
لدي طلب ايضا من اخي محمود عامر
لديك مشاركة في موضوع
شموع الساعة 13 للمجنون
ولقد قمت مشكور بعمل مؤشر لهذه الطريقة
هل من الممكن تحويل المؤشر الى اكسبيرت قابل لتعديل
ولك جزيل الشكر انت وجميع الاخوان
وجعله الله في ميزان حسناتك انشاء الله
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة نجاح
والشي الآخير انا اسمي هاني ولست ؟؟
أعتذر :eh_s(7):
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة ABU-NOOR
جزاك الله خير اخي محمود نعم الشمعة هي شمعة الساعة 2 وهذا الكود الذي استخدمته لكن القيمة تتغير اذا دخلنا على الشمعة الساعة 4 وتصبح صفر كود:
if(Hour()==3)
{
double H_High=iHigh(Symbol(),PERIOD_H1,1);
double H_Low=iLow(Symbol(),PERIOD_H1,1);
}
ايضا اغلبك اخي لو تعطيني كود لطريقة استخدام الحلقة لاني لست متمكنا من موضوع الحلقات بارك الله في جهدك وعلمك
تفضل أخي
كود PHP:
extern int CandelHour=2;
كود PHP:
for(int i=24;i>=1;i--)
{
if(TimeHour(Time[i])==CandelHour)
{
double H_High=iHigh(Symbol(),PERIOD_H1,1);
double H_Low=iLow(Symbol(),PERIOD_H1,1);
Comment(H_High," ",H_Low);
}
}
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة najem
هل كتابة أمر إغلاق الصفقة في الإكسبيرت بهذا الشكل صحيحة...حيث أريد القول للإكسبرت أن يغلق الصفقة عند الوصول إلى الربح المحدد مسبقاً أو الوصول إلى وقف الخسارة.شكراً لكم
كود PHP:
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
if(OrderType()==OP_BUY)
{
if((Bid >= Point*Takeprofit) && (Bid >= Point*Stoploss))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
return(0); // exit
}
else // go to short position
{
if(OrderType()==OP_SELL)
{
if((Ask >= Point*Takeprofit) && (Ask >= Point*Stoploss))
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
return(0); // exit
}
}
}
}
}
أخي الكريم لماذا لاتضع هدف و استوب للاوردر و تنتهي المشكلة ؟
على العموم كودك غلط أنظر الكود التالي
يجب أن يكون الاستوب و الهدف من نقطة الدخول
كود PHP:
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
if(OrderType()==OP_BUY)
{
if((Bid >=(نقطة الدخول)+ Point*Takeprofit) || (Bid <= (نقطة الدخول)-Point*Stoploss))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
return(0); // exit
}
else // go to short position
{
if(OrderType()==OP_SELL)
{
if((Ask <=(نقطة الدخول)- Point*Takeprofit) || (Ask >=(نقطة الدخول )+ Point*Stoploss))
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
return(0); // exit
}
}
}
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة نجاح
لدي سؤال
كيف استطيع عمل شرط بحيث لايفتح صفقة مرة آخرى عند تحقق الشرط
قمت بوضع الكود الذي كتبه استاذنا محمود عامر
والمشكلة انا الاكسبيرت بدا يفتح صفقة شراء مرة والآخرى بيع
كود PHP:
bool buy=true,sell=true;
كود PHP:
buy=true;
sell=true;
هل تعني أن لا يفتح بنفس الشمعة ؟
و لكن ليس من المفترض ان تكون شراء ثم بيع , قد تكون شراء و بعدها شراء و لكن لا تريد نفس الشمعة التي دخل عليها سابق .
هل ما فهمته صحيح ؟
رد: موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة نجاح
لدي طلب ايضا من اخي محمود عامر
لديك مشاركة في موضوع
شموع الساعة 13 للمجنون
ولقد قمت مشكور بعمل مؤشر لهذه الطريقة
هل من الممكن تحويل المؤشر الى اكسبيرت قابل لتعديل
ولك جزيل الشكر انت وجميع الاخوان
وجعله الله في ميزان حسناتك انشاء الله
لماذا لا تبدأ أنت بعمله و نصحح لك ؟؟؟