النتائج 1 إلى 13 من 13
- 07-12-2010, 01:34 AM #1
كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟
السلام عليكم ورحمة وبركاته
يلاحظ ان أمر الشراء او البيع الحر غير المقيد بشرط يكرر نفسه دون الحاجة لكتابة كود لهذا الغرض
بمعنى يفتح صفقة جديدة بنفس النوع عند نقطة إغلاق الصفقة الحالية وبسعر السوق
ولكي يكون الإكسبيرت يقوم بهذه المهمة باكمل وجه فهل يحتاج كود التكرار .. وما هو الكود اللازم لهذا التكرار
ثم كيف بالإمكان إمكانية ارسال امر ببيع او شراء بماجيك نمبر ثانوي عند اول عملية ببيع اوشراء مستقبلية تحمل نفس الماجيك نمبر الاساسي.
وتقبلوا تحياتي
- 07-12-2010, 01:47 AM #2
رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟
بالنسبة للسؤال الثاني كمثال بسيط جدا يمكنك إضافة الماجيك نمبر+ عدد الصفقات الحاليه بالتالي أي صفقه جديده يتم فتحها سوف تكون مختلفه عن الماجيك نمبر لأي صفقات أخرى مفتوحه
كود PHP:MagicNumber=MagicNumber+OrdersTotal();
أمر OrderSend بعد أمر OrderClose حتى يفتح الصفقه مباشرة بعد إغلاق الصفقه السابقه
أرجو أن توضح أكثر ماذا تقصد بالنسبة للسؤال الأول
- 07-12-2010, 02:39 AM #3
- 07-12-2010, 03:37 PM #4
رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟
في هذه الحاله يمكنك إستخدام الحلقه for لتكرار الأمر عدد المرات التي تريدها كمثال
كود PHP:for(int i=0;i<=Max_Orders;i++){
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SL,TP,"EA",MagicNumber+i,0,Blue);
}
ثم بعد ذلك الأوامر الفرعيه بالعدد الذي تريده ستأخذ الماجيك نمبر بالتتابع زياده 1 في كل مره
- 07-12-2010, 10:49 PM #5
رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟
عفوا اخي .. لم اوفق في شرح طلبي لك.
هناك نوعان من الاوامر
الاول امر اساسي بماجيك نمبر اساسي .. وهذا هو الامر الذي يقوم بنفتح الإكسبيرت كعمل اساسي. وهي وظيفة الاكسبيرت الإعتيادية.
الثاني أمر مرادف ولكن بماجيك نمبر ثانوي .. يتم فتحه فقط عن تحقق شرط معين ليس هو نفس شرط الامر الاساسي.
يكون الامر المرادف .. مصاحب لامر اساسي مستقبلي وليس حالي مفتوح.
بمعنى لو تحقق الشرط المطلوب توفره لفتح الامر المرادف ... فإن الإكسبيرت ينتظر في فتح الامر لحين فتح امر اساسي في المستقبل.. بحيث يكون الثانوي والاساسي في نقطة سعرية معينة ولكن لكل منهما ماجيك مختلف
بمعني ان الامر الثانوي يفتتح مع اول امر اساسي سيتم فتحه ... وثاني اخر ثانوي مع ثاني امر اساسي قادم.
اتمنى قد وفقت في التوضيحآخر تعديل بواسطة 4X Trader ، 07-12-2010 الساعة 10:51 PM
- 08-12-2010, 06:50 PM #6
- 08-12-2010, 09:07 PM #7
- 09-12-2010, 03:05 PM #8
رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟
أحد الطرق البسيطه هي إستخدام Global Variable
وهي لحفظ أي متغيرات ثم إستدعائها في الوقت الذي تريده
على سبيل المثال
كود PHP:if(RSI>50)GlobalVariableSet("Buy",1);
الآن سنرى تحقق شروط الأمر الأساسي
كود PHP:if(ma10>ma20&&ma10P<ma20P){ // شروط تحقق الأمر الأساسي
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"EA",MagicNumber,0,Blue); // الأمر الأساسي
if(GlobalVariableGet("BUY")==1)OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"EA",MagicNumber+1,0,Blue); // الأمر المرادف
GlobalVariableSet("Buy",0); // تم فتح الأمر المرادف بالتالي تعود قيمة باي إلى صفر
}
ثم بعد ذلك نقوم بحذف قيمة Buy مره أخرى ونجعلها 0 وإلا فسوف تظل قيمتها 1 ولن تتغير دائما
- 14-12-2010, 07:19 PM #9
رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟
- 18-12-2010, 12:54 AM #10
- 18-12-2010, 06:51 PM #11
رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟
بداية سوف تحتاج إلى دالة لمعرفة آخر نوع صفقه أغلقت هل هي بيع أو شراء
كود PHP:int LastOrderType(){
for(int i=OrdersHistoryTotal();i>=0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderMagicNumber()==MagicNumber&&OrderSymbol()==Symbol()){
return(OrderType());
}
}
return(-1);
}
كود PHP:if(LastOrderType()==0) //Open Buy
if(LastOrderType()==1) //Open Sell
كود PHP:for(cnt=0;cnt<OrdersTotal();cnt++){
OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == Symbol() && OrderMagicNumber () == MagicNumber){
double openprice = OrderOpenPrice();int type=OrderType();
}
}{
if(type==OP_BUY&&openprice-Bid>=Step*Point){
OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),Slippage,0,0," EA",MagicNumber,0,Red);
}}
- 26-12-2010, 07:12 AM #12
رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟
ربنا يوفقك اخي اسامة ويسهل أمرك ويحقق لك ماتريد
عندي سؤال ثاني .. كيف ممكن احدد الخسائر والارباح لجميع الصفقات التاريخية والحالية ذات الماجيك نمبر الواحد وتعريفها كقيمة بمتغير
- 26-12-2010, 05:40 PM #13
رد: كود لفتح امر مرادف للاوامر المستقبلية... مستر دولار وينك ؟؟
الفكره في كيفية برمجة الدوال إذا إستطعت معرفتها عندها ستجد جميع الأمور سهله
كود PHP:double ClosedOrders(){
double P;
for(int i=0;i<=OrdersHistoryTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderMagicNumber()==MagicNumber){
P+=OrderProfit();
}
}
return(P);
}
double CurrentOrders(){
double P;
for(int i=0;i<=OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==MagicNumber ){
P+=OrderProfit();
}
}
return(P);
}
كود PHP:double ProfitAll=ClosedOrders()+CurrentOrders();