النتائج 1 إلى 15 من 137
- 28-10-2017, 07:42 PM #1
تعلم لغة ال mql4 وذلك من خلال شرح كامل للمؤشرات والاكسبيرتات
السلام عليكم ورحمة الله وبركاته
بعد البحث الطويل على مواقع الانترنت لتعلم لغة الميتاتريدر mql4 وجدت ان اغلب المراجع الكامله للتعلم الصحيح باللغة الانجليزيه كذلك اغلب الشروحات الفيديو بالانجليزيه
اما الموضوعات التى تم طرحها باللغه العربيه لم يكملها اصحابها او لا تعطى ماده كافيه للتعلم وهناك الكثير منا يبحث عن كيفية تعلم تلك اللغه
فلذلك خطرت لى فكره ان نتعلم تلك اللغه وذلك من خلال شرح الكود الخاص ببعض المؤشرات والاكسبيرتات وذلك من خلال احد خبراء اللغه الذى يتطوع لشرح كود المؤشر او
الاكسبيرت كاملا وشرح سبب اختيار كل جزء من المؤشر او الاكسبيرت وذلك سيتم بطريقه تكون سهله على الشخص الذى يقوم بالشرح وذلك من خلال نسخ جزء جزء من الكود
واضافه الشرح اسفل الكود على شكل كومنت وبالتالى سيتعلم الجميع كيفية عمل المؤشرات والاكسبيرتات بصورة فعاله من خلال التطبيق العملى والشرح النظرى
هذه فكرتى المتواضعه لتعلم اللغه واتمنى ان اجد من يساعد فى ذلك فالمنتدى مليىء باصحاب الخبرات مثل /مستر دولار مشرف القسم / والاستاذ فيلسوف الباديه / وغيرهم ممن لديهم خبرة وافيه فى اللغه
تقبلوا تحياتىآخر تعديل بواسطة elhelaly ، 28-10-2017 الساعة 07:47 PM
- 28-10-2017, 07:45 PM #2وهذا اول اكسبيرت مضاعفات عكسيه...... تم عمله بواسطه مستر دولار اتمنى شرح لهذا الاكسبيرت
- 28-10-2017, 07:57 PM #3
رغبتك الشديدة ستقودك لتكون من اباطرة البرمجة ان شاء الله--
اهم شي ثلاث
1) لايتعلم مستح او مستكبر--اسأل حتى لو بدا لك سؤالك بالغ التفاهة
2) تعلم بشكل صحيح بالبدء بالفباء البرمجة
3) استمر بالتعلم دون انقطاع
--
المراجع العربية اجتهادات حسب الطلب وليست منهجية
------
هناك خاصية php في المنتدى--يستحسن الجزئية التي عليها سؤال محدد تطرحها مكتوبة بين علامتي php
=
الفباء-1:
-كل متغير لابد من تعريفه قبل استخدامه (-uint-int-float-double-long-ulong-color-string-char-uchar-short-ushort-datetime)
-نعرف نهاية السطر البرمجي بعلامة ;
-محتويات كل دالة او بلوك بين علامتي { }
- نعرف ان المتغير مصفوفة بعلامتي [ ]
------------
الفباء-2: الهانلدرز handlers
السكربتات نستخدم OnStart على الاقل
الاكسبيرتات, نستخدم OnTick على الاقل (وهناك OnDeInit-OnTimer-OnDeinit)
المؤشرات: نستخدم Oninit مع OnCalculate او Ontimer على الاقل
---------آخر تعديل بواسطة فيلسوف البادية ، 28-10-2017 الساعة 08:11 PM
- 28-10-2017, 08:09 PM #4
وعليكم السلام ورحمة الله تعالى وبركاته
هناك دورة فيديو قدمها الاستاذ أسامة ولكن لا أدري هل هي متاحة للجميع أم لا أعتقد الفيديو هو أسرع وسيلة للتعلم حاليا فأقترح إنتظار رد الاستاذ اسامة إن كانت الفيديوهات متاحة فالإطلاع على الفيديوهات في البداية سيكون أفضل بكثير لأنها تحتوي بكل تأكيد على ألف باء البرمجة ثم بعدها يمكنك أخي طرح أي مؤشر أو إكسبرت مفتوح الكود لزيادة الخبرة العملية
وبالتوفيق إن شاء الله
البرمجة غيرت نظرتي للسوق بشكل جذري أقترح على الجميع تعلمها ولو بشكل سطحي
- 28-10-2017, 08:27 PM #5
- 28-10-2017, 08:57 PM #6
السلام عليكم
لماذاا تدورون في نفس المكان ،وتريدون اختراع العجلة، مع ان الاساتذة استفاظو في شرح الحروف الابجدية وحتى الجمل المفيدة،المشكل اننا لا نبحث
المشكلة اننا لانشرح اكوادنا بلغتنا التعليقات داخل الكود بالعربي مهمة لفهم ميكانيزمات الكود انا من سنة ونصف لم اكن اعرف الفوركس والفضل يرجع للاساتذة اسامة محمد و وضاح عطار واسلام العوامي واكملت كل مواضيع المنتدى ومنتدى mql4
وبعد الاطلاع على بعض اعمال عمالقة البرمجة في الجافا والبايثون و لغة R وphp وخطفت دورة اندرويد ل حسين الربيعي موضوع الفوركس ليس مقتصر على mql4 فهو معقد لدرجة ان من يريد تعلم الابجديات لن يستفيد شيء
الا من تعمق في المجال ولا يعيد اختراع العجلة (المطورن) يحاولون صنع برامج تكاد تفكر وتكتب او تطور من كودها باستخدام الذكاء الاصطناعي AI
والله عيب انا كل ما ادخل المنتدى الابجديات متكررة وياتي احد ويقول اعينوني في صناعة العجلة
لن تستطيع كتابة او حتى تخيل رواية من مجرد ا ب ......والسلام عليكمآخر تعديل بواسطة 2013Lemsantah ، 28-10-2017 الساعة 09:06 PM
- 28-10-2017, 11:17 PM #7كود PHP:
int OnInit()
{
if(MarketInfo(Symbol(),MODE_MINLOT)<0.1)lot_digits=2;
else lot_digits=1;
if(Digits==5 || Digits==3)P=10;
else P=1;
if(Digits<4)
{
point=0.01;
digits=2;
}
else
{
point=0.0001;
digits=4;
}
return(INIT_SUCCEEDED);
}
هل كان من الممكن كتابة الكود بالشكل التالى كطريقه اخرى للكتابه؟
كود PHP:double t;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
double ticksize =MarketInfo(Symbol(),MODE_TICKSIZE);
if(ticksize==0.00001 || 0.001) t=ticksize*10;
else
t=ticksize;
//---
return(0);
}
- 28-10-2017, 11:26 PM #8
الفكره فى انك تحتاج شرح لبعض الاكواد ولماذا تم عملها بهذه الطريقه الفكره فى ان بشرح اجزاء الاكواد يتم فهم طريقه عمل كل كود وفهم الوظائف داخله ...كمثال ال trailing stop وال break even وهكذا ... اما البدايات انا تعلمتها والحمد لله ومع ذلك واستطيع الان كتابة بعض الاكواد لكن هناك لبث فى بعض النقاط لذلك طرحت الموضوع واتمنى ان اجد ضالتى وشكرا لكم جمييعا ع الاهتمام
- 29-10-2017, 01:09 AM #9
آخر تعديل بواسطة فيلسوف البادية ، 29-10-2017 الساعة 01:12 AM
- 29-10-2017, 12:17 PM #10
عمرك اطول من عمرى .. كنت اريد عمل موضوع مماثل لكنى عدلت عن الفكرة لثقتى فى عدم تعاون مبرمجين المنتدى .. اتمنى النجاح لهذا الموضوع المفيد
- 29-10-2017, 12:20 PM #11
- 29-10-2017, 12:20 PM #12
- 29-10-2017, 12:25 PM #13كود PHP:
void OnTick()
{
if ( firstorder==BUY||OrdersTotal()<=0)
{
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Ask-stoploss*t,Ask+takeprofit*t,NULL,magic,0,clrBlue)
&& OrderSend(Symbol(),OP_SELLSTOP,lots,Bid,3,Bid+stoploss*t,Bid-takeprofit*t,NULL,magic,0,clrRed);
}
else
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Bid+stoploss*t,Bid-takeprofit*t,NULL,magic,0,clrRed)
&&OrderSend(Symbol(),OP_BUYSTOP,lots,Ask,3,Ask-stoploss*t,Ask+takeprofit*t,NULL,magic,0,clrBlue);
}
اولا عند وضع الاكسبيرت على الشارت يفتح كل الصفقات شراء ولا يضع اوامر معلقه عكسيه
ثانيا يفتح صفقه تقريبا كل تك
برجاء ارفاق الكود الصحيح لفتح صفقه فى البدايه شراء ووضع اخرى معلقه بيع وبلوت مضاعف مع استمرار وضع الاوامر حتى يتم ضرب الهدف
مع توضيح اين يوضع الامر او فى اى داله
- 29-10-2017, 01:56 PM #14كود PHP:
double lastlot()
{
for(int i=0;i<=OrdersHistoryTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==magic)
{
double ii =OrderLots();
}
}
return(ii);
}
فى حين تم تغيير اسم المتغير اكثر من مره ونفس النتيجه
ايضا المتغير ii تم تعريفه فى الكود ع انه من النوع double فما هى المشكلة رجاءاآخر تعديل بواسطة elhelaly ، 29-10-2017 الساعة 02:13 PM
- 29-10-2017, 03:11 PM #15
اعتقد ان لم اكن مخطى
يجب تعريف ii قبل بدء الحلقه for لان الحلقه تعود بالقيمه ل return( ii) ii فلاتجدها مما يسبب ضهور الخطأ
كود PHP:double lastlot()
{
double ii=0;
for(int i=0;i<=OrdersHistoryTotal();i++)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==magic)
{
ii =OrderLots();
}
}
return(ii);
}
آخر تعديل بواسطة السمحان ، 29-10-2017 الساعة 03:22 PM