لوحة التحكم سجل معنا اتصل بنا

العودة   الشبكة - منتدي الفوركس - موقع الفوركس - منتدي تعليم الفوركس - forex - الربح من النت > منتدى الفوركس Forex > قسم المتاجرة الآلية EA
التسجيل الأسئلة الشائعة قائمة الأعضاء التقويم اجعل كافة المشاركات مقروءة

قسم المتاجرة الآلية EA ( كل ما يتعلق بالمتاجرة الالية Experets Aو كيفية استخدامها و انواعها المختلفة



مشاهدة نتائج الإستفتاء: ماهو رأيك بالموضوع
ارحب بشدة وساكون احد المتدربين 16 66.67%
نعم ساشارك وقت فراغي بالتعلم 6 25.00%
ممكن ان اشارك من باب العلم بالشيء فقط 2 8.33%
لا اقتنع بفكرة الاكسبيرت اصلا 0 0%
المصوتون: 24. أنت لم تصوت في هذا الإستفتاء

رد
 
LinkBack أدوات الموضوع طرق عرض الموضوع
قديم 11-28-2007, 16:03   رقم المشاركة : [1 (permalink)]
شبكه جديد
الصورة الرمزية aqlan
 

aqlan is on a distinguished road
تعلم لغة برمجة الميتا واعمل اكسبيرت لاستراتيجيتك الخاصة

Bookmark and Share


السلام عليكم
  • هل تعمل على استراتيجية وناجحة معك وتريد ان تعملها برنامج الي يقوم بالتداول بدلا عنك؟
  • هل تعلم ان قرار فتح الاوامر بالسوق قد لاياخذ عشر الوقت الذي تقضيه في متابعة الاوامر المفتوحة وقرار اغلاقها او الانتظار لماذا لاتعمل برنامج يتابع اوامرك المفتوحة وتوفر على نفسك عناء المتابعة؟
  • هل تريد ان تعمل برنامج يعطيك تنبيه او رسالة على جوالك متى توفرت فرصة دخول بالسوق او فرصة مناسبة للخروج؟
  • هل متابعة السوق وتقلباته تقودك سلبيا احيانا في اتخاذ القرار المناسب؟ (الخوف - الطمع - الحذر)
  • هل تحب ان تكون ادارة المال بحسابك مدروسة بطريقة رياضية وغير خاضعة للتاثيرات النفسية؟

نعم بامكانك عمل كل هذا على الميتاترايدر وتوفر على نفسك الكثير من الوقت ليس هذا فقط لكن سوف تخرج من دائرة تاثير حركة السوق السلبية على نفسيتك ويكون قرارك علمي ومدروس اكثر

اخي بامكانك الان تعلم هذه اللغة وعمل كل ماسبق وزيادة وتحتاج لذلك المتطلبات الادنى وهي:
  • الحماس والاصرار
  • الصبر على التعلم
  • اعطاء الوقت الكافي
  • المشاركة بقراءة هذا الموضوع
سوف اقوم بعمل دروس تدريجية للبرمجة هنا وارحب باي مشاركة من المبرمجين لدعم الموضوع

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

لا احبذ الرد بالمشاركات في غير صلب الموضوع حتى تسهل المتابعة وللراغبين في تسلسل الدروس ونكتفي بالاستفتاء لمعرفة اراءكم (فضلا لا امرا)

تمنياتي لكم بالتوفيق





التوقيع:

[عزيزي الزائر يتوجب عليك التسجيل للمشاهدة الرابطللتسجيل اضغط هنا]


aqlan غير متواجد حالياً   رد باقتباس
وصلات دعم الموقع
قديم 11-28-2007, 16:39   رقم المشاركة : [2 (permalink)]
شبكه جديد
الصورة الرمزية aqlan
 

aqlan is on a distinguished road
مقدمة

Bookmark and Share


تمهيد
قد يقول البعض ان البداية سريعة ومتقدمة وتحتاج الكثير من التمهيد والطرح النظري قبل ان نصل الى هذه المرحلة.
وانا اقول ان هناك طريقتان في التعلم:
الطريقة الاولى: تعلم الاجزاء لفهم الكل
الطريقة الثانية: فهم الكل لتعلم الاجزاء
من دون الغوص في فلسفات التعليم وطرقها لكن بحسب خبرتي ارى ان اسهل واسرع طريقة للتعلم هي الطريقة الثانية وهي لكي نتعلم اجزاء البرمجة وتفاصيلها واسرارها يجب اولا ان نفهم برنامج كامل ونراه كيف يعمل ثم نتجول في اجزاءه.



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





التوقيع:

[عزيزي الزائر يتوجب عليك التسجيل للمشاهدة الرابطللتسجيل اضغط هنا]


aqlan غير متواجد حالياً   رد باقتباس
قديم 11-28-2007, 16:49   رقم المشاركة : [3 (permalink)]
شبكه جديد
الصورة الرمزية aqlan
 

aqlan is on a distinguished road
الدرس الاول

Bookmark and Share


الدرس الاول

مرفق:
برنامج Lesson1.mq4
برنامج يقوم بفتح اوامر بيع وشراء عند تقاطع خطين متوسطين 7و15 يشتري عند التقاطع للاعلى ويبيع عند التقاطع للاسفل

الهدف:
نهاية الدرس الاول هي بفهم اجزاء وتفاصيل البرنامج الاساسي بشكل عام غير تفصيلي وغير دقيق (نفهم الكل لنتعلم الاجزاء) سنصل الى فهم عمل البرنامج الاول و اجزائه الرئيسية ودور كل جزء منها.

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

اولا: مدخلات الاكسبيرت:
رمز:
//+------------------------------------------------------------------+
//| Input Parameters مدخلات الاكسبيرت |
//+------------------------------------------------------------------+
extern double Lots = 1;
extern int StopLoss = 40 ;
extern int TakeProfit = 120 ;
extern int MAS = 15;
extern int MAF = 7;


وهي عبارة عن مدخلات المستخدم والمتغيرات التي سوف تسمح له ان يعدل عليها مثل حجم العقد مثلا وتستطيع تمييزها عن غيرها من المتغيرات بكلمة extern السابقة للتعريف
وسوف نرى انواع اخرى من المتغيرات بالبرنامج.

ثانيا: متغيرات عامة:
وهي متغيرات على لايراها المستخدم العادي للبرنامج وتستخدم داخليا بالبرنامج وفي مثالنا هذا استخدمنا الرقم السحري

رمز:
//+------------------------------------------------------------------+
//| Static Parameters متغيرات عامة |
//+------------------------------------------------------------------+
int Magic = 10;


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

رمز:
//+------------------------------------------------------------------+
//| Initialization function دالة التهيئة وتنفذ عند الدخول للاكسبيرت |
//+------------------------------------------------------------------+
int init()
{
//---- 


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


رابعا: دالة التصفية:
هذه الدالة تعمل بشكل معاكس لسابقتها فهي تنفذ الكود الذي بداخلها عند ايقاف استخدام الاكسبيرت او عند الخروج من برنامج التداول بالكامل. وايضا لم نستخدمها بمثالنا هذا
رمز:
//+------------------------------------------------------------------+
//| Deinitialization function دالة التصفية وتنفذ عند الخروج فقط |
//+------------------------------------------------------------------+
int deinit()
{
//----


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



خامسا: الدالة الرئيسية
هنا يتركز الكود الذي معظم العمل عليه، وهنا سننفذ استراتيجياتنا وحساباتنا الرقمية والرياضية وكذلك تنفيذ الاوردرات واغلاق الصفقات وتعديل الاهداف والاستوبات. اذا نستطيع ان نقول ان 99% من الكود موجود بهذه الدالة وسنفرد لها درس خاص وهو القادم باذن الله. يقوم برنامج الميتا ترايدر بتنفيذ الكود المتضمن بهذه الدالة مع كل تغير بالسعر على الزوج الموضوع عليه الاكسبيرت وهذا فرق واضح واساسي بينها وبين الدالتين السابقتين
رمز:
//+------------------------------------------------------------------+
//| Start function الدالة الرئيسية وتنفذ عند كل تغير بالسعر |
//+------------------------------------------------------------------+
int start()
{ 
//===== Part 1: Check opened positions: 
double curTotal=0, BuyRun=0, SellRun=0; 
for (int cnt=0; cnt<OrdersTotal(); cnt++)
{
OrderSelect(cnt,SELECT_BY_POS) ; 
if(OrderSymbol()!=Symbol()) continue;
if (OrderMagicNumber()!= Magic) continue; 
if(OrderType()<=OP_SELL) 
{
curTotal+=1 ;
if (OrderType()==OP_SELL) { SellRun=OrderOpenPrice(); }
if (OrderType()==OP_BUY) { BuyRun =OrderOpenPrice(); }
}
} 
 
 
//=======Part 2: Initialize Parms:
double MA_f, MA_s, MA_f1, MA_s1;
MA_f = iMA(Symbol(), 0, MAF, 0, MODE_EMA, PRICE_CLOSE, 1); 
MA_s = iMA(Symbol(), 0, MAS, 0, MODE_EMA, PRICE_CLOSE, 1); 
MA_f1 = iMA(Symbol(), 0, MAF, 0, MODE_EMA, PRICE_CLOSE, 2); 
MA_s1 = iMA(Symbol(), 0, MAS, 0, MODE_EMA, PRICE_CLOSE, 2);  
bool CrossUp = (MA_f1<=MA_s1 && MA_f>MA_s);
bool CrossDn = (MA_f1>=MA_s1 && MA_f<MA_s); 
bool Long = (BuyRun==0 && CrossUp ); 
bool Short= (SellRun==0 && CrossDn ); 
 
 
//===== Part 3: Do Buy Or Sell: 
if(Long) 
{ 
OrderSend(Symbol(),OP_BUY,Lots,Ask, 5, Ask-StopLoss*Point, Ask+TakeProfit*Point,"LetsFX Lesson1", Magic, 0, RoyalBlue);
return ;
}
if(Short) 
{
OrderSend(Symbol(),OP_SELL,Lots,Bid, 0, Bid+StopLoss*Point, Bid-TakeProfit*Point,"LetsFX Lesson1", Magic, 0,LightPink);
return;
} 
 
 
//======Part 4: Handle Running Orders:
double OpenP=0,StopL=0,TakeP=0,Lot=0 ;
int Ticket=0, Type=0 ;
for (int cnt1=0; cnt1<OrdersTotal(); cnt1++)
{
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==false) continue;
if(OrderSymbol()!=Symbol()) continue;
if (OrderMagicNumber()!= Magic) continue; 
if (OrderType()<=OP_SELL) 
{
Ticket= OrderTicket();
Type = OrderType();
OpenP = OrderOpenPrice();
StopL = OrderStopLoss();
TakeP = OrderTakeProfit();
Lot = OrderLots(); 
if (Type==OP_BUY) 
{ 
//Handle running Long pos: 
}
else 
{
//Handle running Short pos: 
} 
}
}
// the end. 
 
 
//----
return(0);
}




الجزء التالي هو للدوال الخاصة بالمبرمج، نعم تستطيع ان تعمل دوال خاصة بك تستدعيها من الدوال الرئيسية السابقة ولنضرب مثال بسيط لدالة قد تحتاج اليها وهي انك قد تعمل دالة تحسب لك متوسط الحركة الييومية للسعر لفترات مختلفة، وكثيرة هي الامثلة للدوال الخاصة وسنتطرق لها لكن بدروس متقدمة
رمز:
//+------------------------------------------------------------------+ //| My Functions الدوال الخاصة | //+------------------------------------------------------------------+

ملخص:
يفترض ان تكون اجزاء البرنامج واضحة لدى المتدرب وهي 5 اجزاء رئيسية يحتوي عليها اي برنامج والهدف من كل جزء من هذه الاجزاء يجب ان يكون مستوعب بشكل عام، كذلك 3 دوال رئيسية واساسية كل منها له وقت محدد يقوم نظام التداول بتنفيذ الكود المتضمن بها كل بوقته المحدد.

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




الملفات المرفقة
نوع الملف: zip LetsFX - Lesson1.zip (1.4 كيلوبايت, المشاهدات 54)

نصائح هتفيدك قبل تحميل المرفق

1- أفحص الملف المرفق بأي برنامج مضاد للفيروسات
2- قم بمراسلة المراقب عن أي مرفق يوجد به فيروس
3- المنتدى غير مسول عن ما يحتويه المرفق من بيانات

التوقيع:

[عزيزي الزائر يتوجب عليك التسجيل للمشاهدة الرابطللتسجيل اضغط هنا]


aqlan غير متواجد حالياً   رد باقتباس
قديم 11-29-2007, 08:12   رقم المشاركة : [4 (permalink)]
أدارة الشبكه
الصورة الرمزية El shbaka
 

El shbaka تم تعطيل التقييم
افتراضي

Bookmark and Share

مشكور اخ ياسر، فعلا دروس جيدة جدا و سوف يثري وجودكم المنتدى .

جزاك الله خير



التوقيع: اعتذر عن عدم تواجدي في المنتدى حتى يوم الثلاثاء القادم ان شاء الله



الرجاء الالتزام بالقواعد التالية حتى لا نضطر وقف عضويتك و حذف كل مواضيعك بالمنتدى :-
1- عدم كتابه مواضيع بغرض الاشهار سواء لجروب او موقع او منتدى بشكل مباشر او غير مباشر.

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

3 - وضع ايميل خاص في الموضوع بغرض التواصل خارج المنتدى او طلب ارسال ايميلات الاعضاء اليك لسبب مبهم .

4 - كتابه موضوع لأستغفال البعض بوضع لينك لموقع مليء باعلانات ادسنس و تحفيزهم بالضغط عليه، سيتم ايقاف عضويتك و ابلاغ جوجل ادسنس عنك فورا.

5 - كتابه موضوع غير لائق للتشهير باحد او سبه او ازدراء عقيدة او دين، او كتابه موضوع سياسي لمهاجمة احد الحكومات او الشخصيات العامة.

6 - تكرار الموضوع بشكل مستفز اكثر من مرة في اكثر من قسم او وضعه في شكل ردود في مواضيع الاخرين.
El shbaka غير متواجد حالياً   رد باقتباس
قديم 11-30-2007, 14:22   رقم المشاركة : [5 (permalink)]
شبكه جديد
 

abedjaber1971 is on a distinguished road
افتراضي

Bookmark and Share

درس رائع وبانتظار المزيد



abedjaber1971 غير متواجد حالياً   رد باقتباس
قديم 12-08-2007, 14:14   رقم المشاركة : [6 (permalink)]
شبكه جديد
 

طاووس البورصه is on a distinguished road
افتراضي

Bookmark and Share

شكرا أخي العزيز على هذا الموضوع
و نحن بانتظار المزيد



طاووس البورصه غير متواجد حالياً   رد باقتباس
قديم 12-10-2007, 23:59   رقم المشاركة : [7 (permalink)]
شبكه جديد
الصورة الرمزية aqlan
 

aqlan is on a distinguished road
Icon3 الدرس الثاني

Bookmark and Share



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

مقدمة:
هل سمعتم تعليق من احد المبرمجين عن برنامج شاهده وقال " البرنامج ركيك" او "صاحب البرنامج غير محترف" او "برنامج ملخبط" وغيرها من التعليقات؟
نعم كثير من هذه التعليقات ربما تقولونها على برامج تعرض عليكم مستقبلا، ولكن السؤال المهم انه كيف استطاع هذا المبرمج وصف البرنامج بانه ضعيف؟
هذه الدالة الرئيسية هي التي اخبرت المبرمج عن قوة الذي كتبها والفها، نعم سوف تستطيعون بنظرة –مستقبلا- على الدالة الرئيسية بالحكم على قوة البرنامج او كاتبه.
الدالة الرئيسية هي مساحة المبرمج يكنب فيها الكود بالطريقة التي يفكر بها وبالاسلوب الذي تعلمه لذا تجد من الصعب على مبرمج ان يفهم برنامج كتبه غيره فهما كاملا الا بصعوبة شديدة. بل احيانا كاتب البرنامج نفسه اذا ترك البرنامج سنة مثلا ثم رجع يقراه فسيجد انه صعب عليه فهمه كما كان وقت كتابته.
هذه المقدمة وان كانت طويلة لكن هي مهمة لنعرف اهمية تنظيم هذه الدالة وعدم رمي الكود فيها بدون تنظيم وترتيب لكي يسهل علينا مستقبلا التعديل عليها وتطويرها.

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

اجزاء الدالة الرئيسية: 4 اجزاء

الجزء الاول: تحميل بيانات المراكز المفتوحة:
عادة في العمل اليومي العادي قبل ان تقرر وضع اي اوامر بالسوق تفحص الاوامر المفتوحة اليس كذلك؟
لترى اذا كان هناك اوامر مفتوحة ويجب اتخاذ قرار بخصوصها قبل الخوض في تحليل السوق وفتح اوامر جديدة.
وهذا مانعمله بالبرنامج تماما، نحمل جميع الاوامر المفتوحة ونأخذ مثل الاحصائية العامة وفي مثالنا هذا نحن نخرج من هذا الجزء بثلاثة متغيرات مهمة ستؤثر في قرارنا لدخول السوق من جديد وهي
عدد الاوامر المفتوحة curTotal
السعر المفتوح به صفقة الشراء BuyRun
السعر المفتوح به صفقة البيع ٍSellRun
ملاحظة: هذا الجزء قليل التعديل عليه بين البرامج المختلفة حتى في معظم البرامج سترى انك لن تحتاج ان تعدل عليه الا نادرا.


رمز:
//===== Part 1: Check opened positions: double curTotal=0, BuyRun=0, SellRun=0; for (int cnt=0; cnt<OrdersTotal(); cnt++) { OrderSelect(cnt,SELECT_BY_POS) ; if(OrderSymbol()!=Symbol()) continue; if (OrderMagicNumber()!= Magic) continue; if(OrderType()<=OP_SELL) { curTotal+=1 ; if (OrderType()==OP_SELL) { SellRun=OrderOpenPrice(); } if (OrderType()==OP_BUY) { BuyRun =OrderOpenPrice(); } } }

التطوير المتوقع في هذا الجزء مستقبلا:
فحص الاوامر المعلقة بالسوق BuyStop, BuyLimit, SellStop and SellLimit

الجزء الثاني: تجهيز المتغيرات الخاصة بالاستراتيجية:
هذا الجزء يختلف عن سابقه بانه يختلف من برنامج لاخر اختلافا كبيرا.
بهذا الجزء نقوم عادة بتجهيز متغيرات لنستخدمها في الجزء التالي للدخول بالسوق وهذه المتغيرات نجهزها حسب الاستراتيجية الخاصة بنا في مثالنا هذا وهو الدخول عند تقاطع الخطوط المتوسطة سنجهز قيمة الخط المتوسط الاول والثاني (السريع والبطيء) في متغيرين ma_f, ma_s للبار السابقة تماما ورقمها 1 في الكود.
ولكن لنعرف اذا تقاطعوا ام لا سنحتاج ايضا ان نعرف قيمة المتوسطات للبار السابقة لهذه البار ورقمها البرمجي 2 وسنضع قيمة المتوسطين لها في ma_f1, ma_s1
الان لنعرف فعليا ان التقاطع حاصل سنعرف متغيرين جديدة CrossUp, CrossDn كما بالكود:

bool CrossUp = (MA_f1<=MA_s1 && MA_f>MA_s);

"كروس اب" ستكون قيمتها اما True, False ونستطيع فهمها كانها (نعم،لا) ففي مثالنا هنا ستكون "ترو" اي (نعم) في حالة ان الخطين المتوسطة كانت في البار رقم 2 السريع تحت البطيء، وفي البار رقم 1 السريع فوق البطيء. اي حصل تبادل للاماكن بين البارين السابقين.
وهكذا الامر بالنسبة CrossDn التقاطع للاسفل ولكن بالعكس.
بعد تجهيز المتغيرات ندخل فورا في شرط الدخول للسوق ونضعه في متغيرين Long, Short ولن نقوم بفتح الاوامر فعليا بهذا الجزء انما فقط تجهيز هذين المتغيرين للجزء التالي.
Long ستكون فيها احدى قيمتين True, False فلو كانت بترو فهذا يعني اننا سوف ندخل شراء بالجزء التالي وكذلك الامر بالنسبة للبيع والمتغير Short

bool Long = (BuyRun==0 && CrossUp)
سنجد ان قيمة Long ستكون "بترو" فقط في حالة انه لايوجد عقد شراء بالسوق BuyRun==0، وكذلك حصول تقاطع للاعلى CrossUp.
نلاحظ العلامة && بين الشرطين وهي تعني ضرورة تحقق الشرطين لنخرج بقيمة "ترو" لهذا المتغير.



رمز:
//=======Part 2: Initialize Parms: double MA_f, MA_s, MA_f1, MA_s1; MA_f = iMA(Symbol(), 0, MAF, 0, MODE_EMA, PRICE_CLOSE, 1); MA_s = iMA(Symbol(), 0, MAS, 0, MODE_EMA, PRICE_CLOSE, 1); MA_f1 = iMA(Symbol(), 0, MAF, 0, MODE_EMA, PRICE_CLOSE, 2); MA_s1 = iMA(Symbol(), 0, MAS, 0, MODE_EMA, PRICE_CLOSE, 2); bool CrossUp = (MA_f1<=MA_s1 && MA_f>MA_s); bool CrossDn = (MA_f1>=MA_s1 && MA_f<MA_s); bool Long = (BuyRun==0 && CrossUp ); bool Short= (SellRun==0 && CrossDn );
الجزء الثالث: فتح الاوامر بالسوق:
هنا نصبح جاهزين تماما لفتح الاوامر بدون الخوض في اي شروط او استراتيجيات فهو جزء يقوم بفتح الاوامر بناء على المتغيرين Long, Short التي جهزناها بالجزء السابق
التعديل على هذا الجزء قليل ايضا من برنامج لاخر مثل الجزء الاول في هذه النقطة.


رمز:
//===== Part 3: Do Buy Or Sell: if(Long) { OrderSend(Symbol(),OP_BUY,Lots,Ask, 5, Ask-StopLoss*Point, Ask+TakeProfit*Point,"LetsFX Lesson1", Magic, 0, RoyalBlue); return ; } if(Short) { OrderSend(Symbol(),OP_SELL,Lots,Bid, 0, Bid+StopLoss*Point, Bid-TakeProfit*Point,"LetsFX Lesson1", Magic, 0,LightPink); return; }
التطوير المتوقع في هذا الجزء مستقبلا:
في الدروس المتقدة سنرى كيف نضع اوامر سوق معلقة BuyStop, BuyLimit, SellStop and SellLimit

الجزء الرابع: ادارة الاوامر المفتوحة:
بقي بالبرنامج الجزء الاخير وهو جزء حيوي جدا في ادارة الاوامر المفتوحة وهنا بمثالنا نحن لانقوم باي عمل تجاه الاوامر المفتوحة لكن اكتفيت بوضع القالب العام لهذا الجزء وهو الذي لايتغير ابدا مهما تغير البرنامج فهو يكاد يكون ثابت في جميع البرامج.



رمز:
//======Part 4: Handle Running Orders: double OpenP=0,StopL=0,TakeP=0,Lot=0 ; int Ticket=0, Type=0 ; for (int cnt1=0; cnt1<OrdersTotal(); cnt1++) { if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==false) continue; if(OrderSymbol()!=Symbol()) continue; if (OrderMagicNumber()!= Magic) continue; if (OrderType()<=OP_SELL) { Ticket= OrderTicket(); Type = OrderType(); OpenP = OrderOpenPrice(); StopL = OrderStopLoss(); TakeP = OrderTakeProfit(); Lot = OrderLots(); if (Type==OP_BUY) { //Handle running Long pos: } else { //Handle running Short pos: } } }
التطوير المتوقع في هذا الجزء مستقبلا:
كثيرة هي التطويرات والافكار في هذا الجزء وسنتطرق لكثير منها في الامثلة القادمة لكني ساذكر امثلة هنا:
· تغيير الاستوب
· وضع الاستوب على سعر الفتح
· اغلاق العقد المفتوح لفترة زمنية معينة دون الوصول للهدف
· الخروج من الصفقات عند شروط معينة مثل ضعف الحركة في السعر

ملخص:
يجب ان نخرج من الدرس الثاني بعدد من المفاهيم:
· هيكل الدالة الرئيسية مهم جدا ان يكون في قالب محدد لسهولة التطوير المستقبلي
· القالب المستخدم به 4 اجزاء رئيسية
· الجزء الاول والثالث قليل التعديل عليه من برنامج لاخر
· الجزء الثاني وهو تجهيز الاستراتيجية وشروط الدخول هو لب البرنامج واكبر جزء يختلف من برنامج لاخر
· طريقة كتابة المتغيرات Long, Short غير قابلة للتعديل في اي تطوير لارتباطها باكثر من جزء بالبرنامج
· البرنامج الذي بين يدينا يعتبر برنامج كامل وقابل للتجربة باك تست
نهاية الدرس الثاني،،،

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




التوقيع:

[عزيزي الزائر يتوجب عليك التسجيل للمشاهدة الرابطللتسجيل اضغط هنا]


aqlan غير متواجد حالياً   رد باقتباس
قديم 12-29-2007, 14:36   رقم المشاركة : [8 (permalink)]
شبكه
الصورة الرمزية الملاك
 

الملاك is on a distinguished road
افتراضي

Bookmark and Share

مشكور اخوي على الموضوع المهم



التوقيع: ادي الملاك البرئ ابو قلب طيب جرئ
الملاك غير متواجد حالياً   رد باقتباس
قديم 01-05-2008, 18:45   رقم المشاركة : [9 (permalink)]
شبكه جديد
 

الحلم is on a distinguished road
افتراضي

Bookmark and Share

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



الحلم غير متواجد حالياً   رد باقتباس
قديم 04-04-2008, 20:07   رقم المشاركة : [10 (permalink)]
موقوف
 

gkaled2004 is on a distinguished road
افتراضي

Bookmark and Share

فى انتظار باقى الاضافات



gkaled2004 غير متواجد حالياً   رد باقتباس
رد



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
طرق عرض الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع جديدة
لا تستطيع كتابة ردود جديدة
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك
رمز [IMG] متاحة
رمز HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة
الانتقال السريع إلى

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
تعلم Icdl (الرخصة الدولية لقيادة الحاسب) ramysakre (((( منتدى البرامج )))) 28 09-25-2008 03:48
(للمسلمين فقط ) خش هنا واعمل حاجة مفيدة لو مره بحياتك مقدسي **القسم العام** 4 04-22-2008 21:06
صورة طفل يحارب بطريقته الخاصة tarek2750 **القسم العام** 10 12-31-2006 06:32


الساعة الآن: 12:27.


جميع الحقوق محفوظة 2008 - 2009 © لــ .
منتديات الشبكة

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


Content Relevant URLs by vBSEO 3.1.0
1 2 3 4 5 6 7 9 10 11 12 18 19 20 21 22 25 26 27 28 32 39 43 44 47 48 49 50 53 54 55 56 57 58 59