النتائج 1 إلى 5 من 5
الموضوع: سؤال برمجى للاستاذ اسامه
- 08-11-2011, 01:45 AM #1
سؤال برمجى للاستاذ اسامه
السلام عليكم استاذ اسامه
لو سمحت كنت عايز كود يعمل الاتى
اذا كان الفرق بين سعر الاغلاق للشمعه اللى قبل السابقه و سعر الاغلاق للشمعه السابقه اكثر من 10 نقاط افتح
صفقة شراء
فكتب التالى
الكود الاولى
كود PHP:int start()
{
double a=iClose(Symbol(),PERIOD_H1,1);
double b=iClose(Symbol(),PERIOD_H1,2);
if(b-a>10){
OrderSend(Symbol(),0,1,Ask,3,50,50,"ahmed",1111,0,Blue);
}
}
كود PHP:int start()
{
if(Close[2]-Close[1]>10){
OrderSend(Symbol(),0,1,Ask,3,50,50,"ahmed",1111,0,Blue);
}
}
وشاكر افضالك مقدما استاذى اسامهآخر تعديل بواسطة مبدع فوركس ، 08-11-2011 الساعة 01:47 AM
- 08-11-2011, 02:24 AM #2
وعليكم السلام ورحمة الله وبركاته
ينقصك جزء بسيط جدا فلو لاحظت مثلا إذا كان إغلاق الشمعه السابقه 1.4030 وإغلاق الشمعه قبل
السابقه 1.4070
فسوف يصبح الكود
1.4070 - 1.4030 = 0.0040
لكن لاحظ القيمة التي كتبتها أنت وهي 10 بالتالي لن يتحقق الشرط أبدا
لذلك يجب أن تقوم بتحويل الرقم 10 إلى قيمته بالنقاط فسوف تجعله 10*Point
فسوف يصبح الكود
كود PHP:int start()
{
double a=iClose(Symbol(),PERIOD_H1,1);
double b=iClose(Symbol(),PERIOD_H1,2);
if(b-a>10*Point){
OrderSend(Symbol(),0,1,Ask,3,50,50,"ahmed",1111,0,Blue);
}
if(Close[2]-Close[1]>10*Point){
OrderSend(Symbol(),0,1,Ask,3,50,50,"ahmed",1111,0,Blue);
}
}
- 08-11-2011, 11:46 AM #3
شكرا استاذ اسامه ولاكن الاكسبيرت للأسف لم يشتغل بعد التعديل
فعدلت فى الاوردر سيند وفعلت به كما تفعل انت فى اكسبيرتاتك ولم يشتغل ايضا
الكود بالرفق
- 11-11-2011, 02:46 PM #4
للرفع
- 11-11-2011, 06:09 PM #5
دائما أول ما تطلع عليه هو الأخطاء التي تظهر لديك في خانة الجورنال حتى تستطيع معرفة سبب الخطأ
فإذا لم تظهر لك أخطاء فهذا يعني أن السبب في شروط الإكسبرت وإمكانية عدم تحققها
عندما قمت بعمل باك تست للإكسبرت ظهر خطأ 130 وهذا يعني خطأ في وضع الهدف أو الإستوب لوز
أنت جعلت الأمر بالشكل التالي
كود PHP:OrderSend(Symbol(),OP_BUY,1,NormalizeDouble(Ask,Digits),3,NormalizeDouble(50,Digits),NormalizeDouble(50,Digits),"ahmed",1110,0,Blue);
فمثلا إذا كان سعر الدخول هو Ask
فيجب أن يكون الأستوب
كود PHP:Ask-50*Point
كود PHP:Ask+50*Point