النتائج 421 إلى 435 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 25-01-2009, 08:06 PM #421
- 25-01-2009, 08:20 PM #422
رد: موضوع مخصص للأسئلة البرمجية
- 28-01-2009, 03:46 AM #423
رد: موضوع مخصص للأسئلة البرمجية
بسم الله الرحمن الرحيم
هو فعلا الاكسبيرت من صنع الاستاذ محمود عامر
فى هذا الموضوع
https://forum.arabictrader.com/t40089.html
شكرا استاذ وضاح .. على هذا التنيه
سوف احاول الاتصال به لاجراء هذا التعديل
- 31-01-2009, 02:07 AM #424
رد: موضوع مخصص للأسئلة البرمجية
http://www.shbab1.com/2minutes.htm لا تدع الفرصه تفوتك ادخل هنا للحصول على اقيم استراتيجيه
- 05-02-2009, 10:18 PM #425
رد: موضوع مخصص للأسئلة البرمجية
اخوي وضاح عطار
ممكن تعديل بسيط على اللي برمجته حضرتك
انا حطيت موضوع بس للاسف ما دا رد على من المبرمجين
رابط الموضوع
https://forum.arabictrader.com/t63883.html
- 08-02-2009, 07:36 AM #426
رد: موضوع مخصص للأسئلة البرمجية
السلام عليكم
إخواني المبرمجين
ممكن قطعة من كود أضيفه لمؤشر عادي حتى يفتح صفقة أخرى عند بلوغ ربح الأولى لنقاط معينة ويعدل وقف الخسارة للصفقتين بحيث لو انعكس السعر سلمت من الخسارة؟ مشكورين مقدما
حاولت إضافة الكود التالي (في حالة كان الأمر المفتوح شراء) ولم يعمل بالكل المطلوب:
كود PHP:int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
if(OrderSelect(trade,SELECT_BY_POS,MODE_TRADES))
if (BasicMaxTrades==1 && OrderType() == OP_BUY && (Bid - OrderOpenPrice() > 50*Poin))
{
OrderModify(OrderTicket(), Bid - 25*Poin, TakeProfit,0,Blue);
OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,Slippage,StopLong(Bid,PyramidStopLoss),
TakeLong(Ask,TakeProfit),PyramidEAName,PyramidMagicNumber,0,Blue);
Alert( "Pyramid Buy order placed as criteria met" );
return(0);
}
}
كود PHP:if(OrderSelect(0,SELECT_BY_TICKET))
{
if (CountLongs()==BasicMaxTrades && CountLongs()<BasicMaxTrades)
{
if (OrderType() == OP_BUY)
{
if (Bid - OrderOpenPrice() > Poin*BasicStopLoss)
{
OrderModify(OrderTicket(), Bid - Poin*PyramidStopLoss, TakeProfit,0,Blue);
OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,Slippage,StopLong(Bid,PyramidStopLoss),
TakeLong(Ask,TakeProfit),PyramidEAName,PyramidMagicNumber,0,Blue);
Alert( "Pyramid Buy order placed as criteria met" );
return(0);
}
}
}
}
كود PHP:int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
if(OrderSelect(trade,SELECT_BY_POS,MODE_TRADES))
if(OrderMagicNumber()!=BasicMagicNumber || CountLongs()>BasicMaxTrades)
continue;
if(OrderType()==OP_BUY)
{
if (Bid - OrderOpenPrice() > Poin*BasicStopLoss)
{
OrderModify(OrderTicket(), Ask + Poin*PyramidStopLoss, TakeProfit,0,Red);
OrderSend(Symbol(),OP_Buy,LotsOptimized(),Bid,Slippage,StopShrt(Ask,PyramidStopLoss),
TakeShrt(Bid,TakeProfit),PyramidEAName,PyramidMagicNumber,0,Red);
Alert( "Pyramid Buy order placed as criteria met" );
return(0);
}
}
}
فممكن توضيح أين خطأي أو إعطائي البديل الأنسب؟آخر تعديل بواسطة ساق الجواء ، 08-02-2009 الساعة 07:43 AM
- 12-02-2009, 11:39 PM #427
رد: موضوع مخصص للأسئلة البرمجية
ممكن هذا الكود
يفتح 3 صفقات بيع و 3 صفقات شراء
الكود المطلوب
يضع هدف لكل عقد و يكون على التوالي
اي TP= 50
سوف يكون هدف العقد الاول 50 و ههدف العقد الثاني 100 و هدف العقد الثالث 150 .....
و الستوب
عند تحقق الهدف الاول يتحول ستوب العقدين الى نقطة الدخول و عند تحقق الهدف الثاني يتوحل ستوب العقد الثالث الى هدف العقد الاول
الكود الثاني
صنعت اكسبرت يقوم بوضع اوردة معلقة و لكن اريده عند تحقق تلك الاورد يضع اوردة اخرة
مثال
يقوم بالدخول شراء + بيع من 1000 و عند فتح العقدين يضع عقد بيع و عقد شراء معلق عل 1000 اذا رجع السعر الى 1000 راح يفتح الصفقتين و في نفس الوقت يضع عقدين اخرين بنفس الستوب و التيك بروفيت و هكذا دواليه
- 01-03-2009, 06:19 AM #428
رد: موضوع مخصص للأسئلة البرمجية
السادة المبرمجون الأعزاء عندي طلب كود هو توقيف اكسبريت عن العمل من الساعة 14:00 الى الساعة17:00
ولكم جزيل الشكر
- 05-03-2009, 09:01 PM #429
آه ...لو الاكسبرت ده موجود
السلام عليكم ياأهل البرمجه
انا الصراحه عمري ماتعاملت مع الاكسبرتات قبل كده ولا جربتها....
لكن انا - من خلال خبرتي القصيره - في عالم الفوركس - لاحظت ان الفوركس فعلا مالوش امان
الا في حاله واحده بس.... الامساك بتحركات السعر القويه...وده انا عملته في الفوركس والحمد لله حصلت بيه علي حوالي 650 نقطه في اول يوم
ليه مايكونشي في اكسبرت بيفعل الصفقات في اتجاه التحرك القوي للسعر بس
وليكن مثلا 20 نقطه في الدقيقه ؟..ويعمل ستوب لوز عند 20 نقطه مثلا وتريلنج ستوب كمان ؟
انا مش عارف ده ممكن ولا لأ.....لكن بجد لو في حاجه زي كده هانبقي كلنا مليونيرات !!!!
ارجو الرد ياأهل الخبره
- 07-03-2009, 02:27 PM #430
رد: موضوع مخصص للأسئلة البرمجية
حاجه من الاتتنين...ياإما طلبي صعب اوي كده
ياإما محدش من اهل الخبره شاف البوست بتاعتي !!!!!!!!
طب طلب تاني اسهل شويه.... ممكن اكسبرت يفعل ال Price alert في حالة تحركات السعر القويه؟
يعني يخلي البرنامج يدي انذار لما السعر يتحرك مثلا 20 نقطه في الدقيقه
متهيألي دي مش صعبه... ولا ايه؟
- 15-03-2009, 01:41 PM #431
رد: موضوع مخصص للأسئلة البرمجية
السلام عليكم ورحمة الله وبركاته :
إخواني عندي استشارة حول مؤشر قمت بتعديله ولكن تصادفني مشكلة , أعتقد أنها سوف تصادف كل من يعمل في صناعة وتعديل المؤشرات , لذلك فالإجابة عليها والتفكير بها سوف يكون ذو فائدة عامة للجميع .
المؤشر يقوم بتحديد الشموع من 15 إلى 24 من كل يوم على شارت الساعة , ويرسم خطا فوقها وتحتها ب20 نقطة يعتبر خط الدخول , وخط آخر فوق وتحت ب50 نقطة يعتبر خط الهدف , وقد نجحت في جعل المؤشر يقوم بكل هذا على أكمل وجه , ولكن الصفقات سوف تؤخذ في اليوم التالي, وخطوط المؤشر الذي بين يدي تنتهي في نفس اليوم ولا تمتد إلى اليوم التالي . أرفق لكم الكود البرمجي راجيا من لديه الخبرة اقتراح التعديلات عليه , ولكن جزيل الشكر .كود://+------------------------------------------------------------------+ //| khaldon.mq4 | //| | //+------------------------------------------------------------------+ #property copyright "Copyright © 2009, MetaQuotes Software Corp." #property link "
كود:http://www.metaquotes.net" /* Introduction: TimeZoneOfData: TimeZone for which MT4 shows your local time, e.g. 1 or 2 for Europe (GMT+1 or GMT+2 (daylight savings time). Use zero for no adjustment. The MetaQuotes demo server uses GMT +2. Enjoy :-) */ #property indicator_chart_window #property indicator_buffers 7 #property indicator_color1 Aqua #property indicator_color2 Aqua #property indicator_color3 Aqua #property indicator_color4 Aqua #property indicator_color5 Aqua #property indicator_color6 Aqua #property indicator_color7 Aqua //---- input parameters extern bool DoEntryAlerts= false; extern int TimeZoneOfData= 0; // time zone of metatrader charts extern int PipsForEntry= 20; extern int PipsTarget = 50; extern int PipsStop= 50; extern int ShowTarget= 1; extern int ShowStop= 0; int DestTimeZone= 0; // dest time zone for time computation (leave as zero (GMT)) double Zone1Upper[]; double Zone1Lower[]; double Zone1UpperTarget[]; double Zone1LowerTarget[]; double Zone1UpperStop[]; double Zone1LowerStop[]; double EntrySignalsBuffer[]; bool Zone1UpperBreakout=true; bool Zone1LowerBreakout=true; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,Zone1Upper); SetIndexEmptyValue(0, 0.0); SetIndexLabel(0, "Z1 Upper"); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,Zone1Lower); SetIndexEmptyValue(1, 0.0); SetIndexLabel(1, "Z1 Lower"); SetIndexStyle(2,DRAW_LINE, STYLE_DASH, 1); SetIndexBuffer(2,Zone1UpperTarget); SetIndexEmptyValue(2, 0.0); SetIndexLabel(2, "Z1 Upper Target"); SetIndexStyle(3,DRAW_LINE, STYLE_DASH, 1); SetIndexBuffer(3,Zone1LowerTarget); SetIndexEmptyValue(3, 0.0); SetIndexLabel(3, "Z1 Lower Target"); SetIndexStyle(4,DRAW_LINE, STYLE_DASHDOTDOT, 1); SetIndexBuffer(4,Zone1UpperStop); SetIndexEmptyValue(4, 0.0); SetIndexLabel(4, "Z1 Upper Stop"); SetIndexStyle(5,DRAW_LINE, STYLE_DASHDOTDOT, 1); SetIndexStyle(5,DRAW_LINE); SetIndexBuffer(5,Zone1LowerStop); SetIndexEmptyValue(5, 0.0); SetIndexLabel(5, "Z1 Lower Stop"); SetIndexStyle(6,DRAW_ARROW); SetIndexArrow(6, 162); SetIndexBuffer(6, EntrySignalsBuffer); SetIndexEmptyValue(6, 0.0); SetIndexLabel(6, "Z1 Breakout Signal"); return(0); } int deinit() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars= IndicatorCounted(), lastbar, result; if (Bars<=100) return(0); if (counted_bars>0) counted_bars--; lastbar= Bars - counted_bars; // // compute ranges // BreakoutRanges(0, lastbar, TimeZoneOfData, DestTimeZone); // // check alerts // static datetime lastalerttime; static double lastalertprice; if (DoEntryAlerts && lastalerttime!=Time[0] && EntrySignalsBuffer[0]!=0 && EntrySignalsBuffer[0]!=lastalertprice) { Alert("ZoneBreakout signals entry!"); lastalerttime= Time[0]; lastalertprice= EntrySignalsBuffer[0]; } else { lastalerttime= 0; lastalertprice= 0.0; } return(0); } //+------------------------------------------------------------------+ //| Compute Breakout ranges for daily time periods | //+------------------------------------------------------------------+ int BreakoutRanges(int offset, int lastbar, int tzlocal, int tzdest) { int i, j, k, tzdiff= tzlocal - tzdest, tzdiffsec= tzdiff*3600, tidxstart[2]= { 0, 0}, tidxend[2]= { 0, 0 }; double thigh[2]= { 0.0, 0.0 }, tlow[2]= { 99999.9, 99999.9 }; string tfrom[3]= { "15:00", "24:00" , /*rest of day: */ "12:00"}, tto[3]= { "24:00", "24:00", /*rest of day: */ "24:00" }, tday; bool inperiod= -1; datetime timet; // // search back for the beginning of the day // tday= TimeToStr(Time[lastbar]-tzdiffsec, TIME_DATE); for ( ; lastbar<Bars; lastbar++) { if (TimeToStr(Time[lastbar] - tzdiffsec, TIME_DATE)!=tday) { lastbar--; break; } } // // find the high/low for the two periods and carry them forward through the day // tday= "XXX"; for (i= lastbar; i>=offset; i--) { timet= Time[i] - tzdiffsec; // time of this bar string timestr= TimeToStr(timet, TIME_MINUTES), // current time HH:MM thisday= TimeToStr(timet, TIME_DATE); // current date EntrySignalsBuffer[i]= 0; // // for all three periods (first period, second period, rest of day) // for (j= 0; j<3; j++) { if (tfrom[j]<=timestr && timestr<tto[j]) { // Bar[i] in this period if (inperiod!=j) { // entered new period, so last one is completed if (j>0) { // now draw high/low back over the recently completed period for (k= tidxstart[j-1]; k>=tidxend[j-1]; k--) { if (j-1==0) { Zone1Upper[k]= thigh[j-1]; Zone1Lower[k]= tlow[j-1]; } } } inperiod= j; // remember current period } if (inperiod==2) // inperiod==2 (end of day) is just to check completion of zone 2 break; // for the current period find idxstart, idxend and compute high/low if (tidxstart[j]==0) { tidxstart[j]= i; tday= thisday; } tidxend[j]= i; thigh[j]= MathMax(thigh[j], High[i]); tlow[j]= MathMin(tlow[j], Low[i]); } } // // carry forward the periods for which we have definite high/lows // if (inperiod>=1 && tday==thisday) { // first time period completed Zone1Upper[i]= thigh[0] + PipsForEntry*Point; Zone1Lower[i]= tlow[0] - PipsForEntry*Point; if (ShowTarget==1) { Zone1UpperTarget[i]= thigh[0] + PipsForEntry*Point+PipsTarget*Point; Zone1LowerTarget[i]= tlow[0] - PipsForEntry*Point-PipsTarget*Point; } if (ShowStop==1) { if(Zone1Upper[i]-Zone1Lower[i]>PipsStop*Point) { Zone1UpperStop[i]= Zone1Upper[i]-PipsStop*Point; Zone1LowerStop[i]= Zone1Lower[i]+PipsStop*Point; } else { Zone1UpperStop[i]= 0; Zone1LowerStop[i]= 0; } } if (inperiod>=2) { // second period completed } CheckSignal(i, Zone1Upper[i], OP_BUY, EntrySignalsBuffer); CheckSignal(i, Zone1Lower[i], OP_SELL, EntrySignalsBuffer); } else { // none yet to carry forward (zero to clear old values, e.g. from switching timeframe) Zone1Upper[i]= 0; Zone1Lower[i]= 0; Zone1UpperTarget[i]= 0; Zone1LowerTarget[i]= 0; Zone1UpperStop[i]= 0; Zone1LowerStop[i]= 0; } // // at the beginning of a new day reset everything // if (tday!="XXX" && tday!=thisday || TimeToStr(timet, TIME_MINUTES)>=tto[2]) { // Print("#", i, "new day ", thisday, "/", tday); tday= "XXX"; Zone1UpperBreakout = False; Zone1LowerBreakout = False; inperiod= -1; for (j= 0; j<2; j++) { tidxstart[j]= 0; tidxend[j]= 0; thigh[j]= 0; tlow[j]= 99999; } } } return (0); } //+------------------------------------------------------------------+ //| Check price break | //+------------------------------------------------------------------+ bool CheckSignal(int shift, double price, int type, double &signalbuffer[]) { bool signal= false; if (Zone1UpperBreakout==False && type==OP_BUY && ((Open[shift]<price && High[shift]>price) || (Close[shift+1]<price && Open[shift]>price)) ) { signalbuffer[shift]= price; signal= true; Zone1UpperBreakout=True; } if (Zone1LowerBreakout==False && type==OP_SELL && (Open[shift]>price && Low[shift]<price) || (Close[shift+1]>price && Open[shift]<price)) { signalbuffer[shift]= price; signal= true; Zone1LowerBreakout=True; } return (signal); }
وهاهي صورة المؤشر كما يظهر حالياً :
- 15-03-2009, 01:56 PM #432
رد: موضوع مخصص للأسئلة البرمجية
وهذ هو المصدر للمؤشر المذكور علما بأنه يرسم خطا للستوب وأسهم لتفعيل الصفقة أيضاً .
- 24-03-2009, 11:21 PM #433
رد: موضوع مخصص للأسئلة البرمجية
السلام عليكم
Orderprofit
هذه الجمله تعرض الربح بالدولار وأنا أريد كود يتعامل مع النقاط ... كيف
- 16-04-2009, 11:09 PM #434
رد: موضوع مخصص للأسئلة البرمجية
بسم الله الرحمن الرحيم
ارجو من الاخوة لمن لديه العلم والخبرة ان يقوم بعمل تنيه لهذا المؤشر المرفق
وظيفة المؤشر :مؤشر يحدد القمم والقيعان من خلال رسم اسهم حمراء ((للقمة)) وزرقاء ((للقاع ))
التعديل المطلوب : هو جعل المؤشر ينبهنى بنغمة صوتية عندما يظهر السهم الذى يحدد القمة او القاع
وجزاكم الله خيراا
- 19-04-2009, 12:46 PM #435
رد: موضوع مخصص للأسئلة البرمجية
السلام عليكم
كود:int start() { //---- for(int i=0;i<Bars;i++) { HIGH1[i]=(High[i]); } return(0); }
انا اريد ان يحسب لى هاى اليوم كله بحيث اذا انتقلت الى فريم الساعه او الاربع ساعات فسوف اجد فقط هاى اليوم ولن يكون متغير بالطبع
كما اريد ان يكون الحساب لليوم السابق
يعنى حساب هاى اليوم السابق ويضع خط على اليوم الحالى
مثل البايفوت اليومى (السلم) فهو يحسب بايفوت اليوم السابق ويضع خط على اليوم الحالى ومهما غيرت الفريم لاتتغير القيمه
ارجو تكون وضح ما اريدآخر تعديل بواسطة abosalah ، 19-04-2009 الساعة 12:50 PM
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM