النتائج 106 إلى 120 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 21-01-2008, 11:31 PM #106
رد: موضوع مخصص للأسئلة البرمجية
اشكرك اخي ابو ايمن
لكن قل لي ما المقصود بالعبارة التاليه بالعربي
(StopLoss*Point)
وفعلا قمت بوضع الكود وسأجربه واقول النتيجه
اخي العزيز محمود ما شاء الله عليك حل ممتاز ايضا ولكن كيف تحوله مره اخرى الى تروفي النهايه .
هناك سؤال قريب ايضا اريد ان اضع شرطا ان تكون الشمعه ليست ليموزين يعني فوق 100 نقطه لا ندخل مثلا هل اعمل التالي :
كود PHP:High[0]-Low[0]<100
وتسلممممممممممممممممممممممممممون
- 22-01-2008, 12:21 AM #107
رد: موضوع مخصص للأسئلة البرمجية
اخي الكريم
المقصود بعبارة (StopLoss*Point) هو جعل قيمة الاستوب لوز متناسبة مع الارقام العشرية للزوج (لأن هناك ازواج ذات اربع ارقام عشرية مثل معظم ازواج الدولار ، وهناك ازواج ذات رقمين عشريين مثل ازواج الين).
وبالنسبة لشرط ان تكون الشمعه ليست ليموزين يعني ليست فوق 100 نقطه يكون الشرط
كود PHP:if ((High[1] - Low[1])<100) {buy order or sell order};
هذا ما اعرفه
ولو كان هناك اي خطأ الرجاء التصحيحآخر تعديل بواسطة wajdyss ، 22-01-2008 الساعة 12:24 AM
- 22-01-2008, 12:47 AM #108
رد: موضوع مخصص للأسئلة البرمجية
اخواني الكرام
الرجاء المساعدة في التعديل على كود الاكسبيرت التالي بحيث يجب ان يضع اوردر شراء فوق السعر الحالي بـ 25 نقطة ويضع اوردر بيع تحت السعر الحالي بـ 25 نقطة ، والهدف 105 نقطة والاستوب 20 نقطة، وعند ضرب الاستوب وضع اوردر جديد للصفقة التي خسرت بنفس السعر الذي بدأت منه ، وهكذا حتى تحقيق الهدف ثم حذف جميع الاوردرات المعلقة، ثم اعتماد هذا السعر الجديد ووضع الاوردرات فوقه وتحته للشراء والبيع (البدء من جديد)
مثال: السعر الآن 11100 نضع اوردر شراء عند 11125 واوردر بيع عند 11075 بهدف 105 واستوب 20 ، فرضاً تفعل عقد الشراء عند 11125 ثم ضرب الاستوب نضع اوردر جديد للشراء عند 11125 مرة اخرى ونفس الشيئ للبيع حتى يتحقق هدف احدهما، ولو فرضنا ان هدف الشراء تحقق عند 11230 ، نلغي اي عقود معلقة سابقة ونضع اوردر شراء عند 11255 واوردر بيع عند 11205 وهكذا
ارجو ان يكون الشرح واضح
واي استفسار انا موجود
وجزاكم الله كل خير
وهذا هو الكود
كود PHP:#property link "[email protected]"
extern int Step=25;
extern double stop=0.20;
extern double IncLot=1;
extern double MinProfit=105;
extern int Count=1;
extern int Magic = 2008;
int init()
{
Comment("Waddah Attar Win");
GlobalVariableSet("OldBalance",AccountBalance());
return(0);
}
int deinit()
{
Comment("");
return(0);
}
int start()
{
int i;
double sl,p;
if (AccountEquity()>=GlobalVariableGet("OldBalance")+MinProfit)
{
DeletePendingOrders(Magic);
CloseOrders(Magic);
GlobalVariableSet("OldBalance",0);
}
if (MyOrdersTotal(Magic)>0) return(0);
//if (Hour()!=HourStart) return(0);
GlobalVariableSet("OldBalance",AccountBalance());
for(i=1;i<=Count;i++)
{
p=Bid+(i*Step)*Point;
sl=p+(Step)*Point;
OrderSend(Symbol(),OP_BUYSTOP,(i*IncLot),p,3,p-stop,0,"",Magic,0,Red);
}
for(i=1;i<=Count;i++)
{
p=Bid-(i*Step)*Point;
sl=p-(Step)*Point;
OrderSend(Symbol(),OP_SELLSTOP,(i*IncLot),p,3,p+stop,0,"",Magic,0,Green);
}
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);
}
double MyOrdersProfit(int Magic)
{
double 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_BUY || OrderType()==OP_SELL))
{
c=c+OrderProfit();
}
}
return(c);
}
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);
}
أعرف طبعاً ان هناك اوامر غير مطلوبة يجب حذفها
المهم نتوصل للمطلوب
- 22-01-2008, 09:28 PM #109
رد: موضوع مخصص للأسئلة البرمجية
حياكم يا اخوان وبياكم
اخي الكريم وجدي بصراحه سؤالك صعب علي وياليت احد الاخوان يفيدك كان بودي اساعد
بالنسبه لاجابتك حول شمعة الليموزين فانا فعلا حاط المعادله واجرب بيها بنفس الهيئه ومشكور على الاجابه .
اخي ابو ايمن بالنسبه للتجربه حول الدخول مرتين لنفس الشمعه جربت المعادله ولكن للاسف لازال ياخذ مرتين عندما يضرب الاستوب اعتقد بان هناك خطأ عندي للاقواس ساعدلها واخبرك ان نجحت مشكور وتسلمممممممممممون جميعا
- 22-01-2008, 10:17 PM #110
- 23-01-2008, 10:08 PM #111
رد: موضوع مخصص للأسئلة البرمجية
بصراحه اخي وجدي ملاحظتك هي ايضا افكر فيها فكيف نعرف المئة نقطه الفرق بين سعر الهاي واللو للاكسبيرت يمكن معادلتك الاخيره مضبوطه مع اضافة point مع 100نقطه ويمكن احد يفيدنا اكثر وتسلم وتسلممممون
- 24-01-2008, 12:15 AM #112
رد: موضوع مخصص للأسئلة البرمجية
السلام عليكم و رحمة الله و بركاته:
بصراحة النقاش مفيد جدا................ و شكرا لصاحب الفكرة
- 24-01-2008, 10:15 AM #113
رد: موضوع مخصص للأسئلة البرمجية
أخي الكريم ماجد
بالنسبة لتمييز شمعة اليموزين يتم كما قال الاخ وجدي و يجب ضرب القيمة بالنقطة Point لأنك لو لم تضربها فسيقرأها البرنامج على أنها 100.0000
يعني لو تعمل على ازواج الين فيريد البرنامج بهذه الحالة عشرة الاف نقطة ليعتبرها شمعة ليموزين أما عند ضربها بقيمة النقطة تصبح 1.00 في ازواج المجنون يعني مئة نقطة
ان كنت تريد حساب شمعة اليموزين بناء على الهاي و اللو فهذا الكود نفس طود الاخ وجدي
كود PHP:if(High[1]-Low[1]<100*Point) { buy or sell;}
كود PHP:if(Open[1]>Close[1] && Open[1]-Close[1]<100*Point) { buy or sell ;}
if(Open[1]<Close[1] && Close[1]-Open[1]<100*Point) { buy or sell ;}
أظنك تعمل على التقاطعات أو ماشابه من المؤشرات يعني فرصة شراء يليها فرصة بيع و هكذا
لذا سأسهل عليك الامر
ضع هذا الكود في أعلى البرنامج و هو تعريف متغير للشراء و متغير للبيع
كود PHP:bool buy=true,sell=true;
كود PHP:if( شرط الشراء && buy==true)
{
OrderSend(>>>>>>>
buy=false;
sell=true;
}
كود PHP:if( شرط البيع && sell==true)
{
OrderSend(>>>>>>>
sell=false;
buy=true;
}
أرجو أن أكون قد أفدتك
تقبل تحياتي
- 24-01-2008, 03:29 PM #114
رد: موضوع مخصص للأسئلة البرمجية
اين انت يا مهندس وضاح؟
لقد قلت لي حاول ، وأنا فعلاً حاولت وقمت ببعض التغيرات ، والكود التالي هو آخر ما توصلت اليه (رحم الله امرئ عرف قدر نفسه ففوقف عند حده) ولا استطيع ان اعدل عليه أكثر من ذلك
كود PHP:
#property link "[email protected]"
extern int Step=25;
extern int Stop=25;
extern double IncLot=1;
extern double MinProfit=100;
extern int Count=1;
extern int Magic = 2008;
int init()
{
Comment("Waddah Attar Win");
GlobalVariableSet("OldBalance",AccountBalance());
return(0);
}
int deinit()
{
Comment("");
return(0);
}
int start()
{
int i;
double sl,p,profit;
if (AccountEquity()>=GlobalVariableGet("OldBalance")+MinProfit)
{
DeletePendingOrders(Magic);
CloseOrders(Magic);
GlobalVariableSet("OldBalance",0);
}
if (MyOrdersTotal(Magic)>0) return(0);
//if (Hour()!=HourStart) return(0);
GlobalVariableSet("OldBalance",AccountBalance());
for(i=1;i<=Count;i++)
{
p=Bid+(i*Step)*Point;
sl=p-(Stop)*Point;
profit=p+(MinProfit)*Point;
OrderSend(Symbol(),OP_BUYSTOP,(i*IncLot),p,3,sl,profit,"",Magic,0,Red);
}
for(i=1;i<=Count;i++)
{
p=Bid-(i*Step)*Point;
sl=p+(Stop)*Point;
profit=p-(MinProfit)*Point;
OrderSend(Symbol(),OP_SELLSTOP,(i*IncLot),p,3,sl,profit,"",Magic,0,Green);
}
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);
}
double MyOrdersProfit(int Magic)
{
double 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_BUY || OrderType()==OP_SELL))
{
c=c+OrderProfit();
}
}
return(c);
}
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);
}
الرجاء من المبرمجين التعديل عليه ليفي بالشرح الموجود في الاقتباس أعلاه والموجود أيضاً في المشاركة رقم 108
وشكراً مقدماًآخر تعديل بواسطة wajdyss ، 24-01-2008 الساعة 03:37 PM
- 24-01-2008, 04:17 PM #115
رد: موضوع مخصص للأسئلة البرمجية
هناك طرق كثيرة لمعالجة مشكلة الدخول مع التقاطع أكثر من مرة
أفضل شيء هو حفظ قيمة زمن الدخول في الصفقة في متحول ما .
ثم عند الدخول في صفقة نضيف شرط فحص زمن الدخول الجديد مع قيمة المتحول .
ويجب أن يكون الفرق بينهما أكبر من الفترة التي نريدها .
في الدورة البرمجية المثبتة هناك درس كامل عن الوظائف الزمنية
أنصحكم بقرائته ثم محاولة تكوين هذا الكود بأنفسكم .
- 24-01-2008, 04:51 PM #116
- 24-01-2008, 04:53 PM #117
رد: موضوع مخصص للأسئلة البرمجية
سبحان الله!!
طرحت استفساري السابق ووجدت أن الأستاذ وضاح تكلم عن الوظيفة Sleep على هذه المشاركة منذ 20 دقيقة تقريبًا!
توافق عجيب
- 25-01-2008, 12:58 AM #118
رد: موضوع مخصص للأسئلة البرمجية
مشكور يا الحبيب محمود على ما تفضلت به فعلا ماشاء الله عليك مبرمج
ساحاول في الاول تطبيق الطريقه مع شرط 100 نقطه لليموزين و20 نقطه للاستوب لوز فاذا لم تنجح ساحاول عمل الخطوات التي ذكرتها ما شاء الله عليك.
اخي ابو ايمن بالنسبه لوضع مسمى استوب لوس بيونت لم تنجح الطريقه ولا زال يأخذ اكثر من عمليه عموما استبدلت الاستوب لوس بعدد من النقاط كما ذكرت بالاعلى وساحاول تطبيقه واعطيكم النتائج .
ياجماعه لاتنسو سؤال الحبيب وجدي وتسلممممممممممممممممممون على كل شي
- 27-01-2008, 12:26 AM #119
- 29-01-2008, 07:57 PM #120
رد: موضوع مخصص للأسئلة البرمجية
السلام عليكم
انا مبتدأ في البرمجة وقد حاولت تعديل اكسبيرت MACD sample
للحصول على اكسبيرت يبيع ويشتري حسب اشارات الماكد فقط النتيجة المبدئية جيدة لمبتديء مثلي
لي سؤال كيف يمكن مضاعفة اللوت في الدخول فقط اذا ضرب الاستوب ويستمر يضاعف كلما ضرب الاستوب حتى يصل البروفت ثم يبدأ بلوت واحد من جديد
وهذا الكود اللي عدلته مع الاعدادات للمجنون في المشاركة اللاحقة
والفضل لله
ثم للقائمين على هذا المنتدى
انشالله نتعلم البرمجة على ايديكم
شكرا مقدماآخر تعديل بواسطة Al-Mosuli ، 29-01-2008 الساعة 08:07 PM
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM