النتائج 2,611 إلى 2,625 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 14-08-2012, 01:16 PM #2611
ما السبب فى بعض الاكسبرتات فى انها لا تفتح صفقات عند وضعها على الشارت على لرغم انها تفتح صفقات دون اى مشاكل فى الباك تيست ؟؟
- 14-08-2012, 03:16 PM #2612
- 14-08-2012, 10:50 PM #2613
- 15-08-2012, 12:32 AM #2614
رد:موضوع مخصص للأسئلة البرمجية
استاذ اسامة ، أرجو الرد على مشاركتي السابقة بارك الله فيك
https://forum.arabictrader.com/showt...=1#post2477603
- 15-08-2012, 01:45 AM #2615
لإنك بهذه الطريقة جعلته كمتغير محلي وبالتالي في كل مره تعمل الداله start سوف تتحول قيمة المتغير إلى القيمه الإفتراضيه له وبالتالي سوف يتغير رقم التيكيت
لكن أنت تقصد في الإكسبرتات الأخرى التي كنا نستخدم أمر مودفاي مباشرة بعد فتح الصفقه وليس إنتظار شروط معينه لتتحقق قبل عمل مودفاي للأمر
بالنسبه للداله فأنا أرفقت لك مثال عليها في المشاركه السابقه
- 15-08-2012, 04:33 AM #2616
اخواني الافاضل عندي مشكله في بعض الدوال الموجوده بالمنتدى على سبيل المثال الامر التالي
if(UseMultiplier){
if(WinorLoss()==false){Lots=MathMin(lastlot()+ Multiplier,MarketInfo(Symbol(),MODE_MAXLOT));}
if(WinorLoss()==true){Lots=Firstlot;}
}
المفروض انها تضاعف اذا الصفقه الاخيره خسرانه كلام جميل طبعا عن طريق استدعاء الفنكشن winorloss وتتحقق
المشكله عندي اذا كانت رابحه المفروض انها ترجع اللوت الاصلي
للتوظيح انا ادخل بصفقه عند ربح عدد معين من النقاط اجني الربح ويتم الدخول شراء مره اخرى بنفس الاتجاه على طول لانه الشروط تدعم الدخول الي حاصل انه يستمر في المضاعفه ولا يرجع الي اللوت الاصلي لانه الهستري يتاخر في البيانات والشراء يكون اسرع من قراءة الهستري عند جني الربح مره اخرا يرجع للوت الاصلي لانه استطاع ان يقرا العقد الرابح قبل الاخير
bool WinorLoss(){
bool win=true;
for(int i=0;i<OrdersHistoryTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()){
if(OrderProfit()>0){
win=true;
}
else{
win=false;
}
}
}
return(win);
للعلم انا استخدم جني الربح عن طريق الهايدن تارقت وليس عن طريق العقد الاولي
هل فيه عمليه اقدر احدد العمليه السابقه ربحانه او خسرانه غير طريق الهستري لاني اشوفها تتاخر عملية التحقق من اخر امر
ولكم تحياتي
- 15-08-2012, 04:54 AM #2617
رد:موضوع مخصص للأسئلة البرمجية
يمكنك تعريف متغير مثلا double profit; خارج الدوال الرئيسية
وتقوم بالتعديل في دالة الهيدن تيك بروفت والهيدن الأستوب لوز
بالشكل ده مثلا
كود PHP:int CloseBuysOnHiddenTP()
{
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))
{
Profit=OrderProfit();
OrderClose(OrderTicket(),OrderLots(),Bid,3);
}
}
}
return(0);
ثم تقوم بإضافته في شروط تحديد قيمة اللوت بدل من WinorLoss
بحيث لو Profit>0 يستخدم اللوت العادي
ولو Profit<0 يستخدم المضاعفات
--------------------------------------
ده شرح سريع كده بس طبعا إنت هتستخدم متغيرين لعمليات الشراء مثلا BProfit وتستخدمه في دالة إغلاق الهيدن تيك بروفت للشراء وتستخدمه هو أيضا في دالة الهيدن أستوب لوز للشراء .... وتضعه في شروط تحديد اللوت للشراء
ولعمليات البيع SProfit وتستخدمه في دالة إغلاق الهيدن تيك بروفت للبيع وتستخدمه هو أيضا في دالة الهيدن أستوب لوز للبيع.... وتضعه في شروط تحديد اللوت للبيع
- 15-08-2012, 05:29 AM #2618
كلام جميل يا بش مهندس انا فكرت اني اعدل اللوت داخل دالت الهايدن بعد ما يتنفذ الامر يرجع للوت الاصلي بس كنت مستغرب ليش العمليه تتاخر بالهستري
انا فكرت في طريقه للمضاعفات لكن تصلح لبعض استراتيجات السكابلنك لاخفف عدد العقود الكلي لكن خطره حبتين كنت ناوي ادمجها مع دالة winorloss
الفكره كالتالي الصعود 1 2 3 4 والنزول بالعكس 4 3 2 1
لانه مثلك عارف عقود المضاعفات المربح والخطر هوا 1 2 4 8 16 ومحتاج مارجت عالي
فكرتي اذا دخلنا 1 2 3 4 عند العقد الرابع لابد اجتياز مسافه طويله لتحقيق خسارت العقود السابقه ممكن تاتي وممكن لا لذلك فكرت اني اجزء المسافه بعقود تنازليه مع ضمان الربح البسيط عن كل عقد
- 15-08-2012, 06:04 AM #2619
رد:موضوع مخصص للأسئلة البرمجية
استاذ اسامة فـ مؤشرات الملتى تايم فريم المفترض بعد إستخدام دالة iBarShift تثبت الإشارة وانا استخدمت الدلة فـ المتغيرات التالية ، ولكن الإشارة فـ بعض الأحيان تختفى وتظهر مرة أخرى ، مالسبب ، وهذه المشكلة ظهرت فـ أكثر من مؤشر من قبل !!
كود PHP:double SAR1=iSAR(NULL,0,0.02,0.2,i);
double SAR2=iSAR(NULL,0,0.02,0.2,i+1);
shift=iBarShift(Symbol(),SAR_TIME_FRAME_1,Time[i],false);
double SAR11=iSAR(NULL,SAR_TIME_FRAME_1,0.02,0.2,shift);
double SAR22=iSAR(NULL,SAR_TIME_FRAME_1,0.02,0.2,shift+1);
shift=iBarShift(Symbol(),SAR_TIME_FRAME_2,Time[i],false);
double SAR111=iSAR(NULL,SAR_TIME_FRAME_2,0.02,0.2,shift);
double SAR222=iSAR(NULL,SAR_TIME_FRAME_2,0.02,0.2,shift+1);
shift=iBarShift(Symbol(),SAR_TIME_FRAME_3,Time[i],false);
double SAR1111=iSAR(NULL,SAR_TIME_FRAME_3,0.02,0.2,shift);
double SAR2222=iSAR(NULL,SAR_TIME_FRAME_3,0.02,0.2,shift+1);
shift=iBarShift(Symbol(),SAR_TIME_FRAME_4,Time[i],false);
double SAR11111=iSAR(NULL,SAR_TIME_FRAME_4,0.02,0.2,shift);
double SAR22222=iSAR(NULL,SAR_TIME_FRAME_4,0.02,0.2,shift+1);
shift=iBarShift(Symbol(),SAR_TIME_FRAME_5,Time[i],false);
double SAR111111=iSAR(NULL,SAR_TIME_FRAME_5,0.02,0.2,shift);
double SAR222222=iSAR(NULL,SAR_TIME_FRAME_5,0.02,0.2,shift+1);
shift=iBarShift(Symbol(),SAR_TIME_FRAME_6,Time[i],false);
double SAR1111111=iSAR(NULL,SAR_TIME_FRAME_6,0.02,0.2,shift);
double SAR2222222=iSAR(NULL,SAR_TIME_FRAME_6,0.02,0.2,shift+1);
- 15-08-2012, 07:58 PM #2620
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمه الله .
تقبل الله من ومنكم صالح الاعمال والصيام.
عندي سؤاليين.
1- ماذا تعني رمز الدائره الرماديه في الجورنال هل تعتيبر خطاء ام هي مثل المثلت الاصفر يعني شي عادي؟
2-اريد التعديل على كود البريك ايفن بحيث movestopto يقبل اي قيم سواء اكبر او اقل من الصفر حاليا الكود لايقبل ويظهر الخطاء رقم 1 عند وضع قيم سالب واحيانا حتى عند وضع قيم بالموجب يظهر الخطاء رقم 130 علما ان مثل هذه المشاكل لاتوجد في كود الاستوب المتحرك فهو يقبل اي قيم سواء موجب اوسالب.
لكم خالص الشكر والتقدير.
- 15-08-2012, 09:39 PM #2621
اعتقد اني وجدت المشكله لانه امر اغلاق الهايدن تحت الملتي بلاي فنكشن فينفذ امر الشراء قبل ان يتعرف على الملتي بلاي فنكشن فالمشكله ترتيب دوال والله اعلم
if(HideSL&&StopLoss>0)
{CloseBuyOrdersHiddenSL();CloseSellOrdersHiddenSL( );}
if(HideTP&&TakeProfit>0)
{CloseBuyOrdersHiddenTP();CloseSellOrdersHiddenTP( );}
- 16-08-2012, 01:32 AM #2622
لن تثبت الإشارة إلى بعد إنتهاء شمعة التايم الفريم الكبير فمثلا إذا كان المؤشر على فريم الساعه والتايم فريم هو الأربع ساعات فيجب أن تنتهي الأربع ساعات حتى تثبت الإشاره
فمثلا في هذا الكود
كود PHP:shift=iBarShift(Symbol(),SAR_TIME_FRAME_1,Time[i],false);
كذلك الشمعه رقم 2 و 3 و 4 هي الشمعه رقم 0 على فريم الأربع ساعات
فإذا أردت أن تثبت الإشارة يجب أن تعتمد على الشمعه التي أغلقت على الفريم الكبير
- 16-08-2012, 05:16 PM #2623
رد:موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمة الله
استاذي مستر دولار الرجاء مراجعة هذا الكود
كود اوردر بيع بعد التعديل الى ECN
void SellOrder11()
{
double SL = Bid + SellStoploss11*PipValue*Point;
if (SellStoploss11 == 0) SL = 0;
double TP = Bid - SellTakeprofit11*PipValue*Point;
if (SellTakeprofit11 == 0) TP = 0;
int ticket = -1;
if (true)
ticket = OrderSend(Symbol(), OP_SELL, SellLots11, Bid, 3, 0, 0, "My Expert", MagicNo, 0, Red);
else
ticket = OrderSend(Symbol(), OP_SELL, SellLots11, Bid, 3, SL, TP, "My Expert", MagicNo, 0, Red);
if (ticket > -1)
{
if (true)
{
OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Red);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));
}
}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}
وهذا نفس الكود قبل التعديل :
void SellOrder12()
{
double SL = Bid + SellStoploss12*PipValue*Point;
if (SellStoploss12 == 0) SL = 0;
double TP = Bid - SellTakeprofit12*PipValue*Point;
if (SellTakeprofit12 == 0) TP = 0;
int ticket = -1;
if (false)
ticket = OrderSend(Symbol(), OP_SELL, SellLots12, Bid, 3, 0, 0, "My Expert", MagicNo, 0, Red);
else
ticket = OrderSend(Symbol(), OP_SELL, SellLots12, Bid, 3, SL, TP, "My Expert", MagicNo, 0, Red);
if (ticket > -1)
{
if (false)
{
OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Red);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));
}
}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}
ومرفق الأكسبيرتين قبل وبعد ياريت اعرف فين الغلط لأن في شركة معينة بيقبل يشتغل عليها الأكسبيرت المعدل على ديمو ومابيقبل يشتغل على نفس المنصة حساب حقيقي .
- 16-08-2012, 08:55 PM #2624
رد:موضوع مخصص للأسئلة البرمجية
إذن المشكل الآن هو إنتظار إغلاق الشمعة على الفريم الأكبر مثلا اذا كان الفريم الويكلي يجب انتظار اسبوع حتى تثبت الإشارة على الفريمات الأقل !! ، ولي سؤال هل دالة iBarShift لاتساعد فـ حل مشكلة إختلاف ترتيب الشموع على الفريمات المختلفة ، وهل يوجد حل لمشكلة عدم ثبات إشارة مؤشرات الملتي تايم فريم
- 17-08-2012, 05:58 AM #2625
وعليكم السلام ورحمة الله وبركاته
عند الخطأ فيجب أن تجد رقم الخطأ الذي يعبر عن السبب سواء كانت الدائرة رماديه أو لا
بالنسبه لرقم الخطأ 1 فهو ليس خطأ ولكن يعني أن الإكسبرت حاول عمل مودفاي للأمر لكن القيم القديمه هي نفسها القيم الجديده بالتالي لا يحتاج لعمل مودفاي للأمر
لكن بالنسبه لعمل المودفاي فهو يقبل سواء القيم الموجبه أو السالبه لكن السبب في أنه لا يقبل إذا جعلت البريك إيفن رقم صغير بالتالي بعض البروكرات لا تسمح بوضع الأستوب لوز على بعد عدد نقاط قريبه من السعر فلا يقبله
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM