النتائج 2,206 إلى 2,220 من 10289
الموضوع: موضوع مخصص للأسئلة البرمجية
- 04-06-2012, 09:36 PM #2206
إستخدام للحلقه صحيح لكن في المكان الخاطئ
أنت تريد معرفة قيم المؤشر لآخر عدد محدد من الشموع ولنفرض للمؤشر الأول
الشرط سيكون كالآتي
سوف نفرض أن القيمه المبدئيه
كود PHP:bool buyconfirm=true,sellconfirm=true;
كود PHP:for(i=0;i<ConfirmBars;i++){
double Confirm2_B=iCustom(Symbol(),0,"confirm2",0,i);
double Confirm2_R=iCustom(Symbol(),0,"confirm2",1,i);
if(Confirm2_B>5000)buyconfirm=false;
if(Confirm2_S>5000)sellconfirm=false;
}
- 04-06-2012, 10:13 PM #2207
يعني الفرض ده يكون داخل الحلقة ؟ ولا خارج إستارت ؟
bool buyconfirm=true,sellconfirm=true;
وعملت الحلقة بالشكل ده فهل كده صح ؟
كود PHP:for(i=0;i<ConfirmBars;i++){
//Confiem2_Ind
if(Confirm2==true){
double Confirm2_B=iCustom(Symbol(),0,"confirm2",0,i);
double Confirm2_R=iCustom(Symbol(),0,"confirm2",1,i);
if(Confirm2_B>10000){buySignal1=false;}
if(Confirm2_R>10000){sellSignal1=false;}
}
//Comfirm3_Ind
if(Confirm3==true){
double Confirm3_1B=iCustom(Symbol(),0,"confirm3",0,i);
double Confirm3_2B=iCustom(Symbol(),0,"confirm3",3,i);
double Confirm3_1R=iCustom(Symbol(),0,"confirm3",1,i);
double Confirm3_2R=iCustom(Symbol(),0,"confirm3",4,i);
if(Confirm3_1B>10000 && Confirm3_2B>10000){buySignal2=false;}
if(Confirm3_1R>10000 && Confirm3_2R>10000){sellSignal1=false;}
}
//Ultra-Filter
if(UltraFilter==true){
double UltraF_B=iCustom(Symbol(),0,"Ultra-Filter",1,i);
double UltraF_R=iCustom(Symbol(),0,"Ultra-Filter",0,i);
if(UltraF_B<1){buySignal3=false;}
if(UltraF_R<1){sellSignal3=false;}
}
//Trend Analysis 1
if(TrendAnalysis1==true){
double Trend1_B=iCustom(Symbol(),0,"Trend Analysis 1",1,i);
double Trend1_R=iCustom(Symbol(),0,"Trend Analysis 1",2,i);
if(Trend1_B>10000){buySignal4=false;}
if(Trend1_R>10000){sellSignal4=false;}
}
//Trend Analysis 2
if(TrendAnalysis2==true){
double Trend2_B=iCustom(Symbol(),0,"Trend Analysis 2",0,i);
double Trend2_R=iCustom(Symbol(),0,"Trend Analysis 2",1,i);
if(Trend2_B>10000){buySignal5=false;}
if(Trend2_R>10000){sellSignal5=false;}
}
//Ultra-Signal
if(UltraSignal==true){
double UltraS_B=iCustom(Symbol(),0,"Ultra-Signal",1,i);
double UltraS_R=iCustom(Symbol(),0,"Ultra-Signal",0,i);
if(UltraS_B>10000){buySignal6=false;}
if(UltraS_R>10000){sellSignal6=false;}
}
}
آخر تعديل بواسطة xcv114 ، 04-06-2012 الساعة 10:20 PM
- 04-06-2012, 11:52 PM #2208
رد:موضوع مخصص للأسئلة البرمجية
استاذ أسامة ، الخطـأ التالى يظهر عند عمل الاكسيبرت ، ما سبب الخطـأ وكيف اتغلب على مشكلة ظهور هذا الخطـأ .
كود PHP:order send error 129
كود PHP:RefreshRates();
قبل أمر OrderSend
ولكن أنا لم أفهم لماذا ، وما فائدتها ، وانا قمت سابقـا بإضافة NormalizeDouble ، digits والمفترض لايظهر هذا الخطـأ !!
- 05-06-2012, 03:28 AM #2209
- 05-06-2012, 12:02 PM #2210
السلام عليكم اخى اسامة
اريد دالة لمعرفة السعر عند اى تايم على الفريم المستخدم
مثال لو فرضنا الفريم ساعة
لو وضعت تايم 0 معنى هذا سينتج لى سعر افتتاح الشمعه ولو وضعت التايم 3600 يبقى هايعطينى سعر الأغلاق وأيضا عند وضع اى تايم يعطينى السعر عند هذا التايم بالنسبة للشمعه الحالية
- 05-06-2012, 02:29 PM #2211
- 05-06-2012, 06:42 PM #2212
إستخدمت Print لطباعة السعر الذي يظهر خطأ وأرفق صوره لأن الخطأ لم يظهر عندي
كود PHP:RefreshRates();
- 05-06-2012, 06:44 PM #2213
إذا كنت تقصد السعر الحالي فالسعر الحالي سيكون هو نفسه عند أي تايم فريم وسيكون هو سعر البيد
أما إذا كنت تقصد الإغلاق والإفتتاح فمثلا بالنسبه للإغلاق
كود PHP:iClose(Symbol(),0,1);
1 هو رقم الشمعه
- 05-06-2012, 06:59 PM #2214
رد:موضوع مخصص للأسئلة البرمجية
الخطـأ ظهر مع أحد الأخوه عند العمل لايف بالاكسيبرت على منصة FXDD ، مرفق الصورة
وهل يمكن ان يكون موضوع الإكسبرت يستغرق وقت طويل في حساباته لدرجة أن البيانات قد تتغير قبل أن ينتهي الإكسبرت من عمله ، هو السبب فـ حدوث ذلك الخطـأ !! ويجب إضافة دالة
كود PHP:RefreshRates();
- 05-06-2012, 07:31 PM #2215
- 05-06-2012, 07:45 PM #2216
- 05-06-2012, 08:44 PM #2217
رد:موضوع مخصص للأسئلة البرمجية
سوف أقوم بإضافة ماذكرت ولكن كم يكون السليبج المطلوب فـ هذه الحالة حتى نتأكد من أنه سيعمل بشكل صحيح ، هل نضعه 50 مثلا بدلا من 5 !!
ولى طلب آخر استاذ أسامة ، أرجو ان تشرح لى كيف يمكن إضافة دالة RefreshRates قبل أمر OrderSend لأنى أريد إضافة الدالة للإكسيبرت المرفـق .
- 05-06-2012, 10:35 PM #2218
جرب زيادته إلى 50 لا يوجد مشكله
لنفرض مثلا أنك تريد محاولة فتح الصفقه إذا لم تفتح الصفقه وفي كل مره تنتظر 10 ثواني قبل تكرار المحاوله
كود PHP:while(true)
{
ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0,"expert comment",255,0,CLR_NONE);
if(ticket<=0)
{
Sleep(10000);
RefreshRates();
}
else break;
}
أو مثلا لو أنك قبل فتح الصفقه سوف تستخدم حلقه للبحث عن جزء معين وهذه الحلقه سوف تستغرق وقت طويل
كود PHP:for(int i=1;i<10000;i++){
//do something
}
RefreshRates();
ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0,"expert comment",255,0,CLR_NONE);
- 05-06-2012, 11:42 PM #2219
رد:موضوع مخصص للأسئلة البرمجية
قمت بعمل التعديل المطلوب وأرجو مراجعة الاكسيبرت ومعرفة هل تم التعديل بشكل صحيح .
ولى سؤال هل يمكن وضع الأكواد التالية داخل حلقة while ، أم يفضل تركها خارج الحلقة
كود PHP:if(ticket<0)Alert("Order Send Error "+GetLastError(),"open price for the order"+OrderOpenPrice());
OrderModify(ticket,OrderOpenPrice(),NormalizeDouble(SL,digits),NormalizeDouble(TP,digits),0,Blue);
GlobalVariableSet("T"+Symbol(),Time[0]);
- 06-06-2012, 01:41 PM #2220
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم استاذ اسامه
والله انا اثقلت عليك كثيرا ولكني طامع بكرمك معنا وحبك لمساعدتنا.
بعد عدة تجارب لمدة طويلة اثبت فيها هذا الاكسبيرت نجاحه في موضوع https://forum.arabictrader.com/t141767-9.html رغم تقلبات السوق العنيفة في هذه الايام و اثبت نجاحه على الباك تيست ... لكن يوجد هناك خطأ برمجي صغير جدا ارجو منك ان تعمل على تصليحه وسوف اشرحه لك بالتفصيل لكي تقوم بتعديله ...
الاكسبيرت حسب هذه الاعدادات التالية :-
Multiplier By Range EA V2 inputs:
StartHour=0; EndHour=23; RangePercent=150; Multiplier=2; Lots=0.2; RiskPercent=6; Range_Percent_TP=30; MagicNumber=2533;
لو تلاحظ معي اخي اسامة بأن المتغيرات الموضحة بلون الاحمر تعني ان عندما يتخطى 150% من الرينج اليومي سوف يقوم بالدخول في اول صفقة، وفقا لذلك سوف يجني الربح بعد 30% من دخوله ، ولكن النسبة المئوية او المتغير Range_Percent_TP=30 لا يرتبط بالمتغير RangePercent=150 بل مرتبط بالرينج اليومي الذي يحسبه range=iATR اي مهما عدلت بنسبة الدخول سوف تكون النتيجة فقط بتأخير الدخول فقط ولن تتغير نسبة جني الارباح وفقا لنسبة المئوية للدخول.
وانت تعرف بأن الاستراتجية معتمدة على مضاعفات يعني سوف يكون هناك فرق كبير جدا بأن يحسب على الرينج اليومي وليكن مثلا 28.2 نقطة الرينج اليومي 94 ( 94*30%=28.2 نقطة )
وبين 42.3 نقطة نسبة الرينج اليومي الذي انا احدده 150%
تمثل (94 نقطة*150% = 141) اي بعد 141 نقطة وهذا الفرق سوف يؤثر تأثير كبير جدا على الاول و الدخول الثاني والثالث وعلى جني الارباح لانه يستخدم النسبة المئوية في الاعتماد على الدخول الثاني والثالث
أرجو ان اكون وفقت بشرح الخطأ البرمجي واليك الصورة لتوضيح ما ذكرت ومرفق ايضا اخر نسخة من الاكسبيرت
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM