النتائج 16 إلى 30 من 73
- 17-06-2010, 10:11 PM #16
رد: موضوع تعليمي : تصميم إكسبرت لمؤشر البارابوليك سار
بارك الله فيك MR.dollar شرح ممتاز وواضح
متابعين معك
-- شكرا --
- 17-06-2010, 11:47 PM #17
رد: موضوع تعليمي : تصميم إكسبرت لمؤشر البارابوليك سار
اخى Mr.dollar
لم تترك لنا نقطه واحده نسال فيها كل شرحك سهل وبسيط وواضح بارك الله فيك
- 18-06-2010, 11:15 PM #18
رد: شرح رائع بارك الله فيك لمؤشر هام
آخر تعديل بواسطة ماركت الخليج ، 18-06-2010 الساعة 11:20 PM
- 19-06-2010, 03:13 PM #19
- 19-06-2010, 05:52 PM #20
رد: موضوع تعليمي : السلام عليكم ورحمة الله بركاته
آخر تعديل بواسطة ماركت الخليج ، 19-06-2010 الساعة 05:55 PM
- 20-06-2010, 11:02 PM #21
رد: موضوع تعليمي : تصميم إكسبرت لمؤشر البارابوليك سار
بانتظار وعد اضافه المضاعفات عند الامكان ..مع التحيه
- 22-06-2010, 06:41 PM #22
رد: موضوع تعليمي : تصميم إكسبرت لمؤشر البارابوليك سار
سنعمل الآن على إضافة المضاعفات
كما هو معروف يوجد نوعين من المضاعفات المضاعفات العكسيه أوالمضاعفات في نفس الإتجاه
الطريقه متشابه في جميع الحالات وتعتمد في الأساس على البحث عن سعر إفتتاح آخر صفقه فإذا كانت الصفقه بيع وكان السعر الحالي أكبر من سعر فتح الصفقه الأخيره+ المسافه بين المضاعفات والتي تم تحديدها نقوم بمعرفة حجم آخر لوت في الصفقه ونقوم بضربه في طريقة المضاعفات التي نريدها
سوف نقوم أولا بتعريف المتغيرات الخارجيه للتحكم في المضاعفات في الإكسبرت
الكود بشكل كامل سيكون كالآتيكود PHP:extern bool UseMultiplier=true;
extern double Multiplier=2;
extern int Step=20;
نأتي الآن لشرح الكودكود PHP:double openprice,lots,newLot;int s;
if(UseMultiplier){
for(s=0;s<OrdersTotal();s++){
OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==OP_BUY){
openprice=OrderOpenPrice();lots=OrderLots();
}
}{
newLot=Multiplier*lots;
if(Ask<=openprice-Step*point&&orderstotal()>=1){
if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*point;}
OrderSend(Symbol(),OP_BUY,newLot,NormalizeDouble(Ask,digits),3,0,TP,"MR.dollar EA",MagicNumber,0,Blue);
}
}
for(s=0;s<OrdersTotal();s++){
OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==OP_SELL){
openprice=OrderOpenPrice(); lots=OrderLots();
}
}{
newLot=Multiplier*lots;
if(Bid>=openprice+Step*point&&orderstotal()>=1){
if(TakeProfit==0){TP=0;}else{TP=Bid-TakeProfit*point;}
OrderSend(Symbol(),OP_SELL,newLot,NormalizeDouble(Bid,digits),3,0,TP,"MR.dollar EA",MagicNumber,0,Red);
}
}
}
بداية قمنا بإستخدام الحلقه for للبحث عن آخر صفقه تم فتحها بواسطة الإكسبرت وكانت صفقة شراء ثم قمنا بتحديد الصفقه بإستخدام الأمر OrderSelectكود PHP:for(s=0;s<OrdersTotal();s++){
OrderSelect(s,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderType()==OP_BUY){
openprice=OrderOpenPrice();lots=OrderLots();
ويتم تعريف الأمر كالآتي
حيثكود PHP:OrderSelect( int index, int select, int pool=MODE_TRADES);
index رقم الصفقه أو رقم التيكيت للصفقه فنحن هنا قمن بإستخدام رقم الصفقه وهو المتغير s في الحلقه التي قمنا بتعريفها
select طريقة إختيار الصفقه إما SELECT_BY_POS أو SELECT_BY_TICKET
pool إما أن تكون MODE_TRADES وهي للصفقات المفعله أو MODE_HISTORY وهي للصفقات المغلقه أو الأوامر المعلقه المحذوفه
ثم قمنا بتعريف المتغيرات lots و openprice وأعطيناها القيم التاليه
حيث OrderOpenPrice هو سعر فتح الصفقه التي تم إختيارها و OrderLots هو حجم لوت الصفقه التي تم إختيارهاكود PHP:openprice=OrderOpenPrice();lots=OrderLots();
الجزء الثاني من الكود
قمنا بتعريف المتغير newLot وهو حجم اللوت الجديد وسيأخذ قيمة لوت آخر صفقهكود PHP:newLot=Multiplier*lots;
if(Ask<=openprice-Step*point&&orderstotal()>=1){
if(TakeProfit==0){TP=0;}else{TP=Ask+TakeProfit*point;}
OrderSend(Symbol(),OP_BUY,newLot,NormalizeDouble(Ask,digits),3,0,TP,"MR.dollar EA",MagicNumber,0,Blue);
مضروبا في Multiplier وهو نوع المضاعفات التي قمنا بتعريفها في متغيرات الإكسبرت الخارجيه
ثم شرط الدخول في الصفقه
إذا كان السعر الحالي أقل من سعر فتح الصفقه - المسافه التي قمنا بتحديدها في متغيرات الإكسبرت يتم الدخول في الصفقه هذا بالنسبه للشراء أما بالنسبه للبيع فسيكون سرع فتح الصفقه + المسافه التي قمنا بتحديدها في متغيرات الإكسبرتكود PHP:if(Ask<=openprice-Step*point&&orderstotal()>=1){
بما أننا أضفنا كود المضاعفات فسوف نضيف أيضا متغير لإغلاق جميع الصفقات عند وصول الربح إلى مبلغ معين
بداية سنقوم بتعريف داله لحساب الربح الحالي للصفقات المفتوحه بواسطة الإكسبرت
ثم سنضع شروط غلق الصفقهكود PHP:double profit(){
double c;
for(int i=0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
c=c+OrderProfit();
}
}
return(c);
}
كود PHP:if(profit()>=ProfitTarget){
while(orderstotal()>0){CloseSellOrders();CloseBuyOrders();}
}
- 29-06-2010, 12:14 AM #23
رد: موضوع تعليمي : تصميم إكسبرت لمؤشر البارابوليك سار
سنقوم الآن بإضافة دالة إخفاء الهدف والأستوب لوز
كود 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*point))
{
OrderClose(OrderTicket(),OrderLots(),Bid,3);
}
}
}
return(0);
}
(OrderTicket(),OrderLots(),Ask,3);كود PHP:int CloseSellOrdersHiddenTP()
{
int total=OrdersTotal();
for(int cnt=total;cnt>=0;cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_SELL&&Ask<(OrderOpenPrice()-TakeProfit*point))
{
[PHP]OrderClose
}
}
}
return(0);
}[/PHP]
سنعتمد أيضا على الداله for للبحث عن الصفقات المفتوحه بواسطة الإكسبرت ثم نضع من ضمن الشروط ثم نضع من ضمن الشروط إذا كان السعر الحالي أكبر من سعر الدخول أو أقل من سعر الدخول يتم إغلاق الصفقه وسنستخدم الأمر
على سبيل المثال بالنسبه للبيعكود PHP:OrderClose
سوف نضع في متغيرات الإكسبرت الخارجيه خاصية إمكانية تفعيل أو تعطيل الهدف والأستوب لوزكود PHP:Ask<(OrderOpenPrice()-TakeProfit*point
كود PHP:extern bool HideSL=false;
ثم سنضع قبل الأمر OrderSendكود PHP:extern bool HideTP=false;
كود PHP:if(StopLoss==0||HideSL==true){SL=0;}else{SL=Ask-StopLoss*Point;}
if(TakeProfit==0||HideTP==true){TP=0;}else{TP=Ask+TakeProfit*Point;}
بحيث إذا كان الخيار HideTP قمنا بتفعيله فسوف نجعل TP=0 وأيضا بالنسبه للأستوبكود PHP:if(StopLoss==0||HideSL==true){SL=0;}else{SL=Bid+StopLoss*Point;}
if(TakeProfit==0||HideTP==true){TP=0;}else{TP=Bid-TakeProfit*Point;}
أخيرا الإكسبرت في المرفقات
- 03-07-2010, 10:56 AM #24
رد: موضوع تعليمي : تصميم إكسبرت لمؤشر البارابوليك سار
بارك الله فيك على المجهود بالشرح الوافي للاكسبرت ....
- 03-07-2010, 07:39 PM #25
رد: موضوع تعليمي : تصميم إكسبرت لمؤشر البارابوليك سار
أستاذي Mr. Dollar :
عند وضع step = 23 يظهر لنا في الباك تست بعد فترة خطأ كما هو ظاهر بالصورة المرفقة.
مع أنه النتائج بهذا الرقم كانت ممتازة لكن توقف الباكتست غريب ... مع خالص الشكر.gif)
الزوج صاحب الاختبار هو الدولار ين
- 03-07-2010, 07:43 PM #26
رد: موضوع تعليمي : تصميم إكسبرت لمؤشر البارابوليك سار
النتائج لحظة التوقف
- 03-07-2010, 08:04 PM #27
رد: موضوع تعليمي : تصميم إكسبرت لمؤشر البارابوليك سار
rقد يحدث هذا الخطأ بسبب بعض البيانات التاريخية ونلاحظ أن الإكسبرت يبحث عن سعر الفواصل العشرية فيه كثيره فبالتالي يظهر الخطأ
لحل هذه المشكلة نستخدم الداله NormalizeDouble
وهي تقوم بتحديد عدد الأرقام العشرية التي تريدها بعد الفاصله وسوف نستخدم مع سعر فتح الصفقه وسعر إغلاق الصفقه
وتعريفها كالآتي
حيثكود PHP:double NormalizeDouble( double value, int digits)
value هي القيمة التي تريد تقريبها
digits هي عدد الأرقام بعد الفاصله التي تريدها
وسوف نستخدم الكلمة Digit حتى تبين لنا عدد الأرقام العشريه الطبيعي بعد الفاصله فمثلا اليورو دولار يحتوي على أربع أرقام بعد الفاصله والدولار ين يحتوي على رقمين بعد الفاصله
ثم نقوم مثلا في أمر البيع نضع الكود بالشكل التالي
وكذلك بالنسبة لباقي الأوامركود PHP:OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,digits),3,NormalizeDouble(SL,digits),NormalizeDouble(TP,digits),"MR.dollar EA",MagicNumber,0,Red);
الإكسبرت في المرفقات
- 03-07-2010, 11:34 PM #28
- 18-08-2010, 01:38 AM #29
رد: موضوع تعليمي : تصميم إكسبرت لمؤشر البارابوليك سار
مستر دولار
الصراحة شرح ولا اروع. يعطيك العافية على المجهود الممتاز و الشرح الواضح
سابقى من المتابعين و المتعلمين انشالله
- 18-08-2010, 07:48 AM #30
رد: موضوع تعليمي : تصميم إكسبرت لمؤشر البارابوليك سار
شكرا جزيلا مستر دولار
حصيله 6 ساعات عمل اكتر من 60%
المواضيع المتشابهه
-
ورشة تصميم إكسبرت لإستراتيجية القاهرة
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
الأكثر زيارة
رد مع اقتباس
