النتائج 2,581 إلى 2,595 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 09-08-2012, 03:32 PM #2581
- 09-08-2012, 05:16 PM #2582
رد:موضوع مخصص للأسئلة البرمجية
بسم الله
شكرا لكل القائمين على الموضوع وبصراحة بديت اتعلم امور احتاجها بالبرمجة
واجهني استفسار
هنالك مؤشرات لا يوجد بها index ما هية طريقة استخراج شرط البيع والشراء منها ؟؟
بالمرفقات مثال عن هذه المؤشرات
- 09-08-2012, 06:13 PM #2583
رد:موضوع مخصص للأسئلة البرمجية
قمت بتغيير سعر مكان الأمر الجديد لـ 10 نقاط وتعديل الهدف والاستوب لوز كالتالى
كود PHP:if(StopLoss==0){SL=0;}else{SL=(OpenPrice2()+20*point)-StopLoss*point;}
if(TakeProfit==0){TP=0;}else{TP=(OpenPrice2()+20*point)+TakeProfit*point;}
- بعد عمل ماسبق تم وضع الأمر المعلق وتحريكه مع السعر ولكن ظهر خطـأ
OrderModify error 1
- سأقوم بعمل الدالة وأخبرك النتيجة
- 09-08-2012, 09:00 PM #2584
رد:موضوع مخصص للأسئلة البرمجية
استاذ اسامة ، فـ الاكسيبرت المرفق حذفت الكود الخاص بفترة الصلاحية
كود PHP:if (gs_108 == "OVTM") gs_108 = "The product has expired";
- 09-08-2012, 09:12 PM #2585
مستر دولار / استاذ اسامة
الكود مظبوط وتمام بس انا مكنتش عاوز المضاعفات تضرب فى عدد صحيح وبمعنى اصح عاوز اققل المضاعفات
يعنى اضربها فى اى متغير وليكن 1.3 مثلا ولما جربت اغير النسبة اشتغلت على عقود مينى ولم عملت العقود ميكرو المضاعفات مشتغلتش
فأنا عاوز اخلى المضاعفات تشتغل مع الميكرو وشكرا
- 09-08-2012, 10:16 PM #2586
ممكن دالة لإكسبيريت مهمته تعديل الصفقات المفتوحة
الفكرة أنه يوجد لدي مثلا صفقة شراء أو بيع ، مثال توضيحي
قمت بشراء EURUSD عند مستوى 1.2344 والهدف مستوى 1.2377
و وضعت أمر تعزيزأولي لعملية الشراء عند مستوى 1.2304 والهدف 1.2384
ثم نزل السعر وتفعل أمر التعزيز الأولي
هنا الاكسبيريت يقوم بتعديل هدف العملية التعزيزية الاولية عند مستوى الدخول الأول للعملية الاساسية ( أي الهدف يكون 1.2344 )
كذلك تعديل الهدف الخاص بالعملية الأساسية إلى نقطة الدخول ( أي عند 1.2344 )
بحيث يكون الهدف لكلا الصفقتين هو 1.2344
أيضا لو نزل السعر وتفعلت صفقة التعزيز الثانية يقوم الاكسبيريت بتعديل جميع الصفقات وجعل هدفها نفس هدف الصفقة الثالثة
أرجوا أن تكون الفكرة وضحت لإني مبتدىء بالبرمجة ولم أفهم كيف أعمل هذه الفكرة
* الأوامر أضعها مسبقا ً حسب طريقتي الرقمية
* ربما يتفعل التعزيز الأولي ( التبريد الأولي ) فقط وربما أحياناً يتفعل التعزيز الثاني ( التبريد الثاني ) وربما أحيانا ً يتحقق الهدف من أول أوردر
* الفكرة هي تعديل الأهداف إذا تفعل التبريد الأولي والتعديل يكون هدف الصفقتين نقطة دخول الصفقة الأساسية ، وفي حال تفعل التبريد الثاني يكون الهدف للكل ( الصفقات المفتوحه ) هو نفس الهدف الخاص بصفقة التبريد الثاني
- 10-08-2012, 02:39 AM #2587
حسب ما أرى في الشارت المرفق فالصفقات أغلقت تماما على النقاط المحققه ( إذا كنت تقصد الصفقات التي عليها سهم )
فهي أغلقت على سعر إغلاق الشمعه السابقه عندما وصل السعر لها
أيضا الأفضل أن تجعل شروط الإغلاق
كود PHP:if(Bid<buys1||Ask>SeLLsl){CloseOrders();}
- 10-08-2012, 03:40 AM #2588
بالنسبه لإضافة مؤشرات بتايم فريم مختلف وعمل مؤشرات منها فهي تختلف قليلا عن الإكسبرتات
لماذا
لنفرض حاليا على شارت الساعه
ووصلت للشمعه رقم 10 وتريد حساب الشروط عندها فسوف تكون الشمعه المحدده بالخط الأحمر
لكن عندما تذهب إلى فريم الأربع ساعات فأيضا رقم الشمعه سيكون 10
المحدده بالخط الأبيض
لاحظ الفرق الذي حدث والخطأ وهذا نظرا لأنها عندما قام بحساب 10 شمعات على فريم الساعه في الحقيقه المفروض أن يقف عند الشمعه رقم 2 على فريم الأربع ساعات
وهذا ما قد يسبب الخطأ ونفس الخطأ على فريم اليومي أو أي فريم آخر
بالتالي الكود يجب أن يكون
كود PHP:int shift;
double up =iCustom(NULL,0,"auto recommended",2,i+1);
double down =iCustom(NULL,0,"auto recommended",3,i+1);
double up2 =iCustom(NULL,0,"auto recommended",2,i+2);
double down2 =iCustom(NULL,0,"auto recommended",3,i+2);
double IchimoA=iIchimoku(NULL,0,9,26,52,MODE_SENKOUSPANA,i+1);
double IchimoB=iIchimoku(NULL,0,9,26,52,MODE_SENKOUSPANB,i+1);
shift=iBarShift(Symbol(),Ichimoku_TIME_FRAME,Time[i],false);
double IchimoAA=iIchimoku(NULL,Ichimoku_TIME_FRAME,9,26,52,MODE_SENKOUSPANA,shift+1);
double IchimoBB=iIchimoku(NULL,Ichimoku_TIME_FRAME,9,26,52,MODE_SENKOUSPANB,shift+1);
shift=iBarShift(Symbol(),Ichimoku_TIME_FRAME_2,Time[i],false);
double IchimoAAA=iIchimoku(NULL,Ichimoku_TIME_FRAME_2,9,26,52,MODE_SENKOUSPANA,shift+1);
double IchimoBBB=iIchimoku(NULL,Ichimoku_TIME_FRAME_2,9,26,52,MODE_SENKOUSPANB,shift+1);
- 10-08-2012, 04:01 AM #2589
وعليكم السلام ورحمة الله وبركاته
اللون الآخضر الفاتح فهذا يعني أن البيانات التاريخيه تم أخذها من فريم الدقيقه ودقة الباك تست تعتمد على بيانات فريم الدقيقه
اللون الأخضر الغامق فهذا يعني أن البيانات التاريخيه تم أخذها من فريم 5 دقائق إلى 4 ساعات
اللون الأحمر الفاتح يعني أن دقة البيانات بدون وجود البيانات التاريخيه للفريم الأصغر من الفريم الذي تم إجراء الباك تست عليه
- 10-08-2012, 03:24 PM #2590
- 10-08-2012, 03:33 PM #2591
السلام عليكم
عندى سؤال بخصوص ال MQL5
أنا الان فى مرحلة برمجة مؤشراتى على ال MQL4 و الحقيقة الاكواد كثيرة جدا المهم الان بالنسبة لل MQL5 هل المفروض انى ابرمج مؤشراتى بها ام ان الافضل ان اظل على ال MQL4 ؟
و فى حالة اعتماد ال MQL5 المؤشرات السابقة لنا مش هنقدر نستخدمها مرة اخرى فماذا سيكون الحل؟
- 10-08-2012, 09:21 PM #2592
رد:موضوع مخصص للأسئلة البرمجية
ستقوم بعمل دالة تأتي بعدد الأوردرات المفتوحة
كود PHP:int orderstotal(int type){
int cnt=0;
for(int i =0;i<=OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber() && OrderType()==type){
cnt++;
}
}
return(cnt);
}
كود PHP:double FirstOrderPrice(int type)
{
for (int i=0;i<=OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() && OrderType()==type)
{
return(OrderOpenPrice());
}
}
return(0);
}
كود PHP:void ModifyTP(int type)
{
for (int cnt = OrdersTotal() ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
double tp=OrderTakeProfit();int ticket=OrderTicket();
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol() &&OrderType()==type)
{
if(tp!=FirstOrderPrice(type))
OrderModify(ticket,OrderOpenPrice(),OrderStopLoss(),FirstOrderPrice(type),0);
}
}
}
كود PHP:if(orderstotal(OP_BUY)>1){ModifyTP(OP_BUY);}
if(orderstotal(OP_SELL)>1){ModifyTP(OP_SELL);}
ولو عمليات البيع أكبر من 1 سيقوم بتعديل التيك بروفت لسعر إفتتاح أول عملية بيع
- 10-08-2012, 11:15 PM #2593
يعطيك ألف عافية يا مهندس يوسف
بس بطلبك طلب
أنا محتاج هالمهمة التالية من الاكسبيريت :
* إذا كانت عمليات الشراء المفتوحة تساوي 1 --> لا تعديل أو تغيير في الهدف للصفقة
* إذا كانت عمليات الشراء المفتوحة تساوي 2 سيقوم الاكسبيريت بتعديل التيك بروفت لكل العمليات لسعر إفتتاح أول عملية شراء
* إذا كانت عمليات الشراء المفتوحة تساوي 3 سيقوم الاكسبيريت بتعديل التيك بروفت لكل العمليات لنفس الهدف المحدد للصفقة رقم 3
ونفس الكلام ينطبق على عمليات البيع
كيف يتم ذلكآخر تعديل بواسطة Moath Mohammed ، 10-08-2012 الساعة 11:19 PM
- 11-08-2012, 12:20 AM #2594
مثل هذه المؤشرات ترسم الأسهم أو الخطوط على الشارت ولذلك يوجد طريقتين لإستدعاء قيمهم
الطريقه الأولى وهي إضافة معادلات المؤشر للإكسبرت مباشرة
الطريق الثانيه إستخدام الداله
كود PHP:ObjectGet(name,index);
index وهو خاصية الكائن الذي قمت بإستدعائها فمثلا إذا أردت إستدعاء السعر لهذا الكائن سوف يكون
كود PHP:ObjectGet("name",OBJPROP_PRICE1);
كود PHP:ObjectGet("name",OBJPROP_TIME1);
- 11-08-2012, 02:02 AM #2595
جزاكم الله خيرًا
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM