النتائج 16 إلى 30 من 136
- 02-01-2008, 10:50 PM #16
رد: مشروع برمجي : اكسبيرت سوبابلكس للمضاعفات
السلام عليكم
منذ فترة وانا متابع لاغلب طرق المضاعفات في جميع المواضيع وقد اعجبتني جميع افكارها ، وقد قمت ببرمجة العديد من الاكسبيرتات التي تعتمد اساسا على المضاعفات بأغلب طرقها ، وآخرها بالصدفة قرأت طريقة سوبابلكس بالامس وقمت ببرمجتها بالحال ولكن للاسف الشديد وجدت بها نفس المشكلة التي تشكو منها جميع طرق المضاعفات الا وهي العمل خلال السوق المتذبذب ، فعندما عملت باك تيست للاكسبيرت خلال العام الماضي 2007 فكان مصيره كمصير اغلب الطرق الا وهو المارجن كول ( طبعا انا بجرب الاكسبيرتات على اعدادات معقولة بالنسبة لاي شخص او ممكنة يعني رافعه 1:100 او 1:200 وحساب ميني ورصيد ليس اكثر من 10000 دولار وربما اقل) ، فأغلب طرق المضاعفة من رايي المتواضع عدوها الاول السوق المتذبذب بالاضافة الى راس المال ولكني ارى ان راس المال ليس بأهمية حالة السوق لان السوق اذا كان متذبذب فمن الصعب صمود اي اكسبيرت مضاعفة امامه ، فلدينا مثلا هنا في طريقة سوبابلكس انه اذا كان السوق متذبذب في 80 نقطة لمدة طويلة فسوف يصل عدد المضاعفات الى رقم كبير بحيث انه لن يستطيع الاكسبيرت فتح مضاعفات اكثر وذلك لقلة المارجن المتاح بالطبع.
طبعا هناك بعض الافكار تعتمد على الحسابات المايكرو وحسابات كبيرة ورافعه ايضا كبيرة وهذه الشروط من رايي المتواضع صعب تواجدها في اغلب الشركات بالاضافة الى صعوبة توفرها لاي متداول .
ما اتمنى الوصول اليه معكم كيفية صناعة اكسبيرت يعتمد على المضاعفات يعمل على حساب معقول ليس اكثر من 10000 دولار وبرافعه عادية 1:100 مثلا او 1:200 ويكون ميني وليس مايكر وكيفية معالجته للسوق المتذبذب .
في النهاية احب ان اشكر الاخ وضاح على جهوده الطيبة وبارك الله فيك اخي
- 03-01-2008, 01:35 AM #17
رد: مشروع برمجي : اكسبيرت سوبابلكس للمضاعفات
انا أقترح (من وجهة نظري القاصرة) تعديلين لهذه الطريقة:
اولاً) اعتماد فتح الصفقات على استراتيجية معينة دائماً ، وليس فقط أن تكون أول صفقة مدروسة ثم تكون الصفقات التالية عكس السابقة .
ثانياً) عدم استخدام طريقة المضاعفات (1 ، 2 ، 4 ، .......) ، بل ان يكون الوقف اقل من الهدف بكثير و استخدام طريقة الزيادات البسيطة (1 ثم 1 ثم 1 ثم 1 ثم 1 ثم 2 ثم 2 ثم 3 ثم 3 ثم 4 ثم 5 ثم 6 ثم 8 ثم 10 ثم 12 ثم 15 ثم 19 ثم 24 ثم 30 ثم 37) ، كما في هذه الجدول مثلاً ، حيث يجب ان يتحمل رأس المال المطلوب (5000) نقطة والوقف (20 نقطة + 5 اسبريد) والهدف (105 نقاط - 5 اسبريد)
وبالتوفيق ان شاء اللهآخر تعديل بواسطة wajdyss ، 03-01-2008 الساعة 01:44 AM
- 03-01-2008, 07:17 AM #18
رد: مشروع برمجي : اكسبيرت سوبابلكس للمضاعفات
وعليكم السلام ورحمة الله
أخي العزيز نحن هنا أمام استراتيجية رقمية محددة تعتمد على المضاعفات وبهدف وستوب ثابتين .
أي تغيير جوهري في هذه الطريقة سيجعلها أمرا مختلفا جدا وسوف تأخذ منحى مختلف تماما .
فكرتك بحد ذاتها جميلة وتحتاج لاكسبيرت خاص بها .
وقد تأخذ دورها من البرمجة مع فريق البرمجة إن شاء الله .
- 03-01-2008, 07:36 AM #19
رد: مشروع برمجي : اكسبيرت سوبابلكس للمضاعفات
أهلا أخي محمود وشكرا لك
إضافتك صحيحة تماما ما شاء الله ولكنك لم تضفها على آخر كود صحيح مع أنك عدلت الخطأ الذي كان في عدد العقود المعلقة .
نعم أخي ملاحظتك صحيحة في إمكانية الدخول في تذبذب آخر .
لذلك كما اقترحت أنت سنترك الاكسبيرت على حاله من ناحية أن الهدف واحد للصفقتين .
شكرا لك
- 03-01-2008, 07:44 AM #20
رد: مشروع برمجي : اكسبيرت سوبابلكس للمضاعفات
كلامك صحيح تماما أخي العزيز
وبما أنك مبرمج ما شاء الله فإني أدعوك للانضمام إلى فريق البرمجة الخاص بمنتدى المتداول العربي للاستفادة من خبراتك .
والهدف الذي تسعى إليه هو ما دفعنا لفتح هذا الموضوع أساسا .
لذلك أتمنى منك أخي الكريم أن لا تبخل علينا بأي فكرة لنقوم بدراستها وتطبيقها إن لزم الأمر .
شكرا لك أخي وجزاك الله خيرا .
- 03-01-2008, 07:51 AM #21
رد: مشروع برمجي : اكسبيرت سوبابلكس للمضاعفات
اقتراحاتك هامة جدا جدا أخي العزيز .
لكن ما هي الاستراتيجية التي تقترحها لأخذ اشارة الدخول منها .
كذلك بالنسبة للجدول أعتقد أن هناك مشكلة في أنك لم تأخذ في الاعتبار أن الرصيد يتناقص بعد كل خسارة وأنه لن يتحمل الدخول في لوتات كبيرة .
وهذا يعني أن الرصيد لن يتحمل عشرين صفقة خاسرة متتالية .
أرجو التأكد من هذه النقطة مشكورا .
- 03-01-2008, 08:04 AM #22
- 03-01-2008, 08:15 AM #23
رد: مشروع برمجي : اكسبيرت سوبابلكس للمضاعفات
آخر كود تم تعديله هو في المشاركة رقم 11 وذلك بعد ملاحظات الأخ حازم .
وهذا هو مرة أخرى ( قبل تعديلاتك ) :
كود PHP:#property copyright "Idea by Supaplex Programing by waddah attar"
#property link "[email protected]"
//خصائص الاكسبيرت
extern int TakeProfit=80;
extern int StopLoss=80;
extern double FirstLots=0.1;
extern bool OpenBuy=true;
extern int LotsDouble=2;
extern int MagicNumber = 2008;
int Ticket1,Ticket2;
int t1,t2,gT1,gT2;
int handle;
int init()
{
Comment("Waddah Attar Supaplex");
return(0);
}
int deinit()
{
Comment("");
return(0);
}
int start()
{
Procces_1();
return(0);
}
//****************************************************************************************************************
// الوظيفة الخاصة بفتح عقد الشراء مع مضاعفة إن اقتضى الأمر
void OpenBUYOrder(double Lots,int Magic)
{
double sl,tp;
sl=Ask-StopLoss*Point;
tp=Ask+TakeProfit*Point;
if (Lots==FirstLots)
{
Ticket1=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,sl,tp,"",Magic,0,Green);
if(Ticket1>0)
{
gT1=OrderSend(Symbol(),OP_SELLSTOP,Lots,sl,3,sl+StopLoss*Point,sl-TakeProfit*Point,"",Magic,0,Green);
gT2=OrderSend(Symbol(),OP_SELLSTOP,Lots,sl,3,sl+StopLoss*Point,sl-(TakeProfit*Point),"",Magic,0,Green);
}
else
{
Alert("خطأ شراء "," Err = ",GetLastError()," Price = ",Ask," Lots = ",Lots);
}
}
}
// الوظيفة الخاصة بفتح عقد البيع مع مضاعفة إن اقتضى الأمر
void OpenSELLOrder(double Lots,int Magic)
{
double sl,tp;
sl=Bid+StopLoss*Point;
tp=Bid-TakeProfit*Point;
if (Lots==FirstLots)
{
Ticket1=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,sl,tp,"",Magic,0,Red);
if(Ticket1>0)
{
gT1=OrderSend(Symbol(),OP_BUYSTOP,Lots,sl,3,sl-StopLoss*Point,sl+TakeProfit*Point,"",Magic,0,Green);
gT2=OrderSend(Symbol(),OP_BUYSTOP,Lots,sl,3,sl-StopLoss*Point,sl+(TakeProfit*Point),"",Magic,0,Green);
}
else
{
Alert("خطأ بيع "," Err = ",GetLastError()," Price = ",Bid," Lots = ",Lots);
}
}
}
// الوظيفة الرئيسية
int Procces_1()
{
double slot,ssl,stp,bw;
// في حال لا يوجد صفقات حالية وكان هناك صفقات معلقة فاحذفها لأنه لا داعي لها
if (MyRealOrdersTotal(MagicNumber)==0 && MyPendingOrdersTotal(MagicNumber)==2)
{
DeletePendingOrders(MagicNumber);
return(0);
}
// في حال لا يوجد صفقات حالية أو صفقات معلقة فقم بفتح صفقة بيع أو صفقة شراء حسب رغبة المستخدم
if (MyRealOrdersTotal(MagicNumber)==0 && MyPendingOrdersTotal(MagicNumber)==0)
{
if (OpenBuy)
{
OpenBUYOrder(FirstLots,MagicNumber);
}
else
{
OpenSELLOrder(FirstLots,MagicNumber);
}
return(0);
}
// في حال تم فتح صفقة بيع أو شراء يجب وضع صفقات معلقة معاكسة لها نوعا واتجاها
if (MyRealOrdersTotal(MagicNumber)==2 && MyPendingOrdersTotal(MagicNumber)==0)
{
OrderSelect(t1,SELECT_BY_TICKET,MODE_TRADES);
slot=OrderLots()*LotsDouble;
ssl=OrderStopLoss();
stp=OrderTakeProfit();
if (OrderType()==OP_BUY)
{
gT1=OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,ssl+StopLoss*Point,ssl-TakeProfit*Point,"",MagicNumber,0,Green);
gT2=OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,ssl+StopLoss*Point,ssl-(TakeProfit*Point),"",MagicNumber,0,Green);
}
if (OrderType()==OP_SELL)
{
gT1=OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,ssl-StopLoss*Point,ssl+TakeProfit*Point,"",MagicNumber,0,Green);
gT2=OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,ssl-StopLoss*Point,ssl+(TakeProfit*Point),"",MagicNumber,0,Green);
}
}
return(0);
}
// وظيفة لحساب عدد الصفقات الحالية
int MyRealOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();
t1=-1;
t2=-1;
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
{
if (t1==-1)
{
t1=OrderTicket();
}
else
{
if (t2==-1)
{
t2=OrderTicket();
}
}
c++;
}
}
return(c);
}
// وظيفة لحساب عدد الصفقات المعلقة فقط
int MyPendingOrdersTotal(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() && (OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP))
{
c++;
}
}
return(c);
}
// وظيفة لحذف الصفقات المعلقة
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_BUYSTOP || OrderType()==OP_SELLSTOP))
{
OrderDelete(OrderTicket());
}
}
return(0);
}
ضع الكود البرمجي في بلوك كود PHP ليتم تلوينه آليا ولي في بلوك كود فقط .
- 03-01-2008, 08:52 AM #24
رد: مشروع برمجي : اكسبيرت سوبابلكس للمضاعفات
نعم أخ وضاح هذا الكود الاخير بعد اضافة خاصية الوقت
كود PHP:#property copyright "Idea by Supaplex Programing by waddah attar"
#property link "[email protected]"
//خصائص الاكسبيرت
extern int TakeProfit=80;
extern int StopLoss=80;
extern double FirstLots=0.1;
extern bool OpenBuy=true;
extern int LotsDouble=2;
extern int MagicNumber = 2008;
int Ticket1,Ticket2;
int hour;
extern int StartTime = 0 ;
extern int EndTime = 23;
int t1,t2,gT1,gT2;
int handle;
int init()
{
Comment("Waddah Attar Supaplex");
return(0);
}
int deinit()
{
Comment("");
return(0);
}
int start()
{
hour = TimeHour(CurTime());
Procces_1();
return(0);
}
//****************************************************************************************************************
// الوظيفة الخاصة بفتح عقد الشراء مع مضاعفة إن اقتضى الأمر
void OpenBUYOrder(double Lots,int Magic)
{
double sl,tp;
sl=Ask-StopLoss*Point;
tp=Ask+TakeProfit*Point;
if (Lots==FirstLots && hour>=StartTime && hour<=EndTime)
{
Ticket1=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,sl,tp,"",Magic,0,Green);
if(Ticket1>0)
{
gT1=OrderSend(Symbol(),OP_SELLSTOP,Lots,sl,3,sl+StopLoss*Point,sl-TakeProfit*Point,"",Magic,0,Green);
gT2=OrderSend(Symbol(),OP_SELLSTOP,Lots,sl,3,sl+StopLoss*Point,sl-(TakeProfit*Point),"",Magic,0,Green);
}
else
{
Alert("خطأ شراء "," Err = ",GetLastError()," Price = ",Ask," Lots = ",Lots);
}
}
}
// الوظيفة الخاصة بفتح عقد البيع مع مضاعفة إن اقتضى الأمر
void OpenSELLOrder(double Lots,int Magic)
{
double sl,tp;
sl=Bid+StopLoss*Point;
tp=Bid-TakeProfit*Point;
if (Lots==FirstLots && hour>=StartTime && hour<=EndTime)
{
Ticket1=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,sl,tp,"",Magic,0,Red);
if(Ticket1>0)
{
gT1=OrderSend(Symbol(),OP_BUYSTOP,Lots,sl,3,sl-StopLoss*Point,sl+TakeProfit*Point,"",Magic,0,Green);
gT2=OrderSend(Symbol(),OP_BUYSTOP,Lots,sl,3,sl-StopLoss*Point,sl+(TakeProfit*Point),"",Magic,0,Green);
}
else
{
Alert("خطأ بيع "," Err = ",GetLastError()," Price = ",Bid," Lots = ",Lots);
}
}
}
// الوظيفة الرئيسية
int Procces_1()
{
double slot,ssl,stp,bw;
// في حال لا يوجد صفقات حالية وكان هناك صفقات معلقة فاحذفها لأنه لا داعي لها
if (MyRealOrdersTotal(MagicNumber)==0 && MyPendingOrdersTotal(MagicNumber)==2)
{
DeletePendingOrders(MagicNumber);
return(0);
}
// في حال لا يوجد صفقات حالية أو صفقات معلقة فقم بفتح صفقة بيع أو صفقة شراء حسب رغبة المستخدم
if (MyRealOrdersTotal(MagicNumber)==0 && MyPendingOrdersTotal(MagicNumber)==0 && hour>=StartTime && hour<=EndTime)
{
if (OpenBuy)
{
OpenBUYOrder(FirstLots,MagicNumber);
}
else
{
OpenSELLOrder(FirstLots,MagicNumber);
}
return(0);
}
// في حال تم فتح صفقة بيع أو شراء يجب وضع صفقات معلقة معاكسة لها نوعا واتجاها
if (MyRealOrdersTotal(MagicNumber)==2 && MyPendingOrdersTotal(MagicNumber)==0)
{
OrderSelect(t1,SELECT_BY_TICKET,MODE_TRADES);
slot=OrderLots()*LotsDouble;
ssl=OrderStopLoss();
stp=OrderTakeProfit();
if (OrderType()==OP_BUY)
{
gT1=OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,ssl+StopLoss*Point,ssl-TakeProfit*Point,"",MagicNumber,0,Green);
gT2=OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,ssl+StopLoss*Point,ssl-(TakeProfit*Point),"",MagicNumber,0,Green);
}
if (OrderType()==OP_SELL)
{
gT1=OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,ssl-StopLoss*Point,ssl+TakeProfit*Point,"",MagicNumber,0,Green);
gT2=OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,ssl-StopLoss*Point,ssl+(TakeProfit*Point),"",MagicNumber,0,Green);
}
}
return(0);
}
// وظيفة لحساب عدد الصفقات الحالية
int MyRealOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();
t1=-1;
t2=-1;
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && (OrderType()==OP_BUY || OrderType()==OP_SELL))
{
if (t1==-1)
{
t1=OrderTicket();
}
else
{
if (t2==-1)
{
t2=OrderTicket();
}
}
c++;
}
}
return(c);
}
// وظيفة لحساب عدد الصفقات المعلقة فقط
int MyPendingOrdersTotal(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() && (OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP))
{
c++;
}
}
return(c);
}
// وظيفة لحذف الصفقات المعلقة
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_BUYSTOP || OrderType()==OP_SELLSTOP))
{
OrderDelete(OrderTicket());
}
}
return(0);
}
- 03-01-2008, 09:16 AM #25
- 03-01-2008, 09:45 AM #26
رد: مشروع برمجي : اكسبيرت سوبابلكس للمضاعفات
هذا الجدول الاول لحساب يتحمل (30000 نقطة) بطريقة استوب 25 وهدف 100 (شامل الاسبريد)
ونرى ان عدد الصفقات الخاسرة المتتالية يجب ان لا تزيد عن 28 صفقةآخر تعديل بواسطة wajdyss ، 03-01-2008 الساعة 09:55 AM
- 03-01-2008, 09:53 AM #27
رد: مشروع برمجي : اكسبيرت سوبابلكس للمضاعفات
وهذا الجدول لطريقة سوبابلكس استوب 80 وهدف 80 ونرى انه لا يتحمل اكثر من 8 صفقات خاسرة متتالية
- 03-01-2008, 12:42 PM #28
رد: مشروع برمجي : اكسبيرت سوبابلكس للمضاعفات
من ناحية الاعدادات فهى نفس الاعدادات الافتراضيه اما من ناحىة الفتره واهدافها فتختلف من زوج الى آخر فقد استخدمت فترة خمس دقائق على اليورو دولار وباهداف عشر نقط واعطتنى نتائج مذهله وبمخاطره قليله
ولى سؤال للاخ وجدى عن الجدول اللذى وضعه فمثلا اذا خرجنا من الصفقه الرابعه رابحين فتكون المحصله هى
-75 نقطه ارجومنه ان يوضح لنا اهداف الجدول ومقدما اقول انه اعطانا فكره جميله فى ادارة راس المال فيكون هدفنا
بعد الخساره الاولى هو النفاذ براسمالنا من جهه واعطاء المؤشر فرص اكثر للخروج من التذبذب الضيق اللذى وقعنا به
- 03-01-2008, 01:43 PM #29
- 03-01-2008, 01:53 PM #30
المواضيع المتشابهه
-
اكسبيرت سوبابلكس بنسخته الجديدة والمطورة زي المنشار .
By وضاح عطار in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 96آخر مشاركة: 20-05-2019, 10:26 PM -
ورشة تطوير اكسبيرت للمضاعفات
By جرير in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 13آخر مشاركة: 22-04-2010, 11:23 PM -
غرفة تطوير اكسبيرت للمضاعفات
By emadma in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 25آخر مشاركة: 14-12-2009, 10:55 PM -
مشروع برمجي عالي التقنية حصريا وجميع الحقوق محفوظة
By وضاح عطار in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 26آخر مشاركة: 20-04-2008, 08:22 AM