النتائج 1 إلى 14 من 14
الموضوع: ورشة تطوير اكسبيرت للمضاعفات
- 19-04-2010, 02:55 AM #1
ورشة تطوير اكسبيرت للمضاعفات
اخوانى الأعزاء / السلام عليكم ورحمة الله وبركاته
ظللت فترة اطور فى اكسبيرت الشهباء للأأستاذ وضاح عطار .. وذلك حتى يعمل بثبات اوقات التذبذب لكن كان التذبذب هو الأقوى .
ومن ضمن مراحل التطوير كانت فى وضع مستويات لايتذبذب السعر عندها كثيرا
لذلك قمت باختيار المستويات الأخيرة للكماريلا L3 & L4 H3&H4
وجدت ان السعر لايتذبذب عند هذه المستويات كثيرا
مرفق اكسبيرت الشهباء مع اضافة خطوط الكمريلا ...
الأ ان ذلك لم يمنع ان التذبذب هو الأقوى ...فأدعو من خلال هذا الموضوع مبرمجينا الكرام لتطوير هذا الأكسبيرت وذلك لما لأكواد المضاعفات من تعقيد بأذن الله نتغلب عليه
والشكر مقدما لكل من يساهم فى التطوير
والسلام عليكم ورحمة الله وبركاته
- 19-04-2010, 09:34 AM #2
رد: ورشة تطوير اكسبيرت للمضاعفات
اول متابعينك انشاء الله
- 19-04-2010, 05:41 PM #3
رد: ورشة تطوير اكسبيرت للمضاعفات
متابعين معك وفي رأيي ممكن نضيف فلتر البولينجر باند لمعرفة أماكن الضيق السعري ع وإحتمال حدوث التذبذب عن طريق الفرق بين حدي البولينجر باند ما رأيك
- 19-04-2010, 06:08 PM #4
رد: ورشة تطوير اكسبيرت للمضاعفات
زادت الورشة نورا بوجودك
فى البداية سعيد جدا لوجودك فى الورشة .ومنور ياباشا. اما عن البولينجرباند اعتقد تواجهنا كذا مشكلة باستخدامه ومن ضمنها :-
- ان البولينجر يكون قوى فى الأرتدادات وليس فى الأختراقات
- كماتعرف ان البولينجر فى البرمجة وبالذات الأوامر المعلقة يحتاج الى اوامر تتغير بتغيره ... وهذا اعتقد عند عمله برمجيا قد يكون مجهدا جدا .
سوف نمر على مراحل للوصول لأفضل اكسبيرت مضاعفات واولها بأذن الله سيكون وضع ستوب وهدف للأكسبيرت السابق ثم نأتى لأختيار النقاط البعيدة عن التبذبذب واقترحاتى هى :
- خط الستوك main عند بلوغه مستوى اكبر من 97 او اقل من 3
-وتوجد اقتراحات اخرى بالنسبة للخطوط التى ستستخدمها
ووضع ستوب يبدأ الأكسبيرت بعكس العمليات من عنده ووضع حصد ارباح " من وجهة نظرى سيكون مفيدا فى جعل حصد الأرباح اكبر قليلا من الخسارة "
فما رايك باستخدام الستوك لفترة مثلا 14 يفتح امر بيع اوشراء بسعر السوق وفى المقابل يفتح امر معلق مكان الستوب ؟
- 19-04-2010, 07:25 PM #5
- 19-04-2010, 08:33 PM #6
رد: ورشة تطوير اكسبيرت للمضاعفات
مشكلة الأستوك عندى كانت فى ان التعامل معه لايتم على اساس انه خطين
لذلك عند تحقق امر البيع يضع امر شراء معلق بعد عدد معين من النقاط(وهو الستوب (متغير خارجى )
وعند تحقق امر الشراء يضع امر بيع معلق بعد عدد معين من النقاط(وهو الستوب (متغير خارجى)
وعند تحقق الهدف يتم الغاء الأوامر المعلقة
فمأرأيك يأخى بهذا الكود .... يحتاج الى حل برمجى
كود PHP:STOM=iStochastic(NULL,PERIOD_H4,14,3,3,MODE_SMA,0,MODE_MAIN,0);
STOM1=iStochastic(NULL,PERIOD_H4,14,3,3,MODE_SMA,0,MODE_MAIN,1);
L0 = ????????;
H0 =?????????? ;
S2=(H0-L0);
if(S2/Point<=Max && S2/Point>=Min)
{
H=H0;
L=L0;
S=S2;
}
if(S/Point<=Max && S/Point>=Min)
{
if(STOM1<3 && STOM>3)
{
OpenBUYOrder(lot,L,Ask+S+(MorePips*Point),Magic);
}
if(STOM1>97 && STOM<97)
{
OpenSELLOrder(lot,H,Bid-S+(MorePips*Point),Magic);
}
}
return(0);
}
آخر تعديل بواسطة جرير ، 19-04-2010 الساعة 08:38 PM
- 21-04-2010, 06:23 AM #7
رد: ورشة تطوير اكسبيرت للمضاعفات
اخى mr.dollar
بعد محاولات لأدخال ستوب وتيك بروفيت ...لا لأعرف سر عدم استجابة هذا الكود
لكنى بعد محاولة وعمل باك تيست وجدت ان الأكسبيرت لايقوم بفتح اوامر معلقة كمابالصورة
كذلك قيم كل من H L S N هى قيم الأستوب والتيك بروفيت .. احتاج منها قيمتين فقط واحدة للأستوب والثانية للتيك بروفيت من فضلك ..وهذا اخر ماتم بالكود
كود PHP:#property copyright "Eng. Waddah Attar"
#property link "[email protected]"
extern double FirstLots=0.01;
extern int L=50;
extern int H=50;
extern int S=50;
extern int N=50;
extern int MorePips=5;
extern double DoubleLot=2.2;
extern bool LotOptimized=true;
extern double Risk=1;
extern int LotMargin=1000;
extern int MagicNumber = 2009;
int t1;
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()
{
Procces_1(MagicNumber);
return(0);
}
void OpenBUYOrder(double Lots,double Stoploss,double Takeprofit , int Magic)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Stoploss,Takeprofit,"",Magic,0,Green);
}
void OpenSELLOrder(double Lots,double Stoploss,double Takeprofit , int Magic)
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Stoploss,Takeprofit,"",Magic,0,Red);
}
int Procces_1(int Magic)
{
double slot,ssl,stp,tp,sl,lot;
double S,H,L;
double S0,H0,L0,H1;
double S1,C0,O0;
double S2,C1,O1;
if (MyRealOrdersTotal(Magic)==0 && MyPendingOrdersTotal(Magic)==1)
{
DeletePendingOrders(Magic);
return(0);
}
if (MyRealOrdersTotal(Magic)==0 && MyPendingOrdersTotal(Magic)==0 && Hour()>=8)
{
if(LotOptimized==false)
{
lot=FirstLots;
}
else
{
lot=NormalizeDouble((((AccountBalance()*Risk)/100)/LotMargin),2);
if(lot>MarketInfo(Symbol(),MODE_MAXLOT)) lot=MarketInfo(Symbol(),MODE_MAXLOT);
if(lot<MarketInfo(Symbol(),MODE_MINLOT)) lot=MarketInfo(Symbol(),MODE_MINLOT);
}
H0=iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0);
H1=iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1);
S0=(H0-L0);
S1=(C0-O0);
S2=(O1-C1);
{
H=H0;
L=L0;
S=S0;
}
{
if(H1<3 &&H0>3)
{
OpenBUYOrder(lot,(L*Point),Ask+(S*Point)+(MorePips*Point),Magic);
}
if(H1>97 &&H0<97)
{
OpenSELLOrder(lot,(H*Point),Bid-(N*Point)+(MorePips*Point),Magic);
}
}
return(0);
}
if (MyRealOrdersTotal(Magic)==1 && MyPendingOrdersTotal(Magic)==0)
{
OrderSelect(t1,SELECT_BY_TICKET,MODE_TRADES);
slot=NormalizeDouble(OrderLots()*DoubleLot,2);
ssl=OrderStopLoss();
stp=OrderTakeProfit();
if(OrderType()==OP_BUY)
{
sl=OrderOpenPrice();
tp=OrderStopLoss()-(OrderTakeProfit()-OrderOpenPrice());
OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,sl,tp-MorePips*Point,"",Magic,0,Red);
}
if (OrderType()==OP_SELL)
{
sl=OrderOpenPrice();
tp=OrderStopLoss()+(OrderOpenPrice()-OrderTakeProfit());
OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,sl,tp+MorePips*Point,"",Magic,0,Green);
}
}
return(0);
}
int MyRealOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();
t1=-1;
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && OrderType()<=OP_SELL)
{
if (t1==-1)
{
t1=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_SELL)
{
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_SELL)
{
OrderDelete(OrderTicket());
}
}
return(0);
}
آخر تعديل بواسطة جرير ، 21-04-2010 الساعة 06:29 AM
- 21-04-2010, 08:46 PM #8
رد: ورشة تطوير اكسبيرت للمضاعفات
بداية لاحظت في الكود
كود PHP:H0=iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0);
H1=iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1);
S0=(H0-L0);
S1=(C0-O0);
S2=(O1-C1);
{
H=H0;
L=L0;
S=S0;
}
{
if(H1<3 &&H0>3)
{
OpenBUYOrder(lot,(L*Point),Ask+(S*Point)+(MorePips*Point),Magic);
}
if(H1>97 &&H0<97)
{
OpenSELLOrder(lot,(H*Point),Bid-(N*Point)+(MorePips*Point),Magic);
}
}
أم هو مجرد خطأ مطبعي
- 22-04-2010, 04:27 AM #9
رد: ورشة تطوير اكسبيرت للمضاعفات
فى البداية ابارك لك على الأشراف ..ويعلم الله مدى سعادتى لتوليك هذا المنصب
اما عن الفكرة فهى كالتالى
فى حال تفعيل اوردر يكون
حصد الأرباح عادى جدا بالباراميتر
ستوب (موجود بالباراميتر)= امر عكسى معلق
وكانت المشكلة البرمجية تتمثل فى
تعريف لغة الميتا بقيم الستوب والهدف .... لذلك كانت منك فكرة رائعة باستخدام الأمر المفتوح لتحديد الستوب والهدف
كود PHP:double openorder = orderopenprice();
هذا الحل هو تفاديا للأرقام الخاطئة الذى من الممكن ان ينتجها الأكسبيرت وهى
بالنسبة للشراء سيكون
كود PHP:double openorder1= OrderOpenPrice()+(takeprofit*Point);
double openorder2= OrderOpenPrice()-(stoploss*Point);
كود PHP:double openorder3= OrderOpenPrice()-(takeprofit1*Point);
double openorder4= OrderOpenPrice()+(stoploss1*Point);
فمارايك ؟
آخر تعديل بواسطة جرير ، 22-04-2010 الساعة 04:31 AM
- 22-04-2010, 06:27 AM #10
رد: ورشة تطوير اكسبيرت للمضاعفات
مشرفنا العزيز
قمت بأضافة الأكواد السابقة لكن احصل على اخطاء (رونج وايرور) متركزة فى الماجيك والأوردور توتال وقوس .ممااعتبره اشارة ايجابية لصحة الأضافات.. والعبد لله ضعيف فى السينتاكس للغة الميتا .. من فضلك تصحيح الكود ..واتمنى بأذن الله ان يختص جانب من دروسك حول الأخطاء النحوية للميتا وتصحيحها ..وجزاك الله خيرا
كود PHP:#property copyright "Eng. Waddah Attar"
#property link "[email protected]"
extern string separator1="--------------take profit and stoploss";
extern int takproft=50;
extern int stp=50;
extern string separator2="---------------- other setting";
extern double FirstLots=0.01;
extern double DoubleLot=2.2;
extern bool LotOptimized=true;
extern double Risk=1;
extern int LotMargin=1000;
extern int MagicNumber = 2009;
int t1;
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()
{
Procces_1(MagicNumber);
return(0);
}
void OpenBUYOrder(double Lots,double Stoploss,double Takeprofit , int Magic)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Stoploss,Takeprofit,"",Magic,0,Green);
}
void OpenSELLOrder(double Lots,double Stoploss,double Takeprofit , int Magic)
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Stoploss,Takeprofit,"",Magic,0,Red);
}
int Procces_1(int Magic)
{
double slot,ssl,stp,tp,sl,lot,ST,ST1,Y,M,N,C;
if (MyRealOrdersTotal(Magic)==0 && MyPendingOrdersTotal(Magic)==1)
{
DeletePendingOrders(Magic);
return(0);
}
if (MyRealOrdersTotal(Magic)==0 && MyPendingOrdersTotal(Magic)==0 && Hour()>=8)
{
if(LotOptimized==false)
{
lot=FirstLots;
}
else
{
lot=NormalizeDouble((((AccountBalance()*Risk)/100)/LotMargin),2);
if(lot>MarketInfo(Symbol(),MODE_MAXLOT)) lot=MarketInfo(Symbol(),MODE_MAXLOT);
if(lot<MarketInfo(Symbol(),MODE_MINLOT)) lot=MarketInfo(Symbol(),MODE_MINLOT);
}
ST=iStochastic(NULL,PERIOD_H4,14,3,3,MODE_SMA,0,MODE_MAIN,0);
ST1=iStochastic(NULL,PERIOD_H4,14,3,3,MODE_SMA,0,MODE_MAIN,1);
Y= OrderOpenPrice() +(takproft*Point);
M= OrderOpenPrice() -(stp*Point);
N= OrderOpenPrice() -(takproft*Point);
C= OrderOpenPrice() +(stp*Point);
if(ST1<3 && ST>3)
{
OpenBUYOrder(lot,M,Y,Magic);
}
if(ST1>97 && ST<97)
{
OpenSELLOrder(lot,C,N,Magic);
}
}
return(0);
}
if (MyRealOrdersTotal(Magic)==1 && MyPendingOrdersTotal(Magic)==0)
{
OrderSelect(t1,SELECT_BY_TICKET,MODE_TRADES);
slot=NormalizeDouble(OrderLots()*DoubleLot,2);
ssl=OrderStopLoss();
stp=OrderTakeProfit();
if(OrderType()==OP_BUY)
{
sl=OrderOpenPrice();
tp=OrderStopLoss()-(OrderTakeProfit()-OrderOpenPrice());
OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,sl,tp,"",Magic,0,Red);
}
if (OrderType()==OP_SELL)
{
sl=OrderOpenPrice();
tp=OrderStopLoss()+(OrderOpenPrice()-OrderTakeProfit());
OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,sl,tp,"",Magic,0,Green);
}
}
return(0);
}
int MyRealOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();
t1=-1;
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && OrderType()<=OP_SELL)
{
if (t1==-1)
{
t1=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_SELL)
{
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_SELL)
{
OrderDelete(OrderTicket());
}
}
return(0);
}
- 22-04-2010, 04:41 PM #11
- 22-04-2010, 08:37 PM #12
رد: ورشة تطوير اكسبيرت للمضاعفات
مشرفنا العزيز
تم اضافة ستوب وهدف كالتالى
كود PHP:OpenBUYOrder(lot,Ask-(stp*Point),Ask+(takproft*Point),Magic);
كود PHP:OpenSELLOrder(lot,Bid+(stp*Point),Bid-(takproft*Point),Magic);
كود PHP:#property copyright "Eng. Waddah Attar"
#property link "[email protected]"
extern string separator1="--------------take profit and stoploss";
extern double takproft=50;
extern double stp=50;
extern string separator2="---------------- other setting";
extern double FirstLots=0.01;
extern double DoubleLot=2.2;
extern bool LotOptimized=true;
extern double Risk=1;
extern int LotMargin=1000;
extern int MagicNumber = 2009;
int t1;
int init()
{
return(0);
}
int deinit()
{
return(0);
}
int start()
{
Procces_1(MagicNumber);
return(0);
}
void OpenBUYOrder(double Lots,double Stoploss,double Takeprofit , int Magic)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Stoploss,Takeprofit,"",Magic,0,Green);
}
void OpenSELLOrder(double Lots,double Stoploss,double Takeprofit , int Magic)
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Stoploss,Takeprofit,"",Magic,0,Red);
}
int Procces_1(int Magic)
{
double slot,ssl,stp,tp,sl,lot,ST,ST1,Y,M,N,C;
if (MyRealOrdersTotal(Magic)==0 && MyPendingOrdersTotal(Magic)==1)
{
DeletePendingOrders(Magic);
return(0);
}
if (MyRealOrdersTotal(Magic)==0 && MyPendingOrdersTotal(Magic)==0 && Hour()>=8)
{
if(LotOptimized==false)
{
lot=FirstLots;
}
else
{
lot=NormalizeDouble((((AccountBalance()*Risk)/100)/LotMargin),2);
if(lot>MarketInfo(Symbol(),MODE_MAXLOT)) lot=MarketInfo(Symbol(),MODE_MAXLOT);
if(lot<MarketInfo(Symbol(),MODE_MINLOT)) lot=MarketInfo(Symbol(),MODE_MINLOT);
}
ST=iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0);
ST1=iStochastic(NULL,0,14,3,3,MODE_SMA,0,MODE_MAIN,1);
if(ST1<15 && ST>15)
{
OpenBUYOrder(lot,Ask-(stp*Point),Ask+(takproft*Point),Magic);
}
if(ST1>85 && ST<85)
{
OpenSELLOrder(lot,Bid+(stp*Point),Bid-(takproft*Point),Magic);
}
return(0);
}
if (MyRealOrdersTotal(Magic)==1 && MyPendingOrdersTotal(Magic)==0)
{
OrderSelect(t1,SELECT_BY_TICKET,MODE_TRADES);
slot=NormalizeDouble(OrderLots()*DoubleLot,2);
ssl=OrderStopLoss();
stp=OrderTakeProfit();
if(OrderType()==OP_BUY)
{
sl=OrderOpenPrice();
tp=OrderStopLoss()-(OrderTakeProfit()-OrderOpenPrice());
OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,sl,tp,"",Magic,0,Red);
}
if (OrderType()==OP_SELL)
{
sl=OrderOpenPrice();
tp=OrderStopLoss()+(OrderOpenPrice()-OrderTakeProfit());
OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,sl,tp,"",Magic,0,Green);
}
}
return(0);
}
int MyRealOrdersTotal(int Magic)
{
int c=0;
int total = OrdersTotal();
t1=-1;
for (int cnt = 0 ; cnt < total ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if (OrderMagicNumber() == Magic && OrderSymbol()==Symbol() && OrderType()<=OP_SELL)
{
if (t1==-1)
{
t1=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_SELL)
{
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_SELL)
{
OrderDelete(OrderTicket());
}
}
return(0);
}
فهل يمكن معالجة اخطاء ارسال الأوامر؟
- 22-04-2010, 10:57 PM #13
- 22-04-2010, 11:23 PM #14
رد: ورشة تطوير اكسبيرت للمضاعفات
مشرفنا العزيز
راجعت دالة Ordersend
كود PHP:}
if (MyRealOrdersTotal(Magic)==1 && MyPendingOrdersTotal(Magic)==0)
{
OrderSelect(t1,SELECT_BY_TICKET,MODE_TRADES);
slot=NormalizeDouble(OrderLots()*DoubleLot,2);
ssl=OrderStopLoss();
stp=OrderTakeProfit();
if(OrderType()==OP_BUY)
{
sl=OrderOpenPrice();
tp=OrderStopLoss()-(OrderTakeProfit()-OrderOpenPrice());
OrderSend(Symbol(),OP_SELLSTOP,slot,ssl,3,sl,tp,"",Magic,0,Red);
}
if (OrderType()==OP_SELL)
{
sl=OrderOpenPrice();
tp=OrderStopLoss()+(OrderOpenPrice()-OrderTakeProfit());
OrderSend(Symbol(),OP_BUYSTOP,slot,ssl,3,sl,tp,"",Magic,0,Green);
}
}
return(0);
}
Buy
وكماترى ان الأمرين معلقين .... فكيف نستطيع صياغة هذه الفكرة برمجيا بحيث عند الشراء ماركت يفتح بيع معلق وعند البيع ماركت يفتح شراء معلق ؟
المواضيع المتشابهه
-
غرفة تطوير اكسبيرت للمضاعفات
By emadma in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 25آخر مشاركة: 14-12-2009, 10:55 PM -
ورشة عمل في تطوير اكسبيرت FSS EA
By مفلس 1982 in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 8آخر مشاركة: 29-06-2009, 10:03 PM -
مشروع برمجي : اكسبيرت سوبابلكس للمضاعفات
By وضاح عطار in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 135آخر مشاركة: 28-05-2008, 01:31 PM -
ورشة عمل : تطوير استراتيجية الترند المكسور
By ammar2000a70 in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 23آخر مشاركة: 27-12-2005, 11:04 PM