النتائج 7,981 إلى 7,995 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 19-01-2017, 10:53 AM #7981
أستاذنا الكريم ممكن حل للنقطة التالية :
يضع الإكسبرت عند تشغيله مستويين للبيع المعلق ومستويين للشراء المعلق ويعلق صفقة في كل منهما Buy-stop , sell stop
ويحدد مستوى التيك والستوب بحيث هدف طلبات الشراء هو ستوب صفقات البيع
( لهذه المرحلة لا توجد مشكلة )
عند تفعيل أمر معلق بيع مثلا يضيف أمرين شراء معلقين حجم لوت كل منهما هو حجم لوت البيع الذي تفعل * رقم مضاعف معين ( أول خطوة أيضا بسيطة )
ويستمر في العملية بتعليق أوامر معاكسة حجم اللوت لها هو مجموع لوت الصفقات التي تفعلت مضروب في المضاعف حتى يصل للهدف أو الستوب
المشكلة : كيف أعرف مجموع لوت الصفقات التي تفعلت عند مستوى معين (حيث أن العدد النهائي للصفقات المعلقة الممكنة غير محدد )؟؟؟؟؟
مثلا : عند سعر معين تفعل صفقتي بيع معلقين حجم الأولى 0.1 والثانية 0.2 : سيضع أمري شراء معلق حجم كل منهما يساوي 0.1+0.2 = 0.3 مضروب في رقم المضاعفة وليكن 2
فيكون حجم طلبات الشراء لمعلقة 0.6
مع الشكر الجزيل جدا جدا
- 19-01-2017, 10:59 AM #7982
لوت الصفقات المعلقة
أستاذنا الكريم ممكن حل للنقطة التالية :
يضع الإكسبرت عند تشغيله مستويين للبيع المعلق ومستويين للشراء المعلق ويعلق صفقة في كل منهما Buy-stop , sell stop
ويحدد مستوى التيك والستوب بحيث هدف طلبات الشراء هو ستوب صفقات البيع
( لهذه المرحلة لا توجد مشكلة )
عند تفعيل أمر معلق بيع مثلا يضيف أمرين شراء معلقين حجم لوت كل منهما هو حجم لوت البيع الذي تفعل * رقم مضاعف معين ( أول خطوة أيضا بسيطة )
ويستمر في العملية بتعليق أوامر معاكسة حجم اللوت لها هو مجموع لوت الصفقات التي تفعلت مضروب في المضاعف حتى يصل للهدف أو الستوب
المشكلة : كيف أعرف مجموع لوت الصفقات التي تفعلت عند مستوى معين (حيث أن العدد النهائي للصفقات المعلقة الممكنة غير محدد )؟؟؟؟؟
مثلا : عند سعر معين تفعل صفقتي بيع معلقين حجم الأولى 0.1 والثانية 0.2 : سيضع أمري شراء معلق حجم كل منهما يساوي 0.1+0.2 = 0.3 مضروب في رقم المضاعفة وليكن 2
فيكون حجم طلبات الشراء لمعلقة 0.6
مع الشكر الجزيل جدا جدا
- 19-01-2017, 05:33 PM #7983
- 19-01-2017, 05:38 PM #7984
يمكنك أن تقوم بعمل دالة تأخذ سعر معين ( المستوى الذي تريده ) ثم تقوم الداله بحساب مجموع لوت جميع الصفقات التي فتحت عند هذا المستوى
مثال
كود PHP:double TotalLotsOrders(double price,int type)
{
double lots;
for(int i=0;i<OrdersTotal();i++)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==type)
{
if(OrderOpenPrice()=price)
{
lots+=OrderLots();
}
}
}
return(lots);
}
- 20-01-2017, 01:11 AM #7985
- 20-01-2017, 02:38 AM #7986
الف شكر اخي وجزاك الله خيرا على مساعدتك
الاكسبريت به مشكله فى البنيه فعلا فانتظار مستر دولار لاصلاحه ان شاء الله
مشكله الاكسبريت انو بيفتح العقود بناء على مؤشر الماجك وليس مؤشر هاكونا ما اريده مستر دولاار ان يفتح العقود بناء على اشاره مؤشر هاكونا اذا وافق الاتجاه مؤشر الماجك وجزاكم الله خيرا
- 21-01-2017, 01:23 PM #7987
هل الدالة التالية صحيحة لمعرفة عدد الأوامر المعلقة عند سعر محدد :
int PendingOrders(double Price)
{
int cnt=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
int ot=OrderType();
if(OrderSymbol()==Symbol() && MagicNo==OrderMagicNumber())
{
if(ot>1){
cnt++;
}
}
}
}
return(cnt);
}
- 21-01-2017, 01:29 PM #7988
عدد الأوامر المعلقة عند سعر معين
هل الدالة التالية صحيحة لمعرفة عدد الأوامر المعلقة عند سعر محدد :
int PendingOrders(double Price)
{
int cnt=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
int ot=OrderType();
if(OrderSymbol()==Symbol() && MagicNo==OrderMagicNumber())
{
if(ot>1){
cnt++;
}
}
}
}
return(cnt);
}
- 22-01-2017, 03:02 PM #7989
السلام عليكم
استخدم اكسبيريت يعمل على اكثر من عمله بيع وشراء
الاكسبيريت يغلق الصفقات بصورة صحيحة
المشكله اذا قمت بتشغيل الاكسبيريت على شارت ثاني مع عكس العملات البيع شراء وبالعكس
يغلق الاكسبيريت كل الصفات على المجموعتين
استخدم مصفوفة للادخال العملات
هذه داله لمعرفة عدد النقاط المحققة
كود:double CurrentProfitPips(string symbol=NULL,int magic=-1,int type=-1,bool usePoints=false) { double profitPips=0; double profitDistance=0; int total=OrdersTotal(); for(int b=total-1; b>=0; b--) //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ { if(OrderSelect(b,SELECT_BY_POS,MODE_TRADES)) { if(OrderMagicNumber()==magic || magic<0) { if(OrderSymbol()==symbol || StringLen(symbol)==0) { if(OrderType()==type || (type==-1 && (OrderType()==OP_BUY || OrderType()==OP_SELL))) { double pip=GetPip(OrderSymbol()); if(usePoints)pip=MarketInfo(OrderSymbol(),MODE_POINT); if(OrderType()==OP_BUY) { profitDistance+=(MarketInfo(OrderSymbol(),MODE_BID)-OrderOpenPrice()); } if(OrderType()==OP_SELL) { profitDistance+=(OrderOpenPrice()-MarketInfo(OrderSymbol(),MODE_ASK)); } profitPips=profitDistance/pip; } } } } } return profitPips; }
وهذه داله اغلاق الصفقات
كود://+------------------------------------------------------------------+//| | //+------------------------------------------------------------------+ void CloseBuyOrders(string symbol=NULL,int magicNumber=-1) { int total=OrdersTotal(); for(int b=0; b<=total-1; b++) { if(OrderSelect(b,SELECT_BY_POS,MODE_TRADES)) { if((OrderMagicNumber()==magicNumber || magicNumber==-1) && (OrderSymbol()==symbol || StringLen(symbol)==0) && OrderType()==OP_BUY) { ResetLastError(); color arrowColor=clrSteelBlue; if(!_ShowArrows) arrowColor=clrNONE; if(!OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),10,arrowColor)) { Print("Failed to close order in "+__FUNCTION__+", error="+(string)GetLastError()); return; } else { total=OrdersTotal(); b--; } } } } } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void CloseSellOrders(string symbol=NULL,int magicNumber=-1) { int total=OrdersTotal(); for(int b=0; b<=total-1; b++) { if(OrderSelect(b,SELECT_BY_POS,MODE_TRADES)) { if((OrderMagicNumber()==magicNumber || magicNumber==-1) && (OrderSymbol()==symbol || StringLen(symbol)==0) && OrderType()==OP_SELL) { ResetLastError(); color arrowColor=clrSteelBlue; if(!_ShowArrows) arrowColor=clrNONE; if(!OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),10,arrowColor)) { Print("Failed to close order in "+__FUNCTION__+", error="+(string)GetLastError()); return; } else { total=OrdersTotal(); b--; } } } } }
ولكن يغلق جميع الصفقات اذا فعلت معه الاكسبيريت على شارت ثاني بيع العمله الاولى وشراء الثانية
واستخدم شرط الاغلاق
كود:double pips=CurrentProfitPips(NULL,MagicNumber); if(MaxProfitPips!=0 && pips>=MaxProfitPips) { Print("Close basket after reached a total of +"+DoubleToStr(pips,1)+" pips"); CloseBuyOrders(NULL,MagicNumber); CloseSellOrders(NULL,MagicNumber); }
آخر تعديل بواسطة al-hashmy74 ، 22-01-2017 الساعة 03:10 PM
- 22-01-2017, 03:56 PM #7990
أوامر معلقة
السلام عليكم
يرجى إلغاء الطلب في المشاركتين 7988 والمتكررة خطأ في 7987 فقد وجدت الحل والله إنك مرجع للبرمجة أستاذ مستر دولار ...
عندي سؤال جديد إن أمكن :
في مستوى سعر معين قد يتواجد أمر معلق أو أكثر - عند تفعيل أمر أو أكثر أريد أن يضيف أمرين معلقين جدد فقط ( المشكلة عندي أنه يضيف أمرين لكل أمر معلق تفعل )
مثال :
SELL_SETOP @ 1.2250
إذا تفعل يضيف أمرين BUY_STOP1 , BUY_STOP2
و أيضا إذا كان :
SELL_STOP1@ 1.2250 و SELL_STOP2 @ 1.2250
إذا تفعلا يضيف أمرين BUY_STOP1 , BUY_STOP2
مع الشكر الجزيل
- 23-01-2017, 10:38 PM #7991
أحتاج إلى تفصيل أكثر عن طريق العمل حتى نستطيع تحويلها إلى كود لكن بكل حال يمكنك إستخدام الرابط بين الأمرين المفعلين وهو أنهم تفعلوا من نفس السعر بالتالي تضع مقارنه إذا كان يتواجد أمرين من نفس السعر فيجب أن تلغي أحدها وتضع للآخر الأمر المعلق
أو يمكنك بمجرد وضع الأمرين المعلقين من نفس السعر أن تضع مثلا أمر منهم بكومنت محدد والأمر الآخر بدون هذا الكومنت وتستخدم هذا الكومنت المحدد كرابط ليفتح أمرين معلقين عندما يتفعل
- 24-01-2017, 03:09 AM #7992
- 24-01-2017, 10:29 PM #7993
- 25-01-2017, 04:05 PM #7994
- 26-01-2017, 08:52 AM #7995
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM