FX-Arabia

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











الملاحظات

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


دورة تعليم برمجة الاكسبريت

منتدى المؤشرات و الاكسبيرتات


إضافة رد
 
أدوات الموضوع
قديم 19-04-2013, 08:57 PM   المشاركة رقم: 161
الكاتب
م. عبدالرحمن وردة
عضو جديد
الصورة الرمزية م. عبدالرحمن وردة

البيانات
تاريخ التسجيل: Mar 2013
رقم العضوية: 14172
العمر: 34
المشاركات: 8
بمعدل : 0.00 يوميا

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

كاتب الموضوع : MOVING_AVERAGE المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: دورة تعليم برمجة الاكسبريت

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

سنستخدم الدالة التالية خارج الدالة ستارت

[PHP]
double pofet_HISTORY(){
double pr=0;
for(int p=0;p<OrdersHistoryTotal();p++){
OrderSelect(p,SELECT_BY_POS,MODE_HISTORY);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
pr=OrderProfit();
}
return(pr);
}
[/PHP]

سنكتب داخل الدالة ستارت الامر

[PHP]
Comment(pofet_HISTORY());
[/PHP]

يضهر لنا هل ربح او خسارة الصفقة الماضية

كيف اعرف ربح او خسارة

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

اولا لكي نحصل علي الرصيد نستخدم التالي

[PHP]
AccountBalance()
[/PHP]

لكي نتحكم في عمل الاكسبريت اعتماد علي الرصيد

نضع من شروط فتح الصفقات

[PHP]
if(AccountBalance()>50)
[/PHP]
ألف شكر أخي "موفنج افرج" , أجبت فأحسنت نقره لعرض الصورة في صفحة مستقلة



التوقيع

"إِنْ أُرِيدُ إِلَّا الإِصْلاحَ مَا اسْتَطَعْتُ وَمَا تَوْفِيقِي إِلَّا بِاللَّهِ عَلَيْهِ تَوَكَّلْتُ وَإِلَيْهِ أُنِيبُ"

عرض البوم صور م. عبدالرحمن وردة  
رد مع اقتباس
  #161  
قديم 19-04-2013, 08:57 PM
م. عبدالرحمن وردة م. عبدالرحمن وردة غير متواجد حالياً
عضو جديد
افتراضي رد: دورة تعليم برمجة الاكسبريت

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

سنستخدم الدالة التالية خارج الدالة ستارت

[PHP]
double pofet_HISTORY(){
double pr=0;
for(int p=0;p<OrdersHistoryTotal();p++){
OrderSelect(p,SELECT_BY_POS,MODE_HISTORY);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
pr=OrderProfit();
}
return(pr);
}
[/PHP]

سنكتب داخل الدالة ستارت الامر

[PHP]
Comment(pofet_HISTORY());
[/PHP]

يضهر لنا هل ربح او خسارة الصفقة الماضية

كيف اعرف ربح او خسارة

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

اولا لكي نحصل علي الرصيد نستخدم التالي

[PHP]
AccountBalance()
[/PHP]

لكي نتحكم في عمل الاكسبريت اعتماد علي الرصيد

نضع من شروط فتح الصفقات

[PHP]
if(AccountBalance()>50)
[/PHP]
ألف شكر أخي "موفنج افرج" , أجبت فأحسنت نقره لعرض الصورة في صفحة مستقلة




رد مع اقتباس
قديم 21-04-2013, 09:18 PM   المشاركة رقم: 162
الكاتب
abu ayoub
عضو جديد

البيانات
تاريخ التسجيل: Apr 2013
رقم العضوية: 14640
المشاركات: 1
بمعدل : 0.00 يوميا

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

كاتب الموضوع : MOVING_AVERAGE المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: دورة تعليم برمجة الاكسبريت

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

أتابع معكم ان شاء الله، أنا جديد في هذا المجال رغم أن عملي كمبرمج برامج إدارية. بدأت منذ اسبوع تعلم فوركس واعجبني كثير هذا الموقع.



عرض البوم صور abu ayoub  
رد مع اقتباس
  #162  
قديم 21-04-2013, 09:18 PM
abu ayoub abu ayoub غير متواجد حالياً
عضو جديد
افتراضي رد: دورة تعليم برمجة الاكسبريت

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

أتابع معكم ان شاء الله، أنا جديد في هذا المجال رغم أن عملي كمبرمج برامج إدارية. بدأت منذ اسبوع تعلم فوركس واعجبني كثير هذا الموقع.





رد مع اقتباس
قديم 22-04-2013, 01:42 PM   المشاركة رقم: 163
الكاتب
MOVING_AVERAGE
عضو فضى
الصورة الرمزية MOVING_AVERAGE

البيانات
تاريخ التسجيل: Feb 2012
رقم العضوية: 8190
الدولة: algeria
العمر: 41
المشاركات: 2,213
بمعدل : 0.47 يوميا

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

كاتب الموضوع : MOVING_AVERAGE المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: دورة تعليم برمجة الاكسبريت

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

أتابع معكم ان شاء الله، أنا جديد في هذا المجال رغم أن عملي كمبرمج برامج إدارية. بدأت منذ اسبوع تعلم فوركس واعجبني كثير هذا الموقع.

بالتوفيق لك اخي

وستجد هذه اللغة في غاية البساطة ان كنت اصلا مبرمج بلغة اخري

ولا تتردد في طرح اي استفسار



التوقيع

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







عرض البوم صور MOVING_AVERAGE  
رد مع اقتباس
  #163  
قديم 22-04-2013, 01:42 PM
MOVING_AVERAGE MOVING_AVERAGE غير متواجد حالياً
عضو فضى
افتراضي رد: دورة تعليم برمجة الاكسبريت

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

أتابع معكم ان شاء الله، أنا جديد في هذا المجال رغم أن عملي كمبرمج برامج إدارية. بدأت منذ اسبوع تعلم فوركس واعجبني كثير هذا الموقع.

بالتوفيق لك اخي

وستجد هذه اللغة في غاية البساطة ان كنت اصلا مبرمج بلغة اخري

ولا تتردد في طرح اي استفسار




رد مع اقتباس
قديم 23-04-2013, 09:39 PM   المشاركة رقم: 164
الكاتب
هامور الصغير
عضو جديد

البيانات
تاريخ التسجيل: Mar 2012
رقم العضوية: 9031
المشاركات: 10
بمعدل : 0.00 يوميا

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

كاتب الموضوع : MOVING_AVERAGE المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: دورة تعليم برمجة الاكسبريت

السلام عليكم ورحمة الله وبركاته
ماهو الفائده منه/ هل يتم الاعتماد عليه ؟



عرض البوم صور هامور الصغير  
رد مع اقتباس
  #164  
قديم 23-04-2013, 09:39 PM
هامور الصغير هامور الصغير غير متواجد حالياً
عضو جديد
افتراضي رد: دورة تعليم برمجة الاكسبريت

السلام عليكم ورحمة الله وبركاته
ماهو الفائده منه/ هل يتم الاعتماد عليه ؟




رد مع اقتباس
قديم 24-04-2013, 02:03 AM   المشاركة رقم: 165
الكاتب
imaddine
عضو نشيط

البيانات
تاريخ التسجيل: Dec 2012
رقم العضوية: 12839
المشاركات: 202
بمعدل : 0.05 يوميا

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

كاتب الموضوع : MOVING_AVERAGE المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: دورة تعليم برمجة الاكسبريت

استاذ موفنج والله ممكن مساعدة في طريقة اضافت المضاعفات
فقد قمت ببرمجت اكسبيرت على رينكو يعمل على نفس
طريقة التي برمجت بها اكسبيرت الاخ بدوي اي انه يفتح صفقة
ولا يغلقها لا عند اغلاق شمعة عكسية يغلقها ويدخل مع اتجاه
الشمعة الجديدة وبالنسبة للاضافة ارده ان لا يغلق الصفقة الخاسرة
في الاشارة العكسية بل يضاعف اللوت +1 فقط اي 1 2 3 4 5 6 7
حتى يخرج من التذبذب
بمعنى انه لو كانت شمعة عكسية يراقب الصفقة لو كانت رابحة
يغلق الصفقة ويبدا من جديد لكن لو كانت خاسرة يحافظ عليها
ويفتح صفقة جديدة عكسية مثلا لوت البداية 0.10 اذا الصفقة الجديدة
0.20 ويبقى على هذا حتى تظهر اشارة عكسية ويكون مجموع الصفقات
موجب يغلق جميع الصفقات ويبدا من جديد



عرض البوم صور imaddine  
رد مع اقتباس
  #165  
قديم 24-04-2013, 02:03 AM
imaddine imaddine غير متواجد حالياً
عضو نشيط
افتراضي رد: دورة تعليم برمجة الاكسبريت

استاذ موفنج والله ممكن مساعدة في طريقة اضافت المضاعفات
فقد قمت ببرمجت اكسبيرت على رينكو يعمل على نفس
طريقة التي برمجت بها اكسبيرت الاخ بدوي اي انه يفتح صفقة
ولا يغلقها لا عند اغلاق شمعة عكسية يغلقها ويدخل مع اتجاه
الشمعة الجديدة وبالنسبة للاضافة ارده ان لا يغلق الصفقة الخاسرة
في الاشارة العكسية بل يضاعف اللوت +1 فقط اي 1 2 3 4 5 6 7
حتى يخرج من التذبذب
بمعنى انه لو كانت شمعة عكسية يراقب الصفقة لو كانت رابحة
يغلق الصفقة ويبدا من جديد لكن لو كانت خاسرة يحافظ عليها
ويفتح صفقة جديدة عكسية مثلا لوت البداية 0.10 اذا الصفقة الجديدة
0.20 ويبقى على هذا حتى تظهر اشارة عكسية ويكون مجموع الصفقات
موجب يغلق جميع الصفقات ويبدا من جديد




رد مع اقتباس
قديم 24-04-2013, 12:04 PM   المشاركة رقم: 166
الكاتب
MOVING_AVERAGE
عضو فضى
الصورة الرمزية MOVING_AVERAGE

البيانات
تاريخ التسجيل: Feb 2012
رقم العضوية: 8190
الدولة: algeria
العمر: 41
المشاركات: 2,213
بمعدل : 0.47 يوميا

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

كاتب الموضوع : MOVING_AVERAGE المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: دورة تعليم برمجة الاكسبريت

المشاركة الأصلية كتبت بواسطة imaddine نقره لعرض الصورة في صفحة مستقلة
استاذ موفنج والله ممكن مساعدة في طريقة اضافت المضاعفات
فقد قمت ببرمجت اكسبيرت على رينكو يعمل على نفس
طريقة التي برمجت بها اكسبيرت الاخ بدوي اي انه يفتح صفقة
ولا يغلقها لا عند اغلاق شمعة عكسية يغلقها ويدخل مع اتجاه
الشمعة الجديدة وبالنسبة للاضافة ارده ان لا يغلق الصفقة الخاسرة
في الاشارة العكسية بل يضاعف اللوت +1 فقط اي 1 2 3 4 5 6 7
حتى يخرج من التذبذب
بمعنى انه لو كانت شمعة عكسية يراقب الصفقة لو كانت رابحة
يغلق الصفقة ويبدا من جديد لكن لو كانت خاسرة يحافظ عليها
ويفتح صفقة جديدة عكسية مثلا لوت البداية 0.10 اذا الصفقة الجديدة
0.20 ويبقى على هذا حتى تظهر اشارة عكسية ويكون مجموع الصفقات
موجب يغلق جميع الصفقات ويبدا من جديد
اولا اخي لكي تفتح صفقة بلوت عادي تحتاج الي شروط

وصفقة بلوت مضاعة تحتاج الي شروط مغايرة

ماهي الشروط التي تفتح علي اساسها اللوت المضاعف لكي لجيبك

لان الشروط هي الاهم في البرمجة



التوقيع

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







عرض البوم صور MOVING_AVERAGE  
رد مع اقتباس
  #166  
قديم 24-04-2013, 12:04 PM
MOVING_AVERAGE MOVING_AVERAGE غير متواجد حالياً
عضو فضى
افتراضي رد: دورة تعليم برمجة الاكسبريت

المشاركة الأصلية كتبت بواسطة imaddine نقره لعرض الصورة في صفحة مستقلة
استاذ موفنج والله ممكن مساعدة في طريقة اضافت المضاعفات
فقد قمت ببرمجت اكسبيرت على رينكو يعمل على نفس
طريقة التي برمجت بها اكسبيرت الاخ بدوي اي انه يفتح صفقة
ولا يغلقها لا عند اغلاق شمعة عكسية يغلقها ويدخل مع اتجاه
الشمعة الجديدة وبالنسبة للاضافة ارده ان لا يغلق الصفقة الخاسرة
في الاشارة العكسية بل يضاعف اللوت +1 فقط اي 1 2 3 4 5 6 7
حتى يخرج من التذبذب
بمعنى انه لو كانت شمعة عكسية يراقب الصفقة لو كانت رابحة
يغلق الصفقة ويبدا من جديد لكن لو كانت خاسرة يحافظ عليها
ويفتح صفقة جديدة عكسية مثلا لوت البداية 0.10 اذا الصفقة الجديدة
0.20 ويبقى على هذا حتى تظهر اشارة عكسية ويكون مجموع الصفقات
موجب يغلق جميع الصفقات ويبدا من جديد
اولا اخي لكي تفتح صفقة بلوت عادي تحتاج الي شروط

وصفقة بلوت مضاعة تحتاج الي شروط مغايرة

ماهي الشروط التي تفتح علي اساسها اللوت المضاعف لكي لجيبك

لان الشروط هي الاهم في البرمجة




رد مع اقتباس
قديم 24-04-2013, 03:05 PM   المشاركة رقم: 167
الكاتب
imaddine
عضو نشيط

البيانات
تاريخ التسجيل: Dec 2012
رقم العضوية: 12839
المشاركات: 202
بمعدل : 0.05 يوميا

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

كاتب الموضوع : MOVING_AVERAGE المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: دورة تعليم برمجة الاكسبريت

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

وصفقة بلوت مضاعة تحتاج الي شروط مغايرة

ماهي الشروط التي تفتح علي اساسها اللوت المضاعف لكي لجيبك

لان الشروط هي الاهم في البرمجة
الشروط هي نفس الشروط التي ذكرتها ان يقوم
بفتح صفقة بعد شمعة معاكسة وقد ارفقت لك مثال
لتوضيح الفكرة اكثر داخل المربع المرسوم
بعد اغلاق شمعة نازلة يخرج من البيع ويدخل شراء
ونفرض ان لوت 0.10 ما حصل ان الشمعة التالية اغلقت
نازلة اي صفقة خاسرة هنا لا يقوم باغلاق الصفقة الخاسرة
بل يتركها مفتوحة ويدخل بصفقة جديدة بيع بلوت 0.20
الشمعة التي بعدها صاعدة اي مجموع الصفقتين خاسر
لا يغلقهما ويدخل بصفقة ثالث شراء بلوت 0.3
بمعنى دالة تراقب الصفقات المفتوحة لو كانت رابحة
تغلق كل الصفقات في الانعاكس ولو كانت سالبة
تحافظ وتفتح صفقة جديدة +1 عن اخر لوت
نقره لعرض الصورة في صفحة مستقلة

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



عرض البوم صور imaddine  
رد مع اقتباس
  #167  
قديم 24-04-2013, 03:05 PM
imaddine imaddine غير متواجد حالياً
عضو نشيط
افتراضي رد: دورة تعليم برمجة الاكسبريت

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

وصفقة بلوت مضاعة تحتاج الي شروط مغايرة

ماهي الشروط التي تفتح علي اساسها اللوت المضاعف لكي لجيبك

لان الشروط هي الاهم في البرمجة
الشروط هي نفس الشروط التي ذكرتها ان يقوم
بفتح صفقة بعد شمعة معاكسة وقد ارفقت لك مثال
لتوضيح الفكرة اكثر داخل المربع المرسوم
بعد اغلاق شمعة نازلة يخرج من البيع ويدخل شراء
ونفرض ان لوت 0.10 ما حصل ان الشمعة التالية اغلقت
نازلة اي صفقة خاسرة هنا لا يقوم باغلاق الصفقة الخاسرة
بل يتركها مفتوحة ويدخل بصفقة جديدة بيع بلوت 0.20
الشمعة التي بعدها صاعدة اي مجموع الصفقتين خاسر
لا يغلقهما ويدخل بصفقة ثالث شراء بلوت 0.3
بمعنى دالة تراقب الصفقات المفتوحة لو كانت رابحة
تغلق كل الصفقات في الانعاكس ولو كانت سالبة
تحافظ وتفتح صفقة جديدة +1 عن اخر لوت
نقره لعرض الصورة في صفحة مستقلة

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




رد مع اقتباس
قديم 25-04-2013, 12:55 AM   المشاركة رقم: 168
الكاتب
imaddine
عضو نشيط

البيانات
تاريخ التسجيل: Dec 2012
رقم العضوية: 12839
المشاركات: 202
بمعدل : 0.05 يوميا

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

كاتب الموضوع : MOVING_AVERAGE المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: دورة تعليم برمجة الاكسبريت

استاذ موفنج اعلم انك لا تمتلك الكثير من
الوقت نظرا لكثرت الطلبات فالله يكون في عونك
لكن لو سمحت ممكن ان تعدل على هذا الكود
وساقوم باطلاع عليه لدراسته من جديد لو سمحت
[PHP]double TP,SL;

if(TrailingStop>0)MoveTrailingStop();
//////////////////////////////////////////////////
double openprice,lots,newLot;int s;
if(UseMultiplier){
for(s=0;s<OrdersTotal();s++){
OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNumber&&OrderType()==OP_BUY){
openprice=OrderOpenPrice();lots=OrderLots();
}
}{

هنا قمت بجعل المضاعف + وكمتغير خاجي جعلت Multiplier =1
حتى تكون المضاعفات 1 2 3 4 5 6
newLot=Multiplier+lots;
if(Ask<=openprice-Step*point&&orderstotal()>=1){
if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*poi nt;}

OrderSend(Symbol(),OP_BUY,newLot,NormalizeDouble(A sk,digits),3,0,TP," ",MagicNumber,0,Blue);

}
}
for(s=0;s<OrdersTotal();s++){
OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNumber&&OrderType()==OP_SELL){
openprice=OrderOpenPrice(); lots=OrderLots();
}
}{

newLot=Multiplier+lots;
if(Bid>=openprice+Step*point&&orderstotal()>=1){
if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*point;}
OrderSend(Symbol(),OP_SELL,newLot,NormalizeDouble( Bid,digits),3,0,TP,"",MagicNumber,0,Red);

}
}
}


//////////////////////////////////////////////////
static datetime NewBar;
if(orderstotal()==0)

{
// close orders
}

double Cl1=iClose(0,0,1);
double Cl2=iClose(0,0,2);

//////////////////////////////////////////////////

if(NewBar<Time[0])

if(Cl2<Cl1)
{CloseSellOrders();}

if(Cl2>Cl1)
{CloseBuyOrders();}

if(profit()>=ProfitTarget){
while(orderstotal()>0){CloseSellOrders();CloseBuyO rders();}
هنا المشكلة الاولى كيف اجعله يحافظ على الصفقات الخاسرة
دون اغلاقها
}
{
// close orders
}
//////////////////////////////////////////////////

if(Cl2<Cl1) {
if(orderstotal()<MaxTrades&&Time0!=Time[0])
{
{
// open orders
Time0=Time[0];
}
//Buy
if(TakeProfit==0){TP=0;}
else{TP=Ask+TakeProfit*point;}
if(StopLoss==0){SL=0;}
else{SL=Ask-StopLoss*point;}
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"",Magi cNumber,0,Blue);
}
}
//////////////////////////////////////////////////


if(Cl2>Cl1){
if(orderstotal()<MaxTrades&&Time0!=Time[0])
{
{
// open orders
Time0=Time[0];
}
//Sell
if(TakeProfit==0){TP=0;}
else{TP=Bid-TakeProfit*point;}
if(StopLoss==0){SL=0;}
else{SL=Bid+StopLoss*point;}
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SL,TP,"",Mag icNumber,0,Red);

}
}

return(0);
}
//+------------------------------------------------------------------+

void CloseBuyOrders()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3);
}
}
}
}

void CloseSellOrders()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
}
}
}
void MoveTrailingStop()
{

for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&& OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY)
{
if(TrailingStop>0&&NormalizeDouble(Ask-TrailingStep*point,digits)>NormalizeDouble(OrderOp enPrice()+TrailingStop*point,digits))
{
if((NormalizeDouble(OrderStopLoss(),digits)<Normal izeDouble(Bid-TrailingStop*point,digits))||(OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(Bid-TrailingStop*point,digits),OrderTakeProfit(),0,Blu e);

}
}
}
else
{
if(TrailingStop>0&&NormalizeDouble(Bid+TrailingSte p*point,digits)<NormalizeDouble(OrderOpenPrice()-TrailingStop*point,digits))
{
if((NormalizeDouble(OrderStopLoss(),digits)>(Norma lizeDouble(Ask+TrailingStop*point,digits)))||(Orde rStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(Ask+TrailingStop*point,digits),OrderTakeP rofit(),0,Red);

}
}
}
}
}
}

اعتمدت هنا على دالة اغلاق على ربح معين لكن لو امكن
جعل الطريقة كما شرحتها يخرج عند اشارة عكسية مهما كان
الربح كبير او صغير او حتى على نقطة التعادل
double profit(){
double c;
for(int i=0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNumber){
c=c+OrderProfit();
}
}
return(c);
}
[/PHP]

طبعا ان يحافظ على الصفقات الخاسرة ويضاعف اللوت
1 2 3 4 5 اي كل مرة +1 وعندما تكون الاشارة عكسية
والمحصلة ربح يغلق كل الصفقات ويعيد من جديد
وبارك الله فيك



عرض البوم صور imaddine  
رد مع اقتباس
  #168  
قديم 25-04-2013, 12:55 AM
imaddine imaddine غير متواجد حالياً
عضو نشيط
افتراضي رد: دورة تعليم برمجة الاكسبريت

استاذ موفنج اعلم انك لا تمتلك الكثير من
الوقت نظرا لكثرت الطلبات فالله يكون في عونك
لكن لو سمحت ممكن ان تعدل على هذا الكود
وساقوم باطلاع عليه لدراسته من جديد لو سمحت
[PHP]double TP,SL;

if(TrailingStop>0)MoveTrailingStop();
//////////////////////////////////////////////////
double openprice,lots,newLot;int s;
if(UseMultiplier){
for(s=0;s<OrdersTotal();s++){
OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNumber&&OrderType()==OP_BUY){
openprice=OrderOpenPrice();lots=OrderLots();
}
}{

هنا قمت بجعل المضاعف + وكمتغير خاجي جعلت Multiplier =1
حتى تكون المضاعفات 1 2 3 4 5 6
newLot=Multiplier+lots;
if(Ask<=openprice-Step*point&&orderstotal()>=1){
if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*poi nt;}

OrderSend(Symbol(),OP_BUY,newLot,NormalizeDouble(A sk,digits),3,0,TP," ",MagicNumber,0,Blue);

}
}
for(s=0;s<OrdersTotal();s++){
OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNumber&&OrderType()==OP_SELL){
openprice=OrderOpenPrice(); lots=OrderLots();
}
}{

newLot=Multiplier+lots;
if(Bid>=openprice+Step*point&&orderstotal()>=1){
if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*point;}
OrderSend(Symbol(),OP_SELL,newLot,NormalizeDouble( Bid,digits),3,0,TP,"",MagicNumber,0,Red);

}
}
}


//////////////////////////////////////////////////
static datetime NewBar;
if(orderstotal()==0)

{
// close orders
}

double Cl1=iClose(0,0,1);
double Cl2=iClose(0,0,2);

//////////////////////////////////////////////////

if(NewBar<Time[0])

if(Cl2<Cl1)
{CloseSellOrders();}

if(Cl2>Cl1)
{CloseBuyOrders();}

if(profit()>=ProfitTarget){
while(orderstotal()>0){CloseSellOrders();CloseBuyO rders();}
هنا المشكلة الاولى كيف اجعله يحافظ على الصفقات الخاسرة
دون اغلاقها
}
{
// close orders
}
//////////////////////////////////////////////////

if(Cl2<Cl1) {
if(orderstotal()<MaxTrades&&Time0!=Time[0])
{
{
// open orders
Time0=Time[0];
}
//Buy
if(TakeProfit==0){TP=0;}
else{TP=Ask+TakeProfit*point;}
if(StopLoss==0){SL=0;}
else{SL=Ask-StopLoss*point;}
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"",Magi cNumber,0,Blue);
}
}
//////////////////////////////////////////////////


if(Cl2>Cl1){
if(orderstotal()<MaxTrades&&Time0!=Time[0])
{
{
// open orders
Time0=Time[0];
}
//Sell
if(TakeProfit==0){TP=0;}
else{TP=Bid-TakeProfit*point;}
if(StopLoss==0){SL=0;}
else{SL=Bid+StopLoss*point;}
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SL,TP,"",Mag icNumber,0,Red);

}
}

return(0);
}
//+------------------------------------------------------------------+

void CloseBuyOrders()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3);
}
}
}
}

void CloseSellOrders()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
}
}
}
void MoveTrailingStop()
{

for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&& OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY)
{
if(TrailingStop>0&&NormalizeDouble(Ask-TrailingStep*point,digits)>NormalizeDouble(OrderOp enPrice()+TrailingStop*point,digits))
{
if((NormalizeDouble(OrderStopLoss(),digits)<Normal izeDouble(Bid-TrailingStop*point,digits))||(OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(Bid-TrailingStop*point,digits),OrderTakeProfit(),0,Blu e);

}
}
}
else
{
if(TrailingStop>0&&NormalizeDouble(Bid+TrailingSte p*point,digits)<NormalizeDouble(OrderOpenPrice()-TrailingStop*point,digits))
{
if((NormalizeDouble(OrderStopLoss(),digits)>(Norma lizeDouble(Ask+TrailingStop*point,digits)))||(Orde rStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(Ask+TrailingStop*point,digits),OrderTakeP rofit(),0,Red);

}
}
}
}
}
}

اعتمدت هنا على دالة اغلاق على ربح معين لكن لو امكن
جعل الطريقة كما شرحتها يخرج عند اشارة عكسية مهما كان
الربح كبير او صغير او حتى على نقطة التعادل
double profit(){
double c;
for(int i=0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Ma gicNumber){
c=c+OrderProfit();
}
}
return(c);
}
[/PHP]

طبعا ان يحافظ على الصفقات الخاسرة ويضاعف اللوت
1 2 3 4 5 اي كل مرة +1 وعندما تكون الاشارة عكسية
والمحصلة ربح يغلق كل الصفقات ويعيد من جديد
وبارك الله فيك




رد مع اقتباس
قديم 01-05-2013, 05:49 PM   المشاركة رقم: 169
الكاتب
abou fares
عضو جديد

البيانات
تاريخ التسجيل: Sep 2012
رقم العضوية: 11481
المشاركات: 114
بمعدل : 0.03 يوميا

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

كاتب الموضوع : MOVING_AVERAGE المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: دورة تعليم برمجة الاكسبريت

سؤال للاساتذ موفينج لدي اكسبيرت احاول ان اتعلم البرمجة من خلاله ولكن لدي مشكلة لم اجد لها حل وارجوا منك اعطائي المعادلة اللازمة : المشكلة هي عند تحقق شروط الدخول للصفقة شراء او بيع الاكسبيرت يفتح صفقة وعند وصول الصفقة للهدف لا يتوقف الاكسبيرت عن فتح الصفقات لان مازالت جميع الشروط متحققة للبيع او للشراء ارجوا منكم المساعدة وشكرا .



التوقيع

عرض البوم صور abou fares  
رد مع اقتباس
  #169  
قديم 01-05-2013, 05:49 PM
abou fares abou fares غير متواجد حالياً
عضو جديد
افتراضي رد: دورة تعليم برمجة الاكسبريت

سؤال للاساتذ موفينج لدي اكسبيرت احاول ان اتعلم البرمجة من خلاله ولكن لدي مشكلة لم اجد لها حل وارجوا منك اعطائي المعادلة اللازمة : المشكلة هي عند تحقق شروط الدخول للصفقة شراء او بيع الاكسبيرت يفتح صفقة وعند وصول الصفقة للهدف لا يتوقف الاكسبيرت عن فتح الصفقات لان مازالت جميع الشروط متحققة للبيع او للشراء ارجوا منكم المساعدة وشكرا .




رد مع اقتباس
قديم 04-05-2013, 03:11 PM   المشاركة رقم: 170
الكاتب
abou fares
عضو جديد

البيانات
تاريخ التسجيل: Sep 2012
رقم العضوية: 11481
المشاركات: 114
بمعدل : 0.03 يوميا

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

كاتب الموضوع : MOVING_AVERAGE المنتدى : منتدى المؤشرات و الاكسبيرتات
افتراضي رد: دورة تعليم برمجة الاكسبريت

للتذكير



التوقيع

عرض البوم صور abou fares  
رد مع اقتباس
  #170  
قديم 04-05-2013, 03:11 PM
abou fares abou fares غير متواجد حالياً
عضو جديد
افتراضي رد: دورة تعليم برمجة الاكسبريت

للتذكير




رد مع اقتباس
إضافة رد

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

الكلمات الدلالية (Tags)
الاكسبريت, برمجة, تعليم, دورة

أدوات الموضوع

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

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



الساعة الآن 12:15 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