مشاهدة نتائج الإستطلاع: ما رأيك بفكرة الموضوع ؟
- المصوتون
- 13. أنت لم تصوت في هذا الإستطلاع
النتائج 1 إلى 15 من 36
الموضوع: محاولات مبتدئين لبرمجة اكسبيرت رقمي
- 18-01-2008, 09:43 PM #1
محاولات مبتدئين لبرمجة اكسبيرت رقمي
السلام عليكم ورحمة الله وبركاته
اخواني،،
بعد مرور وقت طويل نسينا فيه روح العمل الجماعي..
قررت أن أفتتح هذا الموضوع لنقوم ببرمجة اكسبيرت رائع من البداية سويةً
واتمنى من الجميع المشاركه فيما اتاه الله من العلم
بسم الله نبدأ
مواصفات الإكسبيرت :
1. يعتمد الاكسبيرت في عمله على مستويات البايفوت اليوميه، حيث يقوم بوضع أوامر معلقة بعد اغلاق شمعة معينة في بداية اليوم الجديد.
2. يسمح لنا الاكسبيرت بتحديد آلية التعامل مع الهدف والستوب، بحيث يكون من الممكن تحديد هدف معين وستوب معين ( رقماً ) أو اعتماد الهدف والستوب الافتراضي في الاستراتيجية.
3. يسمح لنا الاكسبيرت بالتحكم في عدد الصفقات خلال اليوم، بحيث تكون بالشكل التالي :
- القيمه ( 1 ) = اعتماد أول صفقه يتم تفعيلها وإلغاء الأمر الآخر.
- القيمة ( 2 ) = اعتماد أول صفقه يتم تفعيلها والصفقه المعاكسه فقط.
- القيمة ( 3 ) = اعتماد أول صفقه يتم تفعيلها والصفقه المعاكسة وفي حالة تنفيذ الصفقه الثانية يقوم بانشاء أوردر في الاتجاه المعاكس لها.
- القيمة ( 4 ) = نفس القيمة ( 3 ) ولكن يتم اضافة صفقه معاكسه للأمر الثالث... وهكذا.
|| مثال للقيمة ( 3 ) ||
عندما يقوم الاكسبيرت بوضع أمرين ( شراء عند 1.9570 ) و ( بيع عند 1.9530 ) ويتفعل الأمر شراء ثم يضرب الستوب ويتفعل الأمر بيع... يقوم بوضع أمر شراء مره أخرى عند نفس سعر الشراء السابق.. وهكذا.
4. يسمح لنا الإكسبيرت بتحديد أي الهدفين معتمد فإذا كانت القيمة = 1 فإن الهدف المعتمد الأول وإذا كانت القيمه = 2 فإن الهدف الثاني هو المعتمد.
5. يسمح لنا الاكسبيرت بتحريك الستوب عند مرحلة معينه، فإذا كانت القيمة = true فإنه سيقوم بتحريك الستوب للصفقه المفتوحه إلى المنطقة (A) مثلاً بعد وصول السعر إلى الهدف الأول
|| مثال ||
عندما يتفعل امر الشراء عند سعر 1.9570 وبعد وصول السعر إلى الهدف الأول عند 1.9610 يقوم بتحريك الستوب من 1.9530 إلى 1.9550
6. يسمح لنا الاكسبيرت بتحديد عدد العقود في كل صفقه.
7. يسمح لنا الاكسبيرت بتحديد نسبة المخاطر، فإذا كانت القيمه = 10 فإن المخاطره ستكون 10% من الرصيد المتاح.
8. يسمح لنا الاكسبيرت بتحديد ادارة رأس المال، فإذا كانت القيمه = true يقوم بزيادة عدد العقود بنسبة المخاطرة المحدده في النقطة ( 7 ) السابق ذكرها.
آلية عمل الاكسبيرت ( بالإعدادات الافتراضية ) :
يعتمد الاكسبيرت حالياً على مستويات البايفوت اليوميه، ويمكن لنا تطويره فيما بعد.. ولكن سنبدأ بهذه المستويات حالياً..
1) أوامر الشراء :
1. يقوم الاكسبيرت بوضع أوامر الشراء عند مستوى R1
2. يقوم الاكسبيرت بوضع الستوب لوس عند S1
3. يقوم الاكسبيرت بوضع الهدف عند R3
4. يقوم الاكسبيرت بتحريك الستوب إلى النقطة Pivot بعد وصول السعر إلى R2
2) أوامر البيع :
1. يقوم الاكسبيرت بوضع أوامر البيع عند مستوى S1
2. يقوم الاكسبيرت بوضع الستوب لوس عند R1
3. يقوم الاكسبيرت بوضع الهدف عند S3
4. يقوم الاكسبيرت بتحريك الستوب إلى النقطة Pivot بعد وصول السعر إلى S2
----------------------------------------------------------------------------------
هذا كل شئ عن الاكسبيرت
والآن.. ننتظر مشاركاتكم بالانضمام إلى المجموعه لنبدأ جميعنا ببرمجة الاكسبيرت
تحياتي لكم جميعاً
أخوكم عادل الماجد
- 18-01-2008, 11:30 PM #2
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
اخي الكريم
اعتبرني اول المشاركين
وان شاء الله لن ابخل عليك بما اعرفه من لغة mql4 (مع اني لا زلت مبتدأ بها)
ولكنها ستكون تجربة مفيدة لي لارى ما مدى تقدمي بها
- 19-01-2008, 12:48 AM #3
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
بالطبع أنا معاك من البداية لأن موضوع برمجة أكسبرت يعتمد على المستويات يعتبر جديد ولا أذكر أني قرأت عنه قبل ذلك
ولذلك أنا معكم بأنتظار البدأ بالشرح
- 19-01-2008, 08:56 PM #4
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
اخواني،، wajdyss .. jnene
تحيه طيبه لكم ويسعدني انضمامكم
سنبدأ بصناعة الاكسبيرت بعد قليل ;)
- 19-01-2008, 10:01 PM #5
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
بسم الله نبدأ
-------------------------------------------
في البدايه يجب علينا إنشاء اكسبيرت فارغ لنقوم بتغذيته بالأوامر البرمجيه
ويمكننا انشاء الاكسبيرت عن طريق اتباع الخطوات التالية :
1. نفتح برنامج الميتاتريدر
2. نختار من القائمة ( Tools ) " محرر لغة ميتاكوتس ****Quotes Language Editor " أو نضغط على مفتاح F4 مباشرة ليظهر لنا المحرر.
3. نختار من القائمة ( File ) الاختيار الأول " New " وستظهر لنا النافذة التالية :
4. نتبع الخطوات كما في الصورة التالية :
والآن أصبح لدينا اكسبيرت فارغ جاهز للكتابة، وهذا هو الكود النهائي :
كود://+------------------------------------------------------------------+ //| New Pivot System EA.mq4 | //| Copyright © 2008, Arabic Trader | //| تداول العملات المتداول العربي سوق الفوركس و العملات العالمية - المتداول العربي | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, Arabic Trader" #property link "تداول العملات المتداول العربي سوق الفوركس و العملات العالمية - المتداول العربي" //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- //---- return(0); } //+------------------------------------------------------------------+
والآن.. وقد بدأنا في برمجة الاكسبيرت.. ما رأيكم في الخطوات القادمه ؟
أنا أرى ان نقوم بتعريف المتغيرات أولاً بدءً بالمتغيرات المتاحه للمستخدم والتي تبدأ بالأمر extern ثم المتغيرات الأخرى مثل double و int.... إلخ
ما رأيكم ؟
في انتظار مشاركاتكم
- 19-01-2008, 10:59 PM #6
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
بداية موفقة أخي الماجد
أكمل المشوار مع الأكسبرت الأول وبالنسبة للمتغيرات الخارجية فماذا ستكتب بها
أعذرني أنا لا أعلم شيء عن الأكسبرتات ونتمنى أن يتواجد معنا أحد الأخوة المختصين لأبداء الرأي
تحياتي
- 20-01-2008, 04:19 AM #7
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
شكرا لك أخي العزيز
موضوعك هذا بالغ الأهمية وهي خطوة جريئة تشكر عليها
وفي نفس الوقت صدقني لن تتعلم البرمجة إلا بهذه الطريقة .
وأنا وباقي المبرمجين إن شاء الله سنكون معكم .
الاكسبيرت بحد ذاته فكرته جميلة جدا ولكنها برمجيا صعبة وليست سهلة .
بارك الله فيكم
- 20-01-2008, 02:20 PM #8
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
طيب بما اني مبتدئ برضو
فهتلاقيني معاك في كل خطوه ان شاء الله
بداية ....
الاكسبيرت بسيط بشكل مبدئي والعمليه هتنقسم لمرحلتين في البرمجه الاساسية
1- برمجه الحسابات اللي من خلالها هنتوصل لقيم المقاومات والدعوم
2- برمجه اداره الصفقات (تحريك الاستوب وتعديل الهدف وخلافه)
نقول بسم الله
ومش عايزين حد من الكبار يتدخل إلا للتصحيح
- 20-01-2008, 09:03 PM #9
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
هلا فيك أخي jnene
لا يوجد فرق كبير بين الاكسبيرتات والمؤشرات
ولكن تنقصنا بعض المعلومات التي سيساعدنا الاخوه المحترفين في حلها.. ولكن ليس قبل أن نواجهها
استاذي وضاح..
يسعدني كثيراً تأييدك ودعمك للموضوع
ومن ناحية صعوبة الفكره فهذا هو المغزى.. لأن الاكسبيرتات العاديه والتي هي غالباً تعتمد على المؤشرات سهله ويمكن لأي شخص مبتدئ برمجتها
اتمنى منك استاذي مساعدتنا حين نواجه المشكله حتى نستفيد من اخطائنا
اخي Dr.GM
يسعدني كثيراً انضمامك معنا
وبالنسبه للمراحل فقد أصبت في تحديدها
وسنبدأ في المرحلة الأولى حتى نغطيها كاملة ثم نبدأ بالمرحلة الثانيه
تحيه طيبه لكم جميعاً
أخوكم عادل الماجد
- 20-01-2008, 11:43 PM #10
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
عودة للاكسبيرت وبداية التغذيه
في الكود السابق انشأنا اكسبيرت فارغ وبقي علينا تغذيته بالأوامر البرمجيه
سنقوم بتعريف عدد من المتغيرات في البدايه ، وقد نضطر لإضافة متغيرات مستقبلاً عند حاجتنا لها
سنعرف المتغيرات العامة التالية والتي ستكون بعد سطر الخصائص مباشرة :
* ملاحظة :
لقد قمت بتوضيح عمل كل متغير بعد تعريفه مباشره.. ( ولا تلومونا على الاخطاء اللغوية فأنا لا اجيد اللغة الانجليزية، وان وجدتم خطأ لغوي.. اتمنى منكم تعديله واخبارنا بالصحيح حتى يكون الاكسبيرت واضح للكل )
كود://+------------------------------------------------------------------+ //| New Pivot System EA.mq4 | //| Copyright © 2008, Arabic Trader | //| تداول العملات المتداول العربي سوق الفوركس و العملات العالمية - المتداول العربي | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, Arabic Trader" #property link "تداول العملات المتداول العربي سوق الفوركس و العملات العالمية - المتداول العربي" // ---------- The General Variables Definition ( Start ) ---------- // // ---------- The External Variables : extern int S_Candle = 1; // Start Orders after Close Calndle extern bool DTargets = true; // Default Strategy Target extern int MaxTrade = 1; // Count Of Maximum Open Tarde ToDay extern int T_Profit = 2; // Target Profit 1 or 2 extern bool SL_Move = true; // Stop Loss Move after touch Target 1 extern double Lots = 0.1; // Count Of Lots in per Position extern int MaxRisk = 10; // Maximum of Risk extern bool M_M = true; // Money Management // ---------- The Internal Variables : double LastHigh; // High of Yesterday Candle double LastLow; // Low of Yesterday Candle double LastClose; // Close of Yesterday Candle double Range; // Range of yesterday Candle ( High - Low ) double Pivot; // Pivot Level double R1, R2, R3; // Resistant Levels double S1, S2, S3; // Support Levels // ---------- The General Variables Definition ( End ) ---------- //
----------------------------------------
ما رأيكم ؟ هل نعتمد هذه الخطوات ؟ ام نعدل عليها ؟
أرجو منكم طرح آرائكم قبل ان نبدأ بالسطور القادمه
في انتظار مشاركاتكم
تحياتي للجميع
أخوكم عادل الماجد
- 21-01-2008, 12:21 AM #11
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
ممتاز أخي الماجد تابع بارك الله فيك
لكن طبعا سؤالي ولو أنه بسيط
لقد قمت بتسمية خطوط الدعم ب s1 , s2,s3
وخطوط المقاومة r1,r2,r3
يعني معنى هذا اننا لاحقا سنقوم بتعريف مؤشر معين للأكسبرت موجودة به أصلا تلك الخطوط ومسمية أيضا بالنص البرمجي الخاص بهذا المؤشر وعند تعريف المؤشر للأكسبرت سيقوم بقراءة تلك الخطوط مباشرة من المؤشر .. صح ولا لأ
طيب في حالة أنه لا يوجد مؤشر من الأساس ولكن تلك الخطوط ترسم يدويا (مثلا خطوط عند كل 100 نقطة سعرية )
وتلك الخطوط أرسمها أنا يدوي
كيف يمكنني تعريفها للأكسبرت ؟؟؟
ملاحظة :لو كان سؤالي سوف يحدث تشويش ولخبطة للموضوع الأصلي فالرجاء عدم الأجابة عليه والأستمرار بطريقة عملك على حسب المؤشر وبالنهاية نطرح الأسألة والأستفسارات المتنوعه .
يعني أنا مش مستعجل على الجواب
- 21-01-2008, 01:28 AM #12
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
اخي jnene
بالنسبة للمتغيرات التي عرفناها فليس لها علاقه ابداً بأي مؤشر
وهي حتى هذه اللحظه قيمتها الافتراضيه 0
مثال :
كود:double R1; Print (R1); // الناتج سيكون 0
اما من ناحية الربط بالمؤشرات الأخرى فهذا يتم عن طريق الدالة iCustom
وتكتب بالطريقة التالية :
كود:iCustom(string symbol, int timeframe, string name, ..., int mode, int shift)
آخر تعديل بواسطة الماجد ، 21-01-2008 الساعة 01:30 AM
- 21-01-2008, 06:16 AM #13
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
كود PHP://+------------------------------------------------------------------+
//| New Pivot System EA.mq4 |
//| Copyright © 2008, Arabic Trader |
//| تداول العملات المتداول العربي سوق الفوركس و العملات العالمية - المتداول العربي |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, Arabic Trader"
#property link "تداول العملات المتداول العربي سوق الفوركس و العملات العالمية - المتداول العربي"
// ---------- The General Variables Definition ( Start ) ---------- //
// ---------- The External Variables :
extern int S_Candle = 1; // Start Orders after Close Calndle
extern bool DTargets = true; // Default Strategy Target
extern int MaxTrade = 1; // Count Of Maximum Open Tarde ToDay
extern int T_Profit = 2; // Target Profit 1 or 2
extern bool SL_Move = true; // Stop Loss Move after touch Target 1
extern double Lots = 0.1; // Count Of Lots in per Position
extern int MaxRisk = 10; // Maximum of Risk
extern bool M_M = true; // Money Management
// ---------- The Internal Variables :
double LH; // High of Yesterday Candle
double LL; // Low of Yesterday Candle
double LC; // Close of Yesterday Candle
double LO; // Open of Yesterday Candle
double Rn; // Range of yesterday Candle ( High - Low )
double P; // Pivot Level
double R1, R2, R3; // Resistant Levels
double S1, S2, S3; // Support Levels
// ---------- The General Variables Definition ( End ) ---------- //
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
LH = iHigh(NULL,PERIOD_D1,1); //--LastHigh
LL = iLow(NULL,PERIOD_D1,1); //--LastLow
LC = iClose(NULL,PERIOD_D1,1);//--LastClose
LO = iOpen(NULL,PERIOD_D1,1); //--LastOpen
Rn = LH-LL;
P=(LH+LL+LC)/3; //--Pivot point
R1=(2*P)-LL; //--R1
R2=P+Rn; //--R2
S1=(2*P)-LH; //--S1
S2=P-Rn; //--S2
//----
return(0);
}
//+------------------------------------------------------------------+
- تم اضافه تعريف Las Yesterday Open (تحسبا لاحتياجه في المستقبل)
- تم وضع حسابات المقاومه الاولى و الثانية و الدعم الاول والثاني و طبعا خط البايفوت
- تم اختزال بعض الكلمات (تصغيرها مثلا بدل LastHigh إلى LH )
نحتاج:
- معادله الخط الثالث (دعم ومقاومه)
- 21-01-2008, 12:34 PM #14
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
الله يعطيك العافيه اخوي Dr.GM
بالنسبه للمستويات R3, S3 فقد تمت اضافتها
وقد قمت بإضافة بعض التوضيحات للأسطر
واتمنى من الكل حين التعديل على اي سطر ان يضع شرح مرتب ومنظم بحيث لا يشتت علينا الفكره وكذلك يساعدنا على فهم هذا السطر
واحب أن أشدد على هذه الخطوات وذلك لأننا جميعنا سنحرر النص ونطور به مستقبلاً
فلابد من وجود تنسيق منظم وكذلك شروحات لكل سطر او عدة سطور حتى نعرف اين نريد ان نعدل
اما بالنسبه للكود الجديد فهو كالتالي :
كود://+------------------------------------------------------------------+ //| New Pivot System EA.mq4 | //| Copyright © 2008, Arabic Trader | //| تداول العملات المتداول العربي سوق الفوركس و العملات العالمية - المتداول العربي | //+------------------------------------------------------------------+ #property copyright "Copyright © 2008, Arabic Trader" #property link "تداول العملات المتداول العربي سوق الفوركس و العملات العالمية - المتداول العربي" // ---------- The General Variables Definition ( Start ) ---------- // // ---------- The External Variables : extern int S_Candle = 1; // Start Orders after Close Calndle extern bool DTargets = true; // Default Strategy Target extern int MaxTrade = 1; // Count Of Maximum Open Tarde ToDay extern int T_Profit = 2; // Target Profit 1 or 2 extern bool SL_Move = true; // Stop Loss Move after touch Target 1 extern double Lots = 0.1; // Count Of Lots in per Position extern int MaxRisk = 10; // Maximum of Risk extern bool M_M = true; // Money Management // ---------- The Internal Variables : double LH; // High of Yesterday Candle double LL; // Low of Yesterday Candle double LC; // Close of Yesterday Candle double LO; // Open of Yesterday Candle double Rn; // Range of yesterday Candle ( High - Low ) double P; // Pivot Level double R1, R2, R3; // Resistant Levels double S1, S2, S3; // Support Levels // ---------- The General Variables Definition ( End ) ---------- // //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---------- Add Codes To The Variables ----------// //---------- Yesterday Information : LH = iHigh(NULL,PERIOD_D1,1); //--LastHigh LL = iLow(NULL,PERIOD_D1,1); //--LastLow LC = iClose(NULL,PERIOD_D1,1); //--LastClose LO = iOpen(NULL,PERIOD_D1,1); //--LastOpen Rn = LH-LL; //--LastRange //---------- Pivot Level Carculator : P = ( LH + LL + LC ) / 3; //---------- Resistant Levels Calculator : R1 = ( 2 * P ) - LL; R2 = P + Rn; R3 = ( 2 * P ) + ( LH - ( 2 * LL ) ); //---------- Support Level Calculator : S1 = ( 2 * P ) - LH; S2 = P - Rn; S3 = ( 2 * P ) - ( ( 2 * LH ) - LL ); //---- return(0); } //+------------------------------------------------------------------+
- 21-01-2008, 05:29 PM #15
رد: محاولات مبتدئين لبرمجة اكسبيرت رقمي
بارك الله فيكم على هذا الجهد
المواضيع المتشابهه
-
ورشه خاصه باليورو دولار ( مبتدئين )
By FX.LOSER in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 132آخر مشاركة: 23-03-2009, 09:20 PM -
اول طلب لي لبرمجة اكسبرت
By زينب in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 0آخر مشاركة: 06-01-2009, 05:37 AM -
)))مساعدة من الاخوة المبرمجين اريد اكسبيرت رقمى والمعلومات بالداخل&&&&
By ahmed8lv in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 3آخر مشاركة: 31-12-2008, 07:17 AM -
((سؤال مبتدئين شوية))
By mhmoud_ali in forum استفسارات وأسئلة المبتدئينمشاركات: 3آخر مشاركة: 28-06-2008, 01:42 PM -
توصيات مبتدئين
By صاحب سمو المشاعر in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 90آخر مشاركة: 29-06-2007, 11:51 AM