FX-Arabia

جديد المواضيع











الملاحظات

منتدى المؤشرات و الاكسبيرتات تعليم برمجة الاكسبيرت ، اكسبيرت مجانى ، برمجة مؤشرات ، مؤشر ، تصميم اكسبيرت مجانا ، اكسبيرتات جديدة ، مؤشرات جديدة ، كل ما يتعلق بالتحليل و الخاص بالمؤشرات الفنية او الرقمية ، Expert advisor ، mql ، mql4 ، دورة برمجة ، برمجة اكسبيرت ، اكسبيرت رابح ، اكسبيرت جيد ، ادارة حسابات ، تداول الى ، ميتاتريدر ، تحميل منصة ، منصة تداول ، برمجة مؤشر ، مكتبة مؤشرات ، مؤشر جديد ، مؤشرات جديدة ، مؤشر حصرى ، احدث مؤشر .



إضافة رد
 
أدوات الموضوع
قديم 04-06-2016, 01:48 PM   المشاركة رقم: 561
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

البيانات
تاريخ التسجيل: Apr 2012
رقم العضوية: 9148
الدولة: alexandria - egypt
المشاركات: 5,888
بمعدل : 1.28 يوميا

الإتصالات
الحالة:
اسلام العوامى غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة بهاء الدين نقره لعرض الصورة في صفحة مستقلة
السلام عليكم
في ىالمحاضرة 9 من دروس البرمجة الاحترافية حاولت التطبيق على المنصة البرنامج لكن البرنامج لا يفتح صفقات و يظهر الخطا130 .كود البرنامج كما يلي .ارجو المساعدة من الاخوة المبرمجين لمعرفة الخطا بالتحديد

extern string F = "fast ma setting";
extern int fperiod = 10;
extern int fshift = 0;
extern int fmethod = 0;
extern int fapplied = 0 ;
extern string S = "slow ma setting";
extern int speriod = 50;
extern int sshift = 0;
extern int smethod = 0;
extern int sapplied = 0;
extern string e = "ea managment";
extern int Takeproft = 50;
extern int Stoploss = 20;
extern double Lot = 0.1;
extern int Magic = 112255;
int T;


//--------------------------------------------------------------------------------------------------------------
int start()
{
double tiksize = MarketInfo(Symbol(),MODE_TICKSIZE);

T=1; if(Digits==5||Digits==3){T=10;}


double fmalast = iMA(Symbol(),0,fperiod,fshift,fmethod,fapplied,2);
double fmanow = iMA(Symbol(),0,fperiod,fshift,fmethod,fapplied,1);
double smalast = iMA(Symbol(),0,speriod,sshift,smethod,sapplied,2);
double smanow = iMA(Symbol(),0,speriod,sshift,smethod,sapplied,1);
if(fmalast<smalast&&fmanow>smanow)

OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-(Stoploss*Point*T),Ask+(Takeproft*Point*T),NULL,Magic,0,clrAliceBlue);

if(fmalast>smalast&&fmanow<smanow)

OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Bid+(Stoploss*Point*T),Bid-(Takeproft*Point*T),NULL,Magic,0,clrRed);


return (0);
}
//---------------------------------------------------------------------------------------------------------------
،،،اهلا بك اخي الفاضل ، قم بعمل التعديلات الموجوده بالاقتباس باللون الاحمر وسيعمل الاكسبيرت بشكل سليم،،،

،،،تحياتي،،،



التوقيع

عرض البوم صور اسلام العوامى  
رد مع اقتباس
  #561  
قديم 04-06-2016, 01:48 PM
اسلام العوامى اسلام العوامى غير متواجد حالياً
عضو ذهبى
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة بهاء الدين نقره لعرض الصورة في صفحة مستقلة
السلام عليكم
في ىالمحاضرة 9 من دروس البرمجة الاحترافية حاولت التطبيق على المنصة البرنامج لكن البرنامج لا يفتح صفقات و يظهر الخطا130 .كود البرنامج كما يلي .ارجو المساعدة من الاخوة المبرمجين لمعرفة الخطا بالتحديد

extern string F = "fast ma setting";
extern int fperiod = 10;
extern int fshift = 0;
extern int fmethod = 0;
extern int fapplied = 0 ;
extern string S = "slow ma setting";
extern int speriod = 50;
extern int sshift = 0;
extern int smethod = 0;
extern int sapplied = 0;
extern string e = "ea managment";
extern int Takeproft = 50;
extern int Stoploss = 20;
extern double Lot = 0.1;
extern int Magic = 112255;
int T;


//--------------------------------------------------------------------------------------------------------------
int start()
{
double tiksize = MarketInfo(Symbol(),MODE_TICKSIZE);

T=1; if(Digits==5||Digits==3){T=10;}


double fmalast = iMA(Symbol(),0,fperiod,fshift,fmethod,fapplied,2);
double fmanow = iMA(Symbol(),0,fperiod,fshift,fmethod,fapplied,1);
double smalast = iMA(Symbol(),0,speriod,sshift,smethod,sapplied,2);
double smanow = iMA(Symbol(),0,speriod,sshift,smethod,sapplied,1);
if(fmalast<smalast&&fmanow>smanow)

OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-(Stoploss*Point*T),Ask+(Takeproft*Point*T),NULL,Magic,0,clrAliceBlue);

if(fmalast>smalast&&fmanow<smanow)

OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Bid+(Stoploss*Point*T),Bid-(Takeproft*Point*T),NULL,Magic,0,clrRed);


return (0);
}
//---------------------------------------------------------------------------------------------------------------
،،،اهلا بك اخي الفاضل ، قم بعمل التعديلات الموجوده بالاقتباس باللون الاحمر وسيعمل الاكسبيرت بشكل سليم،،،

،،،تحياتي،،،




رد مع اقتباس
قديم 04-06-2016, 04:08 PM   المشاركة رقم: 562
الكاتب
بهاء الدين
عضو جديد

البيانات
تاريخ التسجيل: Jan 2015
رقم العضوية: 22722
المشاركات: 10
بمعدل : 0.00 يوميا

الإتصالات
الحالة:
بهاء الدين غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

اشكرك اخي و بارك الله فيك



عرض البوم صور بهاء الدين  
رد مع اقتباس
  #562  
قديم 04-06-2016, 04:08 PM
بهاء الدين بهاء الدين غير متواجد حالياً
عضو جديد
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

اشكرك اخي و بارك الله فيك




رد مع اقتباس
قديم 04-06-2016, 05:19 PM   المشاركة رقم: 563
الكاتب
Pips Hunter
عضو فعال

البيانات
تاريخ التسجيل: Sep 2010
رقم العضوية: 1383
الدولة: الآسكندرية
العمر: 39
المشاركات: 862
بمعدل : 0.17 يوميا

الإتصالات
الحالة:
Pips Hunter غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

السلام عليكم
اخى الكريم اسلام
عندى استفسار وهو ان عندى مؤشر رقمي مهمته هو حسابه بعض البيانات مثل قيمة الموفنج 200 على فريمات مختلفة فى نفس الوقت
احاول ان اعمل باك تست له ولكن المشكلة اثناء الباك تست ان البيانات التى يعطيها المؤشر كلها غلط عدا بيانات نفس الفريم الى التست عليه فقط رغم انه فى الواقع والحقيقة غير كدة وبيحسب كل الفريمات فى وقت واحد
لذلك الباك تست بيخلى المؤشر لايعمل بشكل صحيح الا على الفريم الى التست شغال عليه فقط ،، رغم انه يعمل على 4 فريمات فى وقت واحد فى الحالة الطبيعيه وهو 1 - 5 - 15 - 30 دقيقة
فهل يوجد حل برمجي لهذه المشكلة ؟؟



التوقيع

شعاري فى الحياة
V V V
نقره لعرض الصورة في صفحة مستقلة


عرض البوم صور Pips Hunter  
رد مع اقتباس
  #563  
قديم 04-06-2016, 05:19 PM
Pips Hunter Pips Hunter غير متواجد حالياً
عضو فعال
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

السلام عليكم
اخى الكريم اسلام
عندى استفسار وهو ان عندى مؤشر رقمي مهمته هو حسابه بعض البيانات مثل قيمة الموفنج 200 على فريمات مختلفة فى نفس الوقت
احاول ان اعمل باك تست له ولكن المشكلة اثناء الباك تست ان البيانات التى يعطيها المؤشر كلها غلط عدا بيانات نفس الفريم الى التست عليه فقط رغم انه فى الواقع والحقيقة غير كدة وبيحسب كل الفريمات فى وقت واحد
لذلك الباك تست بيخلى المؤشر لايعمل بشكل صحيح الا على الفريم الى التست شغال عليه فقط ،، رغم انه يعمل على 4 فريمات فى وقت واحد فى الحالة الطبيعيه وهو 1 - 5 - 15 - 30 دقيقة
فهل يوجد حل برمجي لهذه المشكلة ؟؟




رد مع اقتباس
قديم 04-06-2016, 05:54 PM   المشاركة رقم: 564
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

البيانات
تاريخ التسجيل: Apr 2012
رقم العضوية: 9148
الدولة: alexandria - egypt
المشاركات: 5,888
بمعدل : 1.28 يوميا

الإتصالات
الحالة:
اسلام العوامى غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة Pips Hunter نقره لعرض الصورة في صفحة مستقلة
السلام عليكم
اخى الكريم اسلام
عندى استفسار وهو ان عندى مؤشر رقمي مهمته هو حسابه بعض البيانات مثل قيمة الموفنج 200 على فريمات مختلفة فى نفس الوقت
احاول ان اعمل باك تست له ولكن المشكلة اثناء الباك تست ان البيانات التى يعطيها المؤشر كلها غلط عدا بيانات نفس الفريم الى التست عليه فقط رغم انه فى الواقع والحقيقة غير كدة وبيحسب كل الفريمات فى وقت واحد
لذلك الباك تست بيخلى المؤشر لايعمل بشكل صحيح الا على الفريم الى التست شغال عليه فقط ،، رغم انه يعمل على 4 فريمات فى وقت واحد فى الحالة الطبيعيه وهو 1 - 5 - 15 - 30 دقيقة
فهل يوجد حل برمجي لهذه المشكلة ؟؟
،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، يجب الاطلاع علي كود المؤشر لمعرفة المشكلة وبالتالي ايجاد حل لها،،،

،،،تحياتي،،،



التوقيع

عرض البوم صور اسلام العوامى  
رد مع اقتباس
  #564  
قديم 04-06-2016, 05:54 PM
اسلام العوامى اسلام العوامى غير متواجد حالياً
عضو ذهبى
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة Pips Hunter نقره لعرض الصورة في صفحة مستقلة
السلام عليكم
اخى الكريم اسلام
عندى استفسار وهو ان عندى مؤشر رقمي مهمته هو حسابه بعض البيانات مثل قيمة الموفنج 200 على فريمات مختلفة فى نفس الوقت
احاول ان اعمل باك تست له ولكن المشكلة اثناء الباك تست ان البيانات التى يعطيها المؤشر كلها غلط عدا بيانات نفس الفريم الى التست عليه فقط رغم انه فى الواقع والحقيقة غير كدة وبيحسب كل الفريمات فى وقت واحد
لذلك الباك تست بيخلى المؤشر لايعمل بشكل صحيح الا على الفريم الى التست شغال عليه فقط ،، رغم انه يعمل على 4 فريمات فى وقت واحد فى الحالة الطبيعيه وهو 1 - 5 - 15 - 30 دقيقة
فهل يوجد حل برمجي لهذه المشكلة ؟؟
،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، يجب الاطلاع علي كود المؤشر لمعرفة المشكلة وبالتالي ايجاد حل لها،،،

،،،تحياتي،،،




رد مع اقتباس
قديم 04-06-2016, 06:02 PM   المشاركة رقم: 565
الكاتب
Pips Hunter
عضو فعال

البيانات
تاريخ التسجيل: Sep 2010
رقم العضوية: 1383
الدولة: الآسكندرية
العمر: 39
المشاركات: 862
بمعدل : 0.17 يوميا

الإتصالات
الحالة:
Pips Hunter غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة اسلام العوامى نقره لعرض الصورة في صفحة مستقلة


،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، يجب الاطلاع علي كود المؤشر لمعرفة المشكلة وبالتالي ايجاد حل لها،،،

،،،تحياتي،،،
تفضل اخى اسلام
فى المؤشر 8 strings
MA1
MA2
MA3
الي اخري وفكرة عمل المؤشر انه يحسب مدي بعد السعر الحالى ارتفاعا او انخفاضا عن خط الموفنج لفريم معين
من 1 الي 8 على 8 فريمات مختلفة لمعرفة اتجاة الترند العام



التوقيع

شعاري فى الحياة
V V V
نقره لعرض الصورة في صفحة مستقلة


عرض البوم صور Pips Hunter  
رد مع اقتباس
  #565  
قديم 04-06-2016, 06:02 PM
Pips Hunter Pips Hunter غير متواجد حالياً
عضو فعال
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة اسلام العوامى نقره لعرض الصورة في صفحة مستقلة


،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، يجب الاطلاع علي كود المؤشر لمعرفة المشكلة وبالتالي ايجاد حل لها،،،

،،،تحياتي،،،
تفضل اخى اسلام
فى المؤشر 8 strings
MA1
MA2
MA3
الي اخري وفكرة عمل المؤشر انه يحسب مدي بعد السعر الحالى ارتفاعا او انخفاضا عن خط الموفنج لفريم معين
من 1 الي 8 على 8 فريمات مختلفة لمعرفة اتجاة الترند العام




رد مع اقتباس
قديم 04-06-2016, 06:03 PM   المشاركة رقم: 566
الكاتب
Pips Hunter
عضو فعال

البيانات
تاريخ التسجيل: Sep 2010
رقم العضوية: 1383
الدولة: الآسكندرية
العمر: 39
المشاركات: 862
بمعدل : 0.17 يوميا

الإتصالات
الحالة:
Pips Hunter غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المؤشر فى المرفقات



الملفات المرفقة
نوع الملف: mq4 PH2012.mq4‏ (10.9 كيلوبايت, المشاهدات 8)
التوقيع

شعاري فى الحياة
V V V
نقره لعرض الصورة في صفحة مستقلة


عرض البوم صور Pips Hunter  
رد مع اقتباس
  #566  
قديم 04-06-2016, 06:03 PM
Pips Hunter Pips Hunter غير متواجد حالياً
عضو فعال
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المؤشر فى المرفقات




الملفات المرفقة
نوع الملف: mq4 PH2012.mq4‏ (10.9 كيلوبايت, المشاهدات 8)
رد مع اقتباس
قديم 23-06-2016, 08:23 PM   المشاركة رقم: 567
الكاتب
rami.signals
عضو جديد

البيانات
تاريخ التسجيل: Jun 2016
رقم العضوية: 31578
العمر: 46
المشاركات: 4
بمعدل : 0.00 يوميا

الإتصالات
الحالة:
rami.signals غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

السلام عليكم

هل من مستجيب لسؤالي لو تكرمتوا
ما خليت غوغل ومنتديات ومبرمجين وشركات إلا و سألتهم و لا يوجد رد حتى الأن

أريد كود تبريد الصفات ياجماعة طلعت روحي وما كنت حصل هذا الكود أرجو المساعدة



عرض البوم صور rami.signals  
رد مع اقتباس
  #567  
قديم 23-06-2016, 08:23 PM
rami.signals rami.signals غير متواجد حالياً
عضو جديد
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

السلام عليكم

هل من مستجيب لسؤالي لو تكرمتوا
ما خليت غوغل ومنتديات ومبرمجين وشركات إلا و سألتهم و لا يوجد رد حتى الأن

أريد كود تبريد الصفات ياجماعة طلعت روحي وما كنت حصل هذا الكود أرجو المساعدة




رد مع اقتباس
قديم 23-06-2016, 10:22 PM   المشاركة رقم: 568
الكاتب
اسلام العوامى
عضو ذهبى
الصورة الرمزية اسلام العوامى

البيانات
تاريخ التسجيل: Apr 2012
رقم العضوية: 9148
الدولة: alexandria - egypt
المشاركات: 5,888
بمعدل : 1.28 يوميا

الإتصالات
الحالة:
اسلام العوامى غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة rami.signals نقره لعرض الصورة في صفحة مستقلة
السلام عليكم

هل من مستجيب لسؤالي لو تكرمتوا
ما خليت غوغل ومنتديات ومبرمجين وشركات إلا و سألتهم و لا يوجد رد حتى الأن

أريد كود تبريد الصفات ياجماعة طلعت روحي وما كنت حصل هذا الكود أرجو المساعدة
،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، الكود موجود بالمشاركة علي الرابط التالي،،،

http://www.fx-arabia.com/vb/showpost...&postcount=559

،،،تحياتي،،،



التوقيع

عرض البوم صور اسلام العوامى  
رد مع اقتباس
  #568  
قديم 23-06-2016, 10:22 PM
اسلام العوامى اسلام العوامى غير متواجد حالياً
عضو ذهبى
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

المشاركة الأصلية كتبت بواسطة rami.signals نقره لعرض الصورة في صفحة مستقلة
السلام عليكم

هل من مستجيب لسؤالي لو تكرمتوا
ما خليت غوغل ومنتديات ومبرمجين وشركات إلا و سألتهم و لا يوجد رد حتى الأن

أريد كود تبريد الصفات ياجماعة طلعت روحي وما كنت حصل هذا الكود أرجو المساعدة
،،،وعليكم السلام ورحمة الله وبركاته،،،

،،،اهلا بك اخي الفاضل ، الكود موجود بالمشاركة علي الرابط التالي،،،

http://www.fx-arabia.com/vb/showpost...&postcount=559

،،،تحياتي،،،




رد مع اقتباس
قديم 24-06-2016, 01:17 AM   المشاركة رقم: 569
الكاتب
rami.signals
عضو جديد

البيانات
تاريخ التسجيل: Jun 2016
رقم العضوية: 31578
العمر: 46
المشاركات: 4
بمعدل : 0.00 يوميا

الإتصالات
الحالة:
rami.signals غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

أستاذ إسلام العوامي

بداية الأمر أشكرك كل الشكر على الرد و انا أتابع فيديوهاتك على اليوتيوب للبرمجة والشكر و التقدير لك على هذه الدروس

لكن الكود الذي أريد هو للتبيريد
و إليك الشرح
1- عندي أكسبرت مفتوح أريد إضافة بعض التعديلات عليه وهي كالتالي

1- عنما يفتح الاكسبرت صفقة بيع مثلا ب 1 لوت في حال خسرت الصفقة 30 أو 40 نقطة فسيقوم الأكسبرت بفتح صفقة بيع أخرى بقيمة 1.4 لوت مثلا و هكذا وفي حال عكس الصفقتين الأولى 80 نقطة والثانية 40 نقطة فسيقوم الاكسبرت بفتح صفقة 1.96 وهكذا تكون المتتالية وسيقوم الأكسبرت بتحريك الهدف لجميع الصفقات بحيث أخرج بربح نهائي 10 نقاط أو 15 ن
هذا الكود الذي أريده أولا

ثانيا : أريد كود أن لايسمح الأكسبرت إلا بفتح زوج واحد في حال تحققت شروط الدخول مع العلم أنني أضع الأكسبرت على جميع الشارتات ( المشكلة التي أوجاهها الأن أن الأكسبرت يفتح عدة أزواج مع بعض لأنه يجد تحقق الشروط في عدة أزواج

بارك الله فيك أستاذ إسلام وطموحي أن أصبح مبرمج وإنشاء الله سأصل على يدك



عرض البوم صور rami.signals  
رد مع اقتباس
  #569  
قديم 24-06-2016, 01:17 AM
rami.signals rami.signals غير متواجد حالياً
عضو جديد
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

أستاذ إسلام العوامي

بداية الأمر أشكرك كل الشكر على الرد و انا أتابع فيديوهاتك على اليوتيوب للبرمجة والشكر و التقدير لك على هذه الدروس

لكن الكود الذي أريد هو للتبيريد
و إليك الشرح
1- عندي أكسبرت مفتوح أريد إضافة بعض التعديلات عليه وهي كالتالي

1- عنما يفتح الاكسبرت صفقة بيع مثلا ب 1 لوت في حال خسرت الصفقة 30 أو 40 نقطة فسيقوم الأكسبرت بفتح صفقة بيع أخرى بقيمة 1.4 لوت مثلا و هكذا وفي حال عكس الصفقتين الأولى 80 نقطة والثانية 40 نقطة فسيقوم الاكسبرت بفتح صفقة 1.96 وهكذا تكون المتتالية وسيقوم الأكسبرت بتحريك الهدف لجميع الصفقات بحيث أخرج بربح نهائي 10 نقاط أو 15 ن
هذا الكود الذي أريده أولا

ثانيا : أريد كود أن لايسمح الأكسبرت إلا بفتح زوج واحد في حال تحققت شروط الدخول مع العلم أنني أضع الأكسبرت على جميع الشارتات ( المشكلة التي أوجاهها الأن أن الأكسبرت يفتح عدة أزواج مع بعض لأنه يجد تحقق الشروط في عدة أزواج

بارك الله فيك أستاذ إسلام وطموحي أن أصبح مبرمج وإنشاء الله سأصل على يدك




رد مع اقتباس
قديم 24-06-2016, 01:27 AM   المشاركة رقم: 570
الكاتب
rami.signals
عضو جديد

البيانات
تاريخ التسجيل: Jun 2016
رقم العضوية: 31578
العمر: 46
المشاركات: 4
بمعدل : 0.00 يوميا

الإتصالات
الحالة:
rami.signals غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : اسلام العوامى المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

input int MagicNumber=1982; //Magic Number
input double Lots=0.1; //Fixed Lots
input double StopLoss=50; //Fixed Stop Loss (in Points)
input double TakeProfit=150; //Fixed Take Profit (in Points)
input int TrailingStop=15; //Trailing Stop (in Points)
input int Slippage=3;


//+------------------------------------------------------------------+
//| expert OnTick function |
//+------------------------------------------------------------------+
void OnTick()
{
double MyPoint=Point;
if(Digits==3 || Digits==5) MyPoint=Point*10;
double TheStopLoss=0;
double TheTakeProfit=0;
if(TotalOrdersCount()==0)
{
int result=0;
if((iRSI(NULL,PERIOD_H1,14,PRICE_CLOSE,0)<50) && (iRSI(NULL,PERIOD_H4,14,PRICE_CLOSE,0)<50) && (iRSI(NULL,PERIOD_D1,14,PRICE_CLOSE,0)<50)) // Here is your open buy rule
{
result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage ,0,0,"RAMI V2_5M BUY AUTO",MagicNumber,0,Blue);
if(result>0)
{
TheStopLoss=0;
TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
int MyOrderSelect=OrderSelect(result,SELECT_BY_TICKET) ;
int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),NormalizeDouble(TheStopLoss,Digits),Normali zeDouble(TheTakeProfit,Digits),0,Green);
}
}
if((iRSI(NULL,PERIOD_H1,14,PRICE_CLOSE,0)>50) && (iRSI(NULL,PERIOD_H4,14,PRICE_CLOSE,0)>50) && (iRSI(NULL,PERIOD_D1,14,PRICE_CLOSE,0)>50)) // Here is your open buy rule
{
result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippag e,0,0,"RAMI V2_5M SELL AUTO",MagicNumber,0,Red);
if(result>0)
{
TheStopLoss=0;
TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint;
int MyOrderSelect=OrderSelect(result,SELECT_BY_TICKET) ;
int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),NormalizeDouble(TheStopLoss,Digits),Normali zeDouble(TheTakeProfit,Digits),0,Green);
}
}
}

for(int cnt=0;cnt<OrdersTotal();cnt++)
{
int MyOrderSelect=OrderSelect(cnt,SELECT_BY_POS,MODE_T RADES);
if(OrderType()<=OP_SELL &&
OrderSymbol()==Symbol() &&
OrderMagicNumber()==MagicNumber
)

if(OrderType()==OP_BUY)
{
if((iRSI(NULL,0,14,PRICE_CLOSE,0)>800)) //here is the close buy condition
{
int MyOrderClose=OrderClose(OrderTicket(),OrderLots(), OrderClosePrice(),Slippage,Red);
}
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)
{
if(OrderStopLoss()<Bid-MyPoint*TrailingStop)
{
int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);
}
}
}
}
else
{
if((iRSI(NULL,0,14,PRICE_CLOSE,0)<-800)) // here is the close sell condition
{
int MyOrderClose=OrderClose(OrderTicket(),OrderLots(), OrderClosePrice(),Slippage,Red);
}
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))
{
if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0))
{
int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),Ask+MyPoint*TrailingStop,OrderTakeProfit(), 0,Red);
}
}
}
}
}
}
//+------------------------------------------------------------------+
//| expert TotalOrdersCount function |
//+------------------------------------------------------------------+
int TotalOrdersCount()
{
int result=0;
for(int i=0;i<OrdersTotal();i++)
{
int MyOrderSelect=OrderSelect(i,SELECT_BY_POS,MODE_TRA DES);
if(OrderMagicNumber()==MagicNumber) result++;

}
return (result);
}

//+------------------------------------------------------------------+
//| expert Start function
//+------------------------------------------------------------------+

void drawshap(string name,color LineColor,double Price1,double Price2,datetime Time1,datetime Time2)
{
if(ObjectFind(name) == -1)
{
ObjectCreate(name, OBJ_RECTANGLE, 0, Time1,Price1,Time2,Price2);
ObjectSet(name, OBJPROP_COLOR, LineColor);
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name, OBJPROP_WIDTH, 2);
}
else if(ObjectGet(name,OBJPROP_TIME1)!=Time1||ObjectGet (name,OBJPROP_PRICE1)!=Price1){
ObjectDelete(name);
}
}









//+------------------------------------------------------------------+

double lastOpenPrice(){
datetime d =0;
double xt =0;
int total = OrdersTotal();

for (int cnt = 0 ; cnt <= total ; cnt++)
{
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magi cNumber)
{
if (OrderOpenTime()>d) {d=OrderOpenTime(); xt=OrderOpenPrice();}
}
}
return(xt);
}




التعديل الأخير تم بواسطة rami.signals ; 24-06-2016 الساعة 01:40 AM سبب آخر: أضفت الكود لكن أعتقد أن هناك شيئ أخر يجب علي أضافته يرجى من الأستاذ إسلام المساعدة
عرض البوم صور rami.signals  
رد مع اقتباس
  #570  
قديم 24-06-2016, 01:27 AM
rami.signals rami.signals غير متواجد حالياً
عضو جديد
افتراضي رد: موضوع مخصص للاسئلة والاستفسارات الخاصة بدورة تعليم البرمجة الاحترافية بلغة mql4

input int MagicNumber=1982; //Magic Number
input double Lots=0.1; //Fixed Lots
input double StopLoss=50; //Fixed Stop Loss (in Points)
input double TakeProfit=150; //Fixed Take Profit (in Points)
input int TrailingStop=15; //Trailing Stop (in Points)
input int Slippage=3;


//+------------------------------------------------------------------+
//| expert OnTick function |
//+------------------------------------------------------------------+
void OnTick()
{
double MyPoint=Point;
if(Digits==3 || Digits==5) MyPoint=Point*10;
double TheStopLoss=0;
double TheTakeProfit=0;
if(TotalOrdersCount()==0)
{
int result=0;
if((iRSI(NULL,PERIOD_H1,14,PRICE_CLOSE,0)<50) && (iRSI(NULL,PERIOD_H4,14,PRICE_CLOSE,0)<50) && (iRSI(NULL,PERIOD_D1,14,PRICE_CLOSE,0)<50)) // Here is your open buy rule
{
result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage ,0,0,"RAMI V2_5M BUY AUTO",MagicNumber,0,Blue);
if(result>0)
{
TheStopLoss=0;
TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
int MyOrderSelect=OrderSelect(result,SELECT_BY_TICKET) ;
int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),NormalizeDouble(TheStopLoss,Digits),Normali zeDouble(TheTakeProfit,Digits),0,Green);
}
}
if((iRSI(NULL,PERIOD_H1,14,PRICE_CLOSE,0)>50) && (iRSI(NULL,PERIOD_H4,14,PRICE_CLOSE,0)>50) && (iRSI(NULL,PERIOD_D1,14,PRICE_CLOSE,0)>50)) // Here is your open buy rule
{
result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippag e,0,0,"RAMI V2_5M SELL AUTO",MagicNumber,0,Red);
if(result>0)
{
TheStopLoss=0;
TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint;
int MyOrderSelect=OrderSelect(result,SELECT_BY_TICKET) ;
int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),NormalizeDouble(TheStopLoss,Digits),Normali zeDouble(TheTakeProfit,Digits),0,Green);
}
}
}

for(int cnt=0;cnt<OrdersTotal();cnt++)
{
int MyOrderSelect=OrderSelect(cnt,SELECT_BY_POS,MODE_T RADES);
if(OrderType()<=OP_SELL &&
OrderSymbol()==Symbol() &&
OrderMagicNumber()==MagicNumber
)

if(OrderType()==OP_BUY)
{
if((iRSI(NULL,0,14,PRICE_CLOSE,0)>800)) //here is the close buy condition
{
int MyOrderClose=OrderClose(OrderTicket(),OrderLots(), OrderClosePrice(),Slippage,Red);
}
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)
{
if(OrderStopLoss()<Bid-MyPoint*TrailingStop)
{
int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);
}
}
}
}
else
{
if((iRSI(NULL,0,14,PRICE_CLOSE,0)<-800)) // here is the close sell condition
{
int MyOrderClose=OrderClose(OrderTicket(),OrderLots(), OrderClosePrice(),Slippage,Red);
}
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))
{
if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0))
{
int MyOrderModify=OrderModify(OrderTicket(),OrderOpenP rice(),Ask+MyPoint*TrailingStop,OrderTakeProfit(), 0,Red);
}
}
}
}
}
}
//+------------------------------------------------------------------+
//| expert TotalOrdersCount function |
//+------------------------------------------------------------------+
int TotalOrdersCount()
{
int result=0;
for(int i=0;i<OrdersTotal();i++)
{
int MyOrderSelect=OrderSelect(i,SELECT_BY_POS,MODE_TRA DES);
if(OrderMagicNumber()==MagicNumber) result++;

}
return (result);
}

//+------------------------------------------------------------------+
//| expert Start function
//+------------------------------------------------------------------+

void drawshap(string name,color LineColor,double Price1,double Price2,datetime Time1,datetime Time2)
{
if(ObjectFind(name) == -1)
{
ObjectCreate(name, OBJ_RECTANGLE, 0, Time1,Price1,Time2,Price2);
ObjectSet(name, OBJPROP_COLOR, LineColor);
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name, OBJPROP_WIDTH, 2);
}
else if(ObjectGet(name,OBJPROP_TIME1)!=Time1||ObjectGet (name,OBJPROP_PRICE1)!=Price1){
ObjectDelete(name);
}
}









//+------------------------------------------------------------------+

double lastOpenPrice(){
datetime d =0;
double xt =0;
int total = OrdersTotal();

for (int cnt = 0 ; cnt <= total ; cnt++)
{
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magi cNumber)
{
if (OrderOpenTime()>d) {d=OrderOpenTime(); xt=OrderOpenPrice();}
}
}
return(xt);
}





التعديل الأخير تم بواسطة rami.signals ; 24-06-2016 الساعة 01:40 AM. سبب آخر: أضفت الكود لكن أعتقد أن هناك شيئ أخر يجب علي أضافته يرجى من الأستاذ إسلام المساعدة
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

الكلمات الدلالية (Tags)
للاسئلة, موضوع, محشش, والاستفساراتmql4


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة



الساعة الآن 03:05 PM



جميع الحقوق محفوظة الى اف اكس ارابيا www.fx-arabia.com

تحذير المخاطرة

التجارة بالعملات الأجنبية تتضمن علي قدر كبير من المخاطر ومن الممكن ألا تكون مناسبة لجميع المضاربين, إستعمال الرافعة المالية في التجاره يزيد من إحتمالات الخطورة و التعرض للخساره, عليك التأكد من قدرتك العلمية و الشخصية على التداول.

تنبيه هام

موقع اف اكس ارابيا هو موقع تعليمي خالص يهدف الي توعية المستثمر العربي مبادئ الاستثمار و التداول الناجح ولا يتحصل علي اي اموال مقابل ذلك ولا يقوم بادارة محافظ مالية وان ادارة الموقع غير مسؤولة عن اي استغلال من قبل اي شخص لاسمها وتحذر من ذلك.

اتصل بنا

البريد الإلكتروني للدعم الفنى : support@fx-arabia.com
جميع الحقوق محفوظة اف اكس ارابيا – احدى مواقع Inwestopedia Sp. Z O.O. للاستشارات و التدريب – جمهورية بولندا الإتحادية.
Powered by vBulletin® Copyright ©2000 - 2024 , Designed by Fx-Arabia Team