ولا يهمك يا استاذ اسامة
سواء كان اليوم او الاثنين مش مشكلة
وياريت تبعت لنا الفيديو او الشرح pdf للمحاضرة
الي فاتت عشان نراجعها ونعرف كيف نحل الواجب
اوك تمام
شكرا ليكم
معلش يا مستر اسامه باشا
مش عارف اعمل الباك تست .... المنصه بيطيئة بطئ السنين بطريقة غريبه .... مش عارف اسرعها ازاى بالرغم انى حركت مؤشر السرعه
و كمان لغيت الفيجول مود .... وما فيش فايدة .... الحل ايه ؟؟؟؟
الفيديو يااستاذ اسامة والبى دى اف بتاعى المحاضرتين الى فاتو بعد اذنك
يا جماعة أكيد أول ما عمل الفيديو والشرح يخلصوا
أكيد هيوصلوا لينا على الإيميل
وأهو كده معانا فرصة نراجع الدروس إللي فاتت لغاية يوم الإتنين الجاي
---------------------
ومرفق إكسبيرت من برمجة أستاذ أسامة
إفتحوه كده ومخمخوا فيه لغاية المحاضرة الجاية
وحاولوا تفهموا كل دالة وطريقة عملها
ومعانا من النهاردة ليوم الإتنين وكل واحد بقى يحاول يطور في إكسبيرته أكتر
( الإكسبيرت المرفق ده أستاذ أسامة كان عامله بغرض شرح خطوات البرمجة و تقدروا تقولوا إنه يعتبر مراجعة على كل إللي أخدناه لغاية دلوقت + بعض الدوال الإضافية مثل دالة إغلاق العقود + دالة تحديد نوع الأوردر الأخير + الترلينج أستوب والبريك إيفن..وحاجات تانية كتير )
وده لينك شرح الإكسبيرت
https://forum.arabictrader.com/t97945.html
ممكن حد يشرحلي الكود ده وايه الفايدة من Q و digits
كود:double point;
int digits,Q;
int init()
{
if(Digits==5||Digits==3)Q=10;
else Q=1;
if(Digits<4)
{
point=0.01;
digits=2;
}
else
{
point=0.0001;
digits=4;
}
return(0);
}
السلام عليكم و رحمة الله و بركاته
أخي يوسف لم اكن اعرف انك عملت إكسبرت لمؤشر الوافي و قد سبقتني، ممكن اعرف أخي الشروط التي وضعتها له للشراء و البيع ؟؟؟؟
في الحقيقة انا كنت أريد أن أضيف له دالة لتحديد الاتجاه لكي من خلالها اختار من اين أشتري و ابيع و لكن لم استطع برمجتها، و قد رأيت أنك اعتمدت على تقاطع الموفينجات، رغم أني عندي فكرة جيدة لتحديد الاتجاه و تعتمد على مؤشر آخر و لكن صعب علي ترجمتها لدالة لتحديد الاتجاه
ههههههههههه
إنتوا غاويين تفضحوني
أنا لما عملت الإكسبيرت ده كنت في المصيف
ومعنديش على اللاب إلا مؤشر الوافي الله يرحمه
فإستخدمته وإستخدمت معاه الموفينج ... بس تقدر تقول ملهموش علاقة ببعض
--------------------
المفروض لو عايزين نعمل إكسبيرت بيعتمد على مؤشر الوافي يبقى نستخدم معاه مؤشر بيرسم الترند
ويكون الشراء لو الترند الصاعد والسعر فوق أول مستوى اخضر بـ 10 او 20 نقطة
ويكون البيع لو الترند هابط والسعر تحت المستوى الأحمر بـ 10 أو 20 نقطة
----------------------
بس للأسف حاليا أنا على اللاب ومش عليه أي مؤشرات ممكن أستخدمها
-----------
لكن إنت لو عندك فكرة كويسة قولها ونطبق عليها هنا وبإذن الله نحاول ننفذها
Digits بحرف D كابتل :
كلمة محجوزة في اللغة و هي تمثل عدد الأرقام بعد الفاصلة العشرية
أما digits إللي إحنا معرفينها :
دي بقى إستخدمناها عشان لو المنصة 5 أرقام أو 4 أرقام
نستخدم digits ونعرفها بحيث على المنصتين تقرأ 4 من بعد الفاصلة
أو طبعا تقرأ 2 في حالة أزواج الين
يعني مثلا نستخدمها في الأوردرات بالشكل ده
Q :كود PHP:OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,digits),3*Q,NormalizeDouble(SL,digits),NormalizeDouble(TP,digits),"ea",MagicNumber,0,Blue);
هي المعامل إللي هنضرب فيه أي رقم
يعني مثلا في الكود إللي فوق عملنا ( slippage ( 3*Q
يبقى لو المنصة 4 أرقام هيقرأ Q = 1 وبالتالي 3×1 =3
ولو المنصة 5 أرقام هيقرأ Q = 10 وبالتالي 3×10 =30
------------------------
طيب هتسألني إية الفرق بين Q و point
المشكلة إن مثلا الـ slippage نوعها متغير عدد صحيح int
وما ينفعش إني أكتب 3*point لإن الناتج هيكون 0.0003 وطبعا ده عدد عشري
فعرفنا الـ Q للسبب ده
------------------------------
ممكن نستغنا عن الـ Q لكن في الحالة دي نكتب الحاجات إللي ذي الـ slippage يدوي
يعني لو المنصة 5 أرقام نكتب مثلا 30 ولو المنصة 4 أرقام نكتب 3
طيب دلوقتي دي معناها ايه انا ملاحظ انها اتكتبت مرتين في التيك بروفت والستوب
ثانيا حكاية Q و digits عاملة معايا لخبطة لان الاستاذ اسامة كان شرح في المحاضرة اللي فاتتكود PHP:NormalizeDouble(SL,digits)
بطريقة مختلفة ولما فتحت الاكسبرت parabolicsar ea V6.mq4
لقيت الدوال الي فيه بالطريقة مش زي اللي في المحاضرة وانا ملاحظ انها بتاخد كتابة اكتر
مثال علي الدالة
الطريقة اللي في المحاضرة اللي فاتت وازاي اكتب الدالة اللي فوق بالطريقة اللي تحتكود PHP: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(),NormalizeDouble(Bid,digits),3*Q);
}
}
}
}
معلش انا طولت عليك استحملني شوية :0016:كود PHP:if(Point==0.00001||Point==0.0001)
{
pt=0.0001;
}
if (Point==0.01||Point==0.001)
{
pt=0.01;
}
المشكلة عندى فى اى اكسبرت انا بكتبه بيكون بطئ اوووووى
لكن الاكسبرت اللى موجود فى الميتاتريدر سريع جدا وزى الفل
حاجة غريبه
بالشكل ده
بس لو المنصة 5 أرقام تخلي بدل 3كود PHP: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);
}
}
}
}
30
------------------
أو تخلي دالة void CloseBuyOrders() ذي ما هي بس تعرف digits و Q
بنفس طريقة المحاضرة إللي فاتت وتزودهم بالشكل ده
وطبعا تعرف خارج الدالة init() المتغيرات بالشكل دهكود PHP:if(Point==0.00001||Point==0.0001)
{
pt=0.0001;
digits=4;
}
if (Point==0.01||Point==0.001)
{
pt=0.01;
digits=2;
}
if(Point==0.00001 || Point==0.001){Q=10;}
else {Q=1;}
-------------------------------------------------------كود PHP:double pt;
int Q,digits;
أما بالنسبة لمعني
NormalizeDouble تقوم بأخذ عدد معين من الأرقام بعد الفاصلةكود PHP:NormalizeDouble(SL,digits)
الخانة الموجود فيها SL دي بتضع فيها الرقم أو المتغير المطلوب تعديل أرقامه من بعد الفاصلة
الخانة الموجود فيها digits دي بتضع فيها عدد الأرقام من بعد الفاصلة ( أو في الحالة دي إحنا عرفنا لها متغير يعود بالرقم 4 في حالة الأزواج العادية ويعود يالرقم 2 في حالة أزواج الين )
---------------
مثال
لو أنا مثلا عامل معادلة تحسب التيك بروفت والناتج كان 1.32589
لكن أنا عايز التيك بروفت يكون1.3258
يبقى أستخدم
أو أكتب بدل الـ 4 أكتب digits لو أنا معرفهاكود PHP:NormalizeDouble(TP,4)
ولو عايزه مثلا ياخد 3 أرقام بعد الفاصلة بحيث يكون التيك بروفت 1.325
يبقى كده
أو أكتب بدل الـ 3 أكتب digits لو أنا معرفهاكود PHP:NormalizeDouble(TP,3)
ذي ما كنا في المدرسة بيقولوا لينا قرب الرقم 2.536549 لأقرب عدد من مائة
بيكون الناتج 2.54
نفس الكلام في NormalizeDouble
أول خانة تضع فيها الرقم
والخانة الثانية تضع رقم الخانات إللي عايز تقرب لها
كود PHP:NormalizeDouble(2.536549,2)
السلام عليكم الاخوة الكرام
ارجو من يعرف يشرح هذه الدالة
وجزاكم الله خير
كود PHP:void Tulis(string a_name_0, double a_corner_8, int a_y_16, int a_x_20, string a_text_24, int a_fontsize_32, string a_fontname_36, color a_color_44) {
ObjectCreate(a_name_0, OBJ_LABEL, 0, 0, 0);
ObjectSetText(a_name_0, a_text_24, a_fontsize_32, a_fontname_36, a_color_44);
ObjectSet(a_name_0, OBJPROP_CORNER, a_corner_8);
ObjectSet(a_name_0, OBJPROP_XDISTANCE, a_x_20);
ObjectSet(a_name_0, OBJPROP_YDISTANCE, a_y_16);