النتائج 16 إلى 26 من 26
الموضوع: مؤشر الورشة الكراونية
- 15-12-2011, 08:54 PM #16
تفضل المؤشر في المرفقات
بالنسبه للجزء الأول وهو إستخدام الحلقات لإستخراج أعلى هاي وأقل لو فلست بحاجه إلى إستخدامه فأنت فقط ستزيد تعقيد الكود فالأسهل لك هو إستخدام الداله iHighest و iLowest مباشرة
كود PHP:double mHh21=High[iHighest(Symbol(),1,MODE_HIGH,60,0)];
double mLh21=Low[iLowest(Symbol(),1,MODE_LOW,60,0)];
الجزء الآخر وهو حساب أعلى هاي وأقل لو بعد ظهور السهم
فيمكنك تعريف متغير DateTime بحيث عندما يظهر السهم يأخذ هذا المتغير قيمة توقيت الشمعه التي ظهر بها السهم
كود PHP:SellArrow=Time[0];
كود PHP:if(SellArrow!=0){
double HHigh=High[iHighest(Symbol(),1,MODE_HIGH,BarH,0)];
Level("HUp", HHigh+Up*Point*Q,Green,day_Line_Width);
Level("HDn", HHigh+Down*Point*Q,Green,day_Line_Width);
}
if(BuyArrow!=0){
double LLow=Low[iLowest(Symbol(),1,MODE_LOW,BarL,0)];
Level("LUp", LLow+Up*Point*Q,Green,day_Line_Width);
Level("LDn", LLow+Down*Point*Q,Green,day_Line_Width);
}
بالنسبه للإكسبرت فسوف نحتاج إلى عمله في إكسبرت مستقل وليس أن نضع أوامر الدخول والخروج في نفس المؤشر
- 15-12-2011, 11:31 PM #17
الف الف مليون شكرا لك يا استاذنا علي التعديل بارك الله فيك وجعله الله في ميزان حسناتك
انا الان اجرب المؤشر بعد التعديل ولكن عندي سؤال
ما هو الفرق بين ما تفضلت حضرتك بالغاءه من برمجتي وهو الاتي
for(int k=0;k<100;k++)
for(int j2=0;j2<60;j2++)
{
datetime dt2 = iTime(NULL,1,60);
double O1h21 = iOpen(NULL,1,iBarShift(NULL,1,dt2)-j2);
double mHh21 = iHighest(NULL,1,iBarShift(NULL,1,dt2)-j2);
double mLh21 = iLowest(NULL,1,iBarShift(NULL,1,dt2)-j2);
if (mLh21>L1h21) mLh21 = L1h21;
if (mHh21<H1h21) mHh21 = H1h21;
وبين السطرين الذين تفضلت حضرتك باضافتهم و هم
double mHh21=High[iHighest(Symbol(),1,MODE_HIGH,60,0)];
double mLh21=Low[iLowest(Symbol(),1,MODE_LOW,60,0)];
لان هذا التعديل هو فعلا رائع واعطي دقة اعلي في الباك تست بالنسبة لرسم الاسهم كاشارات بيع و شراء ولكنه سيهدم استراتيجيتي بالكامل في اسلوب تحديد الهدف
اريد ان افهم الفرق بعد اذن حضرتك حتي استطيع ان اوضح لك اين المشكلة لكي يمكن الوصول الي حل يجمع بين الميزتين
والف الف شكر مقدما يا استاذنا
- 15-12-2011, 11:37 PM #18
لا اعرف ان كان كلامي مضبوط ام لا
ولكن الجزء المعلم بالحمر اعتقد ان البرنامج يحسب اعلي نقطة و اقل نقطة بعد ظهور السهم ولكن اعتقد ان المشكلة هي انه يستخدمها داخل البرنامج بالكامل
انا اريد اعلي نقطة و اقل نقطة خلال 60 دقيقة كشئ لوحده يدخل في البرنامج اما اعلي نقطة بعد تكون السهم فغرضها رسم الخطين الموضحين في هذا الامر
Level("HUp", HHigh-Up*Point*Q,Green,day_Line_Width);
Level("HDn", HHigh-Down*Point*Q,Green,day_Line_Width);
}
if(BuyArrow!=0){
double LLow=Low[iLowest(Symbol(),1,MODE_LOW,BarL,0)];
Level("LUp", LLow+Up*Point*Q,Green,day_Line_Width);
Level("LDn", LLow+Down*Point*Q,Green,day_Line_Width);
}
وشكرا لك علي مجهودك في تعليمنا
- 15-12-2011, 11:51 PM #19
اعتذر عن هذه المشاركة فانا لم انتبه الي شرحك
الهاي لل 60 دقيقة غير الهاي بعد السهم اعتذر عن اللبس
لكن الاهم الان ما الفرق بين اسلوب الحلقات الذي كتبته انا وبين الاوامر التي استبدلتها حضرتك
لانها افقدتني واحدة من اهم مميزات الاستراتيجية
فهل ممكن العودة مرة اخري للحلقات
او تعلمني حضرتك ما الفرق حتي اصل الي المشكلة واعرضها علي حضرتك مرة اخري
تحياتي لاستاذنا
- 16-12-2011, 03:41 PM #20
الفرق فقط أننا عندما نحاول كتابة أي كود سواء عمل إكسبرت أو مؤشر نبحث عن أسهل وأبسط الطرق حتى لا تستهلك جزء كبيرة من الذاكره
بالنسبه لطريقتك فهي صحيحه لكن لماذا أستخدم الحلقات بحيث يظل يقارن بين كل شمعه والسابقه لها خلال 60 شمعة حتى يبحث عن أعلى وأقل شمعه في حين أنه يوجد داله مباشرة تمكنني من إستخراج أعلى هاي وأقل لو خلال الفتره التي أريد تحديدها مباشره
وإذا أردت يمكنك إلغاء هذا الجزء وإستخدام الحلقات لن تختلف النتيجه
- 16-12-2011, 04:49 PM #21
لا اعرف استاذنا حضرتك تقول انه لا يوجد فرق و لكن في المؤشر تغيرت تماما القيم التي تذهب الي up , down
مما اثر علي الاستراتيجية بالكامل
رجاء استاذنا اعادة الحلقات مرة اخري مع الاحتفاظ بجميع التعديلات الاخري كما هي ( و منها اجراء الباك تست لفترة طويلة )
رجاء لحضرتك تجربه باك تست ليوم سابق فقط علي الاقل
ثانيا حضرتك قلت لا يمكن عمل اكسبرت علي نفس المؤشر.... ممكن حضرتك تشرح لي لماذا لا يمكن
والف شكر استاذنا علي مساعدتك
- 16-12-2011, 04:55 PM #22
- 16-12-2011, 05:21 PM #23
يااخوانا ماتفهمونا معاكم في هذا المجال الكبيره
- 17-12-2011, 01:02 AM #24
Level("HUp", HHigh+Up*Point*Q,Red,day_Line_Width);
Level("HDn", HHigh+Down*Point*Q,Red,day_Line_Width);
استاذي العزيز
هذا الامر الذي اضفته حضرتك هو المسئول عن رسم الهدف الاول و الثاني بعد ظهور السهم
وهو يحدد عدد نقاط معين من سعر ظهور السهم و حتي الهدف عند احد الخطين
اريد بعد اذنك الا يتكرر السهم الا بعد ان ينعكس السعر عن نقطة ظهور اول سهم بالمقدار الموضح في المعادلة التي تحدد الهدف
بمعني ظهر السهم عند 3400 مثلا
الهدف شراء و طبقا للمعادلة الاتية
Level("HUp", HHigh+Up*Point*Q,Red,day_Line_Width); يكون الهدف 40 نقطة مثلا اي 3440 مثلا
اريد الا يظهر السهم الثاني الا بعد انعكاس السعر بمقدار الهدف اي 40 نقطة
يعني لا يظهر السهم الثاني الا عند 3360
ولا يظهر الثالث الا عند 3320 و هكذا لانها ستكون نقاط تعزيز
و الف شكر لك استاذنا
- 17-12-2011, 01:12 AM #25
- 24-12-2011, 04:29 PM #26
السلام عليكم
جزاكم الله خيرا اخواني الكرام على المجهود الكبير
جربت المؤشر المرفق في هذه المشاركة
https://forum.arabictrader.com/t134746.html#post2264878
جربته على الباك تست ، لا يعطي اي شئ، وكانه غير موجوده، هل هناك اي خطوات مطلوبة ؟