النتائج 4,516 إلى 4,530 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 04-12-2013, 09:23 PM #4516
رد:موضوع مخصص للأسئلة البرمجية
لم اقصد هل سينظر إلى صفقات آخر إكسبرت أم لأ أنا أقصد أنك إستخدمت الحلقه
فسوف يبحث عن آخر صفقتين مفتوحتين فقط حتى لو كانت صفقات إكسبرت آخر ولكن لن ينظر إليهم ويكمل الشروط
تفضل هذا تصحيح للداله
كود PHP:bool NumOrdersBuy()
{
int NumBuy=0,NumSell=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY)NumBuy++;
if(OrderType()==OP_SELL)NumSell++;
}
if(NumBuy>=2)return(true);
if(NumSell>0)return(false);
}
return(false);
}
- 08-12-2013, 04:15 PM #4517السلام عليكم ..
في أول تجربة لعمل اكسبيرت .. والتي اخترت ان تكون فكرته بسيطة قدر المستطاع حتي اتدرج في التعلم
فالمفترض ان يفتح في بداية اليوم شراء ان كانت الشمعة السابقة صاعدة .. وفتح الشمعة الحالية اعلي من الموفنج 9
والعكس في البيع .. ولكن هناك اخطاء لا اعلم ماذا هي او اين هي ..
ارجو من الاخوة الكرام تنبيهي الي الخطأ الذي وقعت فيه
...
سوف ارفق الاكسبيرت لأني لم اعرف كيف يتم تحميله ككود
فالسطور جميعها تأتي بجانب بعضها ..
فارجوا ارشادي الي كيفية تحميل الكود ...
وكده بقوا طلبين مش واحد
test1.mq4
- 08-12-2013, 04:56 PM #4518
السلام عليكم ورحمة الله
الصورة توضح فكرتي البسيطة
http://i.imm.io/1lOLF.png
والكود التالي محاولة لتجسيد الفكرة لكنه لم ينجح معي وقد استعملت الدالة التي تفضلت بها سابقا في معرفة نوع اخر صفقتين اذا متشابهتين ام لا
كود:if (NumOrders()&&Bid-Openorder()>=10*point||Openorder()-Bid>=10*point){ CloseBuyOrders(); CloseSellOrders(); }
كود:double Openorder(){ double openorder; for(int i=0;i<=OrdersTotal();i++){ OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){ openorder=OrderOpenPrice(); } } return(openorder);
كود:bool NumOrders() { int NumBuy=0,NumSell=0; for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_BUY)NumBuy++; if(OrderType()==OP_SELL)NumSell++; } if(NumBuy>=2)return(true); if(NumSell>=2)return(true); } return(false); }
وشكرا جزيلا.آخر تعديل بواسطة wahaab ، 08-12-2013 الساعة 05:07 PM
- 08-12-2013, 06:44 PM #4519
سؤال اخر لو سمحت في دوال اغلاق الصفقات حيث ان الاكسبرت لا يغلق كل الصفقات ويترك احيانا بعض الصفقات مفتوحة وانا اريد ان يغلق كل شي بضربة واحدة دون تاخير
كود:void CloseBuyOrders(){ for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()){ if (OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,3); } } } } void CloseSellOrders() { for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++) { OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES); if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol()) { if (OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,3); } } } }
- 08-12-2013, 08:09 PM #4520
السلام عليكم أيها الأساتذة الكرام
ارجو المساعدة
لنفترض لدينا 2 ترند واحد مرسوم بفريم اليومي اسمه D والتاني بفريم الساعة اسمه H
لدينا تعريفهم البرمجي كالتالي :
كود PHP:double lineD=ObjectGet("D",OBJPROP_PRICE1);
double lineH=ObjectGet("H",OBJPROP_PRICE1);
إغلاق شمعة اليومي فوق الترند D + إغلاق شمعة الساعة فوق الترند H = شراء
هل نستخدم دوال الجلوبال؟ كيف ذلك ؟
وجزاكم الله خيرا
- 08-12-2013, 08:39 PM #4521
دالة ObjectGetValueByShift تعود بقيمة الكائن حسب رقم الشمعة
كود PHP:ObjectGetValueByShift( string name, int shift)
كود PHP:double TrendValue_D1=ObjectGetValueByShift("D",1);
double TrendValue_H1=ObjectGetValueByShift("H",1);
if(iClose(Symbol(),PERIOD_D1,1)>TrendValue_D1 && iClose(Symbol(),PERIOD_H1,1)>TrendValue_H1)
{
//buy
}
يعني لو عندك ترندين واحد يومي وواحد على شارت الساعة
لو تم وضع الإكسبيرت على شارت الساعة وإستخدمت الدالة لتأتي بقيمة الترند اليومي عند الشمعة 1
ستكون قيمته عند الشمعة واحد على شارت الساعة
- 08-12-2013, 09:49 PM #4522
آخر تعديل بواسطة kira-h ، 08-12-2013 الساعة 09:52 PM
- 08-12-2013, 10:14 PM #4523
- 08-12-2013, 10:20 PM #4524
وعليكم السلام لاتحتاج لدوال جلوبال والأمر بسيط جدا ، عند استدعاء كائن او مؤشر يسبقه تعرف الزوج وتعريف الوقت وبالتالي عند استدعائه يكون هكذا :
كود PHP:double lineD=ObjectGet(Symbol(),1440,"D",OBJPROP_PRICE1);
double lineH=ObjectGet(Symbole,60,"H",OBJPROP_PRICE1);
if(Close[1]>lineD && Close[1]>lineH) //// GoBuy ////
فأذا اشتغلت على أي فريم لن يتأثر الشرط وسينفذ بأتفاق الشر اليومي مع شرط الساعة .
- 08-12-2013, 10:21 PM #4525
وعليكم السلام لاتحتاج لدوال جلوبال والأمر بسيط جدا ، عند استدعاء كائن او مؤشر يسبقه تعرف الزوج وتعريف الوقت وبالتالي عند استدعائه يكون هكذا :
كود PHP:double lineD=ObjectGet(Symbol(),1440,"D",OBJPROP_PRICE1);
double lineH=ObjectGet(Symbole(),60,"H",OBJPROP_PRICE1);
if(Close[1]>lineD && Close[1]>lineH) //// GoBuy ////
فأذا اشتغلت على أي فريم لن يتأثر الشرط وسينفذ بأتفاق الشر اليومي مع شرط الساعة .
- 09-12-2013, 12:16 AM #4526
- 09-12-2013, 12:59 AM #4527
عدل الحلقة عندك الى هذا الكود
int cnt=OrdersTotal();
for(int i=cnt-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
if(OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNo)
{
if(OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),OrderClosePri ce(),30,Red);
آخر تعديل بواسطة Jmeel ، 09-12-2013 الساعة 01:01 AM
- 09-12-2013, 01:04 AM #4528
- 09-12-2013, 01:17 AM #4529
- 09-12-2013, 06:41 AM #4530
اخي حسن تقبل اعتذاري انا غلطان في الأجابة ونبهني أخي يوسف الى هذا ، والكود الذي يعود بقيمة خط لأي كائن لايستخدم فيه الزوج ولا التوقيت . مثال
كود PHP:double lineD=ObjectGet("D",OBJPROP_PRICE1);
double lineH=ObjectGet("H",OBJPROP_PRICE1);
ظلل
كود PHP:ObjectGet
فالمعذرة
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM