رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمة الله وبركاته
-- في مؤشر adx أريد أن أضع ثلاث متوسطات متحركة أسية على الثلاث خطوط
متوسط متحرك على adx
متوسط متحرك على DI+
متوسط متحرك على DI-
جربتها يدويا ولكن المتوسطات لا توضع إلا على ADX فقط
فهل من حل لهذا الموضوع؟؟؟
أطلت عليكم
تحيـــــــــــــــاتي
1 مرفق
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة daod
اخي جميل الجمله الثانيه غير مفهومه بسبب الكتابه المقلوبه
طبعا حاولت اعمل كما قلت لكن للاكسبيرت لايفتح اي صفقه ........لوسمحت عدله وقلي اين كان خطائي؟
تفضل الأكسبيرت مرفق والبداية طيبة فقط كان ينقصه الترتيب حتى لايتشوف التفكير فلا تضع كل اكوادك في دالة ستارت .
3 مرفق
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة daod
الله يفتح عليك اخ جميل ولكن الاكسبيرت لايفتح اي صفقه...جربه عندك.
اين اجد تفسير جميع مصطلحات لغه الميتاتريدر ولكن باللغه العربيه لأني وجدت بعض تفسير بعض المصطلحات فقط.
مثلا لااعرف بالضبط مامعنى اذا اردت ان اكتب عدد الوتات هل هكذا orderlots او Lots فقط؟
شغال اخي وارفقت لك برنت تيست من منصتين ، وعموما عملت لك نسخة اخرى تختلف قليلا وكذلك تم تجربتها .
orderlots او Lots حسب ماتريد لايفرق اما الكلمة المحجوزة فهي OrderLots() وتكون بلون مختلف .
بالنسبة للتعلم يوجد اكثر من موضوع مثبت في هذا القسم .
https://forum.arabictrader.com/t166387.html#post2620229
1 مرفق
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة xcv114
كود PHP:
void Closeby()
{
if(orderscnt(OP_BUY)>0&&orderscnt(OP_SELL)>0){
int ticket1=GetTicketNumber(OP_BUY);
int ticket2=GetTicketNumber(OP_SELL);
OrderCloseBy(ticket1,ticket2,Red);
}
}
المشكلة كانت في أقواس ناقصة
-----------------
بس خد بالك حسب أكوادك كده أول ما يفتح عملية هيقفلها
لازم تستخدم الدالة بعد تحقق شرط معين
اقتباس:
المشاركة الأصلية كتبت بواسطة kira-h
جزاك الله خيرا أستاذ يوسف :eh_s(7):
جاري التجربة وربنا كريم
تمت التجربة بالباكتيست يتم فقط تنفيذ إغلاق عادي وليس إغلاق closeby
يجب أن نرى بالباكتيست أمر close by كما بالصورة
http://www6.0zz0.com/2013/05/11/11/153484564.png
علما أن المنصة تقبل هذا الأمر ومجربة لايف
أظن يجب أن لا تكون الدالة closeby داخل الدالة OnEveryTick بل يجب أن ينفد بعد المرور بدالتي البحث عن الأوردرين والتيكت الخاص بهما...
بانتظار التعديل المطلوب وهو عند حصول هيدج يتم فورا إغلاق كلوزباي
وجزاكم الله خيرا :asvc:
https://forum.arabictrader.com/t3761...ml#post2645813
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة bodisaudi
السلام عليكم ورحمة الله وبركاته
-- في مؤشر adx أريد أن أضع ثلاث متوسطات متحركة أسية على الثلاث خطوط
متوسط متحرك على adx
متوسط متحرك على DI+
متوسط متحرك على DI-
جربتها يدويا ولكن المتوسطات لا توضع إلا على ADX فقط
فهل من حل لهذا الموضوع؟؟؟
أطلت عليكم
تحيـــــــــــــــاتي
وعليكم السلام ورحمة الله وبركاته
يمكنك عملها بإستخدام الكود بأن تضع مصفوفه لكل خط
مثال
كود PHP:
double ADXMain[];
double ADXP[];
double ADXM[];
for(int i=0;i<Bars;i++)
{
ADXMain[i]=iADX(Symbol(),0,14,PRICE_CLOSE,MODE_MAIN,i);
ADXP[i]=iADX(Symbol(),0,14,PRICE_CLOSE,MODE_PLUSDI,i);
ADXM[i]=iADX(Symbol(),0,14,PRICE_CLOSE,MODE_MINUSDI,i);
}
double Moving1[];
double Moving2[];
double Moving3[];
for(int j=0;j<Bars;j++)
{
Moving1[i]=iMAOnArray(ADXMain,0,Ma_Period,0,MODE_SMA,i);
Moving2[i]=iMAOnArray(ADXP,0,Ma_Period,0,MODE_SMA,i);
Moving3[i]=iMAOnArray(ADXM,0,Ma_Period,0,MODE_SMA,i);
}
وطبعا سوف تجعل المؤشر يعرض القيم المصفوفات كخطوط مثل أي مؤشر
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة kira-h
الخطأ كان بسيط كان يجب وضع الداله OrderSelect في
كود PHP:
int GetTicketNumber(int type)
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo&&OrderType()==type)
{
return(OrderTicket());
}
}
return(-1);
}
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة MR.dollar
الخطأ كان بسيط كان يجب وضع الداله OrderSelect في
كود PHP:
int GetTicketNumber(int type)
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo&&OrderType()==type)
{
return(OrderTicket());
}
}
return(-1);
}
جزاك الله خيرا أستاذي الغالي :eh_s(7):
نجح الاختبار والحمد لله
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم
الصراحه انا عندى استفسار والموضوع محتاج خبير قوى فى البرمجه
وانا عارف ان استاذ وضاح العطار من اقوى المبرمجين فى هذا المجال ولكن ليس لدى اى وسيلة اتصال به ولا اعرف هل هو مازال موجود فى المنتىدى ام لا ؟؟
فحبيت اطرح استفسارى هنا ويارب الاقى الحل ان شاء الله عندكم
انا كنت حابب اعرف لو انا عندى اوامر او توصيات على الايميل هل يمكن تنفذها على الميتا تريدر بواسطة برنامج وسيط يقوم بقرأة هذه البيانات من الايميل ويقوم بتنفذها فى الميتا تريدر ؟؟
انا عارف ان الموضوع صعب بس انا عارف انه ينفع يتم برمجة شئ يقوم بقرأة هذه التوصيات من الايميل ودى معلومه عرفتها من صديق مبرمج لى ولكن السؤال هنا
الداتا اللى هيقراها من الايميل دى هتوصل للميتا تريدر ازاى ؟؟
هل يتم حفظها مثلا فى ملف DLL ويقوم الاكسبرت بقرأتها منه ؟؟
او بمعنى اخر ماهى الطريقه التى يستطيع الميتا تريدر ان يقوم بقرأة هذه البيانات من الخارج
ايه الملفات اللى ممكن نربطها بالميتا تريدر عشان يقدر يقرأ منها ؟؟
يارب الاقى الحل عندكم
فى انتظار ردكم الغالى .
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة solidhdida
}
int orderscntt(int type){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNo&&OrderType()==type||ty pe==-1){
cnt++;
}
}
}
return(cnt);
}
هذه الدالة تعمل على ان يفتح الاكسبير صفقة واحدة فقط السؤال هو اريد ان يفتح الاكسبيرت 5 صفقات لا غير دفعة واحدة عند تحقق الشرط ما هي الاضافة ومشكورين مسبقا
لاداعي لهذه الدالة فقط تضيف هذا الكود في دالة البيع والشراء
كود PHP:
for(int i=1; i<=MaxSell ; i++){
وماكس سل وماكس باي متغيرين تضعهم في بداية الأكسبيرت
رد:موضوع مخصص للأسئلة البرمجية
تمام فهمتك والأمر بسيط تضيف انه اذا تحقق الأمر ينفذ اغلاق البيع مثلا فيصبح صفر ويفتح بعدها الشراء
كود PHP:
if(Open[1]<Close[1] && Ordersent()<1) { ////Close OrderSell /// Then OrderBuy }