النتائج 61 إلى 73 من 73
- 10-12-2010, 02:24 AM #61
رد: موضوع تعليمي : تصميم إكسبرت لمؤشر البارابوليك سار
موضوع أكثر من رائع .... شكراً مستر دولار
- 25-04-2011, 07:54 PM #62
السلام عليكم
معذرة
لاني اريد اكسبريت باربوليك سار مع مضاعفات و لا اعرف اي نسخة ؟؟؟؟
رجاء من الاخوة فقط يدلني على رقم النسخة
و الف شكر سلفاً
- 26-04-2011, 05:38 PM #63
- 07-02-2012, 12:01 AM #64
طلب
السلام عليكم
ممكن شرح خصائص المؤشر كلها parabolicsar ea V6
نزلته على فريم الساعة لكن الاحظ أنه لايعمل مع وجود الوجه مبتسم بالاعلى
أرفقت صورة عن المقصود
وشكرا
- 07-02-2012, 06:44 PM #65
- 07-02-2012, 09:34 PM #66
وعليكم السلام ورحمة الله وبركاته
خصائص الإكسبرت
UseTimeFilter فلتر التوقيت
StartHour توقيت بداية عمل الإكسبرت
EndHour توقيت نهاية عمل الإكسبرت
Lots حجم اللوت
----------
المضاعفات
UseMultiplier تفعيل أو تعطيل خيار المضاعفات
Multiplier عامل المضاعفه
Step المسافه بين الصفقات
ProfitTarget الربح بالدولار عندما تصل جميع الصفقات لهذا الربح يتم إغلاق جميع الصفقات
-----------
إعدادات مؤشر البارابوليك سار
Sar1TF التايم فريم الأول
Sar2TF التايم فريم الثاني
بحيث عندما تتطابق شروط الدخول على الفريمين يتم الدخول في الصفقه
-----------
StopLoss الأستوب لوز
TakeProfit الهدف
TrailingStop التريلينج ستوب
BreakEven البريك إيفن
- 07-02-2012, 11:01 PM #67
جزاك الله خيرا يا مبرمج الفوركس ((MR.dollar))
- 08-02-2012, 12:29 AM #68
[/PHP]درس ممتاز بارك الله بيك استاذ اوسامة وانا ابتدائة التطبيق العملي ولاكن احتاج بعض المساعده لقد قمت بتعديل هاذا الاكسبيرت للاستاذ وضاح العطار مستندان على هاذا الدرس الرائع
المساعدة التي احاج اليهى هي
1 كيف اجعل الاكسبيرت لا يضع امر شراء فوق امر شراء ايضا لا يضع امرين بيع فوق بعض
2 كيف يتم اضافة التارلينج ستوب و تارلينج ستيب
هاذة الاوامر لم اصتطيع تعديلهم اتمنا مساعدة وجزاكم الله كل خير
#property link "[email protected]"
extern int Step=120;
extern double FirstLot=0.1;
extern double IncLot=0;
extern double MinProfit=450;
extern int Magic = 2008;
double gLotSell=0;
double gLotBuy=0;
double LSP,LBP;
int init()
{
Comment("Waddah Attar Win");
GlobalVariableSet("OldBalance",AccountBalance());
return(0);
}
int deinit()
{
Comment("");
return(0);
}
int start()
{
double i;
double sl,p;
if (AccountEquity()>=GlobalVariableGet("OldBalance")+ MinProfit)
{
DeletePendingOrders(Magic);
CloseOrders(Magic);
GlobalVariableSet("OldBalance",0);
}
GlobalVariableSet("OldBalance",AccountBalance());
if (MyOrdersTotal(Magic)==0)
{
OrderSend(Symbol(),OP_BUYSTOP,FirstLot,Ask+Step*Po int,3,0,0,"",Magic,0,Green);
OrderSend(Symbol(),OP_SELLSTOP,FirstLot,Bid-Step*Point,3,0,0,"",Magic,0,Red);
}
LSP=GetLastSellPrice(Magic);
LBP=GetLastBuyPrice(Magic);
if((LBP-Bid)<=5*Point)
{
OrderSend(Symbol(),OP_SELLSTOP,gLotSell+IncLot,LBP-Step*Point,3,0,0,"",Magic,0,Red);
}
if((LBP-Ask)<=5*Point)
{
OrderSend(Symbol(),OP_BUYSTOP,gLotBuy+IncLot,LBP+S tep*Point,3,0,0,"",Magic,0,Red);
}
if((Bid-LSP)<=5*Point)
{
OrderSend(Symbol(),OP_SELLSTOP,gLotSell+IncLot,LSP-Step*Point,3,0,0,"",Magic,0,Red);
}
if((Ask-LSP)<=5*Point)
{
OrderSend(Symbol(),OP_BUYSTOP,gLotBuy+IncLot,LSP+S tep*Point,3,0,0,"",Magic,0,Red);
}
return(0);
}
int DeletePendingOrders(int Magic)
{
int total = OrdersTotal();
for (int cnt = total-1 ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()!=OP_BUY || OrderType()!=OP_SELL))
{
OrderDelete(OrderTicket());
}
}
return(0);
}
int CloseOrders(int Magic)
{
int total = OrdersTotal();
for (int cnt = total-1 ; cnt >= 0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3);
}
if (OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3);
}
}
}
return(0);
}
int MyOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol())
{
c++;
}
}
return(c);
}
double GetLastBuyPrice(int Magic)
{
int total=OrdersTotal()-1;
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUYSTOP || OrderType()==OP_BUY))
{
gLotBuy=OrderLots();
return(OrderOpenPrice());
break;
}
}
return(0);
}
double GetLastSellPrice(int Magic)
{
int total=OrdersTotal()-1;
for (int cnt = total ; cnt >=0 ; cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_SELLSTOP ||OrderType()==OP_SELL))
{
gLotSell=OrderLots();
return(OrderOpenPrice());
break;
}
}
return(100000);
}
والاكسبيرت في المرفقات نفس الكودآخر تعديل بواسطة iunes ، 08-02-2012 الساعة 12:41 AM
- 09-02-2012, 10:36 PM #69
وضح أكثر ماذا تقصد بأمر شراء فوق أمر شراء
بالنسبه للتريلينج ستوب فنستخدم الأمر OrderModify لتعديل الأوامر ووضع الهدف والأستوب لوز الجديد
مثال
كود PHP:void TrailingStop()
{
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY)
{
if(TrailingStop>0&&NormalizeDouble(Ask-TrailingStep*point,digits)>NormalizeDouble(OrderOpenPrice()+TrailingStop*point,digits))
{
if((NormalizeDouble(OrderStopLoss(),digits)<NormalizeDouble(Bid-TrailingStop*point,digits))||(OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailingStop*point,digits),OrderTakeProfit(),0,Blue);
}
}
}
else
{
if(TrailingStop>0&&NormalizeDouble(Bid+TrailingStep*point,digits)<NormalizeDouble(OrderOpenPrice()-TrailingStop*point,digits))
{
if((NormalizeDouble(OrderStopLoss(),digits)>(NormalizeDouble(Ask+TrailingStop*point,digits)))||(OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+TrailingStop*point,digits),OrderTakeProfit(),0,Red);
}
}
}
}
}
}
أولا الدخول في الحلقه للبحث عن الصفقات المفتوحه وتحديدها والتأكد من أن الماجيك نمبر نفسه والعمله نفسها الموضوعه على الشارت
كود PHP:for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY)
{
if(TrailingStop>0&&NormalizeDouble(Ask-TrailingStep*point,digits)>NormalizeDouble(OrderOp enPrice()+TrailingStop*point,digits))
{
if((NormalizeDouble(OrderStopLoss(),digits)<Normal izeDouble(Bid-TrailingStop*point,digits))||(OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Normali zeDouble(Bid-TrailingStop*point,digits),OrderTakeProfit(),0,Blu e);
}
}
}
وهذا يعني إذا كان TrailingStop أكبر من 0 اي أننا إستخدمنا التريلينج ستوب وسعر Ask أكبر من سعر إفتتاح الصفقه + عدد نقاط التريلينج ستوب
فمثلا كان سعر الإفتتاح 1.4230 والتريلينج ستوب = 20 نقطه فإذا كان السعر الحالي أكبر من 1.4250 سوف يبدأ في إستخدام التريلينج ستوب
ثم الشرط الآخر
إذا كان الأستوب لوز أقل من السعر الجديد الذي سيتم وضع التريلينج ستوب عنده حتى نتأكد من أننا نقوم بتقديم الأستوب لوز عند الربح فقط
ثم أمر OrderModify
كود PHP:OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailingStop*point,digits),OrderTakeProfit(),0,Blue);
- 09-02-2012, 11:43 PM #70
شكرا على الرد استاذ اسامة
سأوضح الشرح ان شاء الله اوفق
ما اوريه -هو ان يبقى الاكسبيرت يضع امر شراء معلق اعلا السعر وامربيع معلق اسفل السعر بي مسافة الستيب وتبقا نفس المسافه بين العقود
ولاكن الاكسبيرت اصبح يضع اكثر من امر شراء على نفس النقطه ونفس العملية في حال البيع يضع اكثر من امر
سبب قولي في المرة السابقة (بأمر شراء فوق أمر شراء) لانة لا مانع ان يضع امر بيع فوق امر شراء او امر شراء فوق امر بيع
نفس الطلب في هاذا الموضوع https://forum.arabictrader.com/t1376...ml#post2317017
- 10-02-2012, 08:05 PM #71
هذا لأنك لم تحدد شروط لعدد العقود التي يتم وضعها عند وضع أول أمر معلق فهذا ما قمت بعمله
كود PHP:if((LBP-Bid)<=5*Point)
{
OrderSend(Symbol(),OP_SELLSTOP,gLotSell+IncLot,LBP-Step*Point,3,0,0,"",Magic,0,Red);
}
كود PHP:int PendingOrdersTotal(int Magic,int type)
{
int c=0;
int total = OrdersTotal();
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol()&&OrderType()==type)
{
c++;
}
}
return(c);
}
كود PHP:if((LBP-Bid)<=5*Point&&PendingOrdersTotal(Magic,OP_SELLSTOP)==0)
{
OrderSend(Symbol(),OP_SELLSTOP,gLotSell+IncLot,LBP-Step*Point,3,0,0,"",Magic,0,Red);
}
- 20-05-2012, 11:16 AM #72
مهندس اسامة موضوع اكثر من رائع لكن لي ملاحظة صغيرة وهي ان فرص كثيرة تفوت ، والسبب انه الأكسبرت مثلا بيقوم بعملية بيع عند توافق نجمة سار فريم ساعة مع نجمة سار فريم اربع ساعات في موقع بيع ، و بعد مايقفل عملية البيع بنجاح بتظهر نجمة شراء سار فريم الساعة مخالفة لنجمة اربع ساعات وبعدها بترجع نجمة الساعة بيع وبتكون متوافقة للبيع مع نجمة اربع ساعات ، لكن مابينفذ عملية بيع برغم ان نجمة سار اربع ساعات لازالت في موضع البيع ودي فرص كثيرة بتضيع والشارت للتوضيح و ارجو اضافة هذا وجزاك الله خير .
آخر تعديل بواسطة Jmeel ، 20-05-2012 الساعة 11:25 AM
- 28-02-2013, 09:38 PM #73
موضوع ممتاز متابعين معاك
المواضيع المتشابهه
-
ورشة تصميم إكسبرت لإستراتيجية القاهرة
By Sc@lper in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 138آخر مشاركة: 21-03-2014, 04:36 PM -
إستراتيجية مدهشة جديدة تحتاج لمؤشر أو إكسبرت
By MYounis in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 04-07-2008, 02:42 AM -
موضوع تعليمي: تحت التجربة
By صاحب سمو المشاعر in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 3آخر مشاركة: 07-12-2007, 04:41 PM