النتائج 4,426 إلى 4,440 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 14-10-2013, 01:36 PM #4426
سؤال برمجي آخر .. الاكسبيرت السابق الذي وضعته يضع أوامر .. وأخذ الربح فيها متغير مثلاً يمكن أن يكون 5 و 10 و 20 نقطة .. في بعض الأحيان بعض البروكرات لا يسمح لك بتعليق أوامر يكون أخذ الربح فيها 5 نقاط ، لكن حينما يكون العقد مفتوحاً وتم تنفيذه يمكنك أن تغير أخذ الربح إلى 5 نقاط .. فهل يمكننا وضع دالة بداخل Start() تقوم بفحص الأوامر المفتوحة وجعل أخذ الربح في كل عقد 5 نقاط سواء كان شراء أو بيع ؟
أو أن هناك فكرة أفضل لمعالجة هذه المشكلة ؟
- 14-10-2013, 03:36 PM #4427
رد:موضوع مخصص للأسئلة البرمجية
تفضل هذه الطريقة لأخفاء الهدف عن البروكر فأذا وصل فرق السعر عن سعر الدخول للرقم المطلوب سيغلق الصفقة وهذه مقتبسة من استاذي الفاضل اسامة تضع الدالة خارج ستارت .
كود PHP:int CloseBuyOrdersHiddenTP()
{
int total=OrdersTotal();
for (int cnt=total;cnt>=0;cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY&&Bid>(OrderOpenPrice()+TakeProfit*PipValue*Point))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3);
}
}
}
return(0);
}
كود PHP:if(HideTP&&TakeProfit>0){CloseBuyOrdersHiddenTP();CloseSellOrdersHiddenTP();}
كود PHP:extern bool HideTP=true;
extern int TakeProfit=5;
- 14-10-2013, 05:43 PM #4428
خلي بالك هذا لعقود الشراء ومثله حتعمل كود للبيع .
- 14-10-2013, 05:52 PM #4429
هل فعلا هناك اكسبيرتات تقفل مع مرور الوقت
- 14-10-2013, 05:55 PM #4430
ولو كان هناك طريقه بأن يكون الاكسبيرت مفتوح وقابل للتعديل في اي وقت
- 14-10-2013, 10:24 PM #4431
- 15-10-2013, 01:15 AM #4432
- 15-10-2013, 01:32 AM #4433
رد:موضوع مخصص للأسئلة البرمجية
يمكن أن تقوم بإضافة شروط في الإكسبرت بحيث إذا كان التاريخ مثلا أكبر من 2013 يتوقف عن العمل مثل
كود PHP:if(TimeCurrent()>=StrToTime("2013.01.20 00:00"))
{
Print("Time End");
return(0);
}
- 15-10-2013, 04:52 AM #4434
- 15-10-2013, 03:36 PM #4435
- 15-10-2013, 03:42 PM #4436
رد:موضوع مخصص للأسئلة البرمجية
آخر تعديل بواسطة kira-h ، 15-10-2013 الساعة 03:44 PM
- 16-10-2013, 09:10 PM #4437
- 16-10-2013, 10:35 PM #4438
- 17-10-2013, 03:45 AM #4439
الأخوة الأعزاء MR.dollar ، Jmeel .. اعتذر اذا أكثرت من الأسئلة واطمع مجدداً في كرمكم
في الاكسبيرت السابق استطعت بنجاح تنفيذ صفقات بأنواع مختلفة تحت شروط معينة ( زمن ، يوم ، ساعة ) وبهدف وستوب ثابتين
لو قام الاكسبيرت بفتح عدد من الصفقات مثلاً 6 صفقات ( وهنا كلها سوف تفتح بنفس الهدف والستوب الأساسي في الاكسبيرت مثلاً 50 نقطة هدف و50 نقطة ستوب وبالطبع الصفقات مختلفة في الوقت والسعر والزمن )
هل استطيع كتابة دالة .. تعطيني الصفقات المفتوحة والتي وصلت الخسارة فيها لعدد معين من النقاط يتم تحديده في الإكسبيرت بحيث يقوم الاكسبيرت بفتح صفقة تبريد ( في نفس الاتجاه للصفقة السابقة اذا كانت شراء فالجديدة شراء )ولكن بهدف وستوب جديدين ؟
شكراً مرة أخرى لكما .
- 17-10-2013, 07:52 AM #4440
رد:موضوع مخصص للأسئلة البرمجية
اهلا بك ، الطرق متعددة وكل مبرمج ينفذها بطريقة تناسبة وهذه ابسطها وأوضحها ، في البداية ستحتاج دالة لتعرف قيمة افتتاح الصفقة الأخيرة :
كود PHP:double LastOrderOpen(int type){
for(int i=OrdersTotal()-1; i>=0; i--){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNo&&type==OrderType()){
return(OrderOpenPrice());
}
}
return(0);
}
كود PHP:if(Ask+(Cooling_Step*Pips*Point) <= LastOrderOpen(OP_BUY)) {Buy_Cooling();}
وستضع المسافة التي تريدها بين العقود في بداية الأكسبيرت مع المتغيرات
كود PHP:Cooling_Step
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM