النتائج 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);
}
}
}
كود 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 وأعطيناها القيم التاليه
كود PHP:openprice=OrderOpenPrice();lots=OrderLots();
الجزء الثاني من الكود
كود 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);
}
كود 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;
كود 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;}
كود 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 يظهر لنا في الباك تست بعد فترة خطأ كما هو ظاهر بالصورة المرفقة.
مع أنه النتائج بهذا الرقم كانت ممتازة لكن توقف الباكتست غريب ... مع خالص الشكر
الزوج صاحب الاختبار هو الدولار ين
- 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