النتائج 1,651 إلى 1,665 من 10335
الموضوع: موضوع مخصص للأسئلة البرمجية
- 18-02-2012, 09:11 PM #1651
- 18-02-2012, 10:31 PM #1652
الخطأ لديك في تحديد تاريخ البدايه وتاريخ النهايه
كود PHP:extern string Begin_1 = "08:00";
extern string End_1 = "23:00";
لذلك يجب أن تكون بهذا الشكل
كود PHP:extern datetime Begin_1=D'2010.10.10 12:00';
extern datetime End_1=D'2010.10.20 12:00';
كود PHP:datetime begin= StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Begin_1);
datetime end= StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + End_1);
لإنك إذا راجعت خصائص الداله ObjectCreate
كود PHP:ObjectCreate(string name,int type,int window,datetime time1,double price1,datetime time2=0,double price2=0)
ثم الجزء الآخر وهو تحديد السعر الهاي أو اللو أو الإفتتاح أو الإغلاق مكان time1 و time2 بالتأكيد لا يمكن فالسعر ليس له علاقة بالتوقيت
مرفق المؤشر بعد التعديل
- 19-02-2012, 02:29 AM #1653
بارك الله فيك أستاذ أسامة
إذا حسب ما فهمته من الكود
Begin و End يمثلان نقطتين أساسيتين في محور الزمن وتكونان دائما من نوع datetime
وفي محور السعر نضع فقط القيم من نوع double إي السعر ويمكن أن تكون سعر Low,High,Open,Close وتمثلان النقطتين الأخرتين ليكتمل الشكل الرباعي
إنطلاقا من مفهومي هذا عدلت على المؤشر السابق بحيث النقطتين المتعلقتين بالسعر يمكن أن تأخذ إحدى هذه القيم Low,High,Open,Close للشمعة التي توافق Begin_1 و الشمعة التي توافق End_1
لاكن المؤشر لا يمر في عملية Compile
كود PHP:#property copyright "Copyright 2011 Cher Amine"
#property link "[email protected]"
#property indicator_chart_window
extern string Begin_1 = "08:00";
extern string End_1 = "23:00";
extern bool use_HighPrice =True;
extern bool use_LowPrice = False;
extern bool use_OpenPrice = False;
extern bool use_ClosePrice = False;
double Price1 = Low[iBarShift(Symbol(),0,begin,false)];
double Price1a = Low[iBarShift(Symbol(),0,end,false)];
double Price2 = High[iBarShift(Symbol(),0,begin,false)];
double Price2a = High[iBarShift(Symbol(),0,end,false)];
double Price3 = Open[iBarShift(Symbol(),0,begin,false)];
double Price3a = Open[iBarShift(Symbol(),0,end,false)];
double Price4 = Close[iBarShift(Symbol(),0,begin,false)];
double Price4a = Close[iBarShift(Symbol(),0,end,false)];
double xPrice,yPrice;
int start()
{
datetime begin= StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Begin_1);
datetime end= StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + End_1);
bool objet = ObjectCreate("RECTANGLE", OBJ_RECTANGLE, 0, begin, xPrice, end, yPrice);
ObjectSet("RECTANGLE", OBJPROP_COLOR, Red);
if(use_HighPrice){
xPrice = Price2;
yPrice = Price2a;
}
if(use_LowPrice){
xPrice =Price1;
yPrice =Price1a;
}
if(use_OpenPrice){
xPrice =Price3;
yPrice =Price3a;
}
if(use_ClosePrice){
xPrice =Price4;
yPrice =Price4a;
}
}
}//-----------------------------------------------------------+
آخر تعديل بواسطة cher90 ، 19-02-2012 الساعة 02:37 AM
- 20-02-2012, 10:20 PM #1654
لا يمكنك تعريف قيم متغيره خارج الدوال مثل
كود PHP:double Price2 = High[iBarShift(Symbol(),0,begin,false)];
double Price2a = High[iBarShift(Symbol(),0,end,false)];
double Price3 = Open[iBarShift(Symbol(),0,begin,false)];
double Price3a = Open[iBarShift(Symbol(),0,end,false)];
double Price4 = Close[iBarShift(Symbol(),0,begin,false)];
double Price4a = Close[iBarShift(Symbol(),0,end,false)];
- 21-02-2012, 03:03 AM #1655
بارك الله فيك أستاذ أسامة وجزاك الله خيرا على هذا الكرم
في الحقيقة عدلت شوية على المؤشر ويتحكم في نقطتي السعر جيدا لاكن نقطتي الزمن هناك مشكلة
يرسم المستطيل خارج السعر على اليمين من المفروض يكون داخل السعر من "08:00" إلى "23:00"
أضن أن التعديل سيكون هنا
كود PHP:datetime begin= StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Begin_1);
datetime end= StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + End_1);
- 21-02-2012, 06:16 PM #1656
اليوم فتحت الميتاتريدر وجدت المستطيل داخل السعر
أضفت هذا الكود ليعطي الفرق بين xPrice و yPrice
كود PHP:double Pips,xpips;
string comment1;
Pips = xPrice - yPrice;
xpips = MathAbs(Pips)/Q;
if (Pips > 0){
TextClor = PipsColorup;
}
else
if (Pips < 0){
TextClor = PipsColordw;
}
كود PHP:bool objetText = ObjectCreate("RECTANGLE Pips", OBJ_TEXT, 0, Time[iBarShift(Symbol(),0,begin,false)] , xPrice);
ObjectSetText("RECTANGLE Pips", StringConcatenate(" ", xpips, " pips"),text_Size , "Times New Roman" , TextClor);
أرجو التصحيح وبارك الله فيك
- 22-02-2012, 10:33 PM #1657
نعم بالتأكيد سيرسم المستطيل خارج السعر لأنك إستخدمت TimeCurrent
إذا كنت تريد مثلا رسم المستطيل لليوم الحالي من الساعة 8 إلى الساعه 23
فبدلا من TimeCurrent سوف تحتاج إلى معرفة توقيت إفتتاح شمعة اليوم
كود PHP:iTime(Symbol(),1440,0)
فسيصبح الكود
كود PHP:datetime begin= StrToTime(TimeToStr(iTime(Symbol(),1440,0), TIME_DATE) + " " + Begin_1);
datetime end= StrToTime(TimeToStr(iTime(Symbol(),1440,0), TIME_DATE) + " " + End_1);
- 22-02-2012, 10:35 PM #1658
- 24-02-2012, 01:27 AM #1659
السلام عليكم
عندي استفسار بخصوص الاكسربيت
لو كنت اشتغل على استراتيجيه تعمل على اكثر من فيرم هل ممكن اعمل لها اكسبريت ؟
- 24-02-2012, 06:50 PM #1660
السلام عليكم ورحم الله
وبارك الله فيك على الردود السابقة
حاولت عمل إكسبريت الذي طلبه الأخ https://forum.arabictrader.com/t139020.html Mido0o
يضع أمرين معلقين عند أول رقمين صحيحين كل يوم على الساعة 2 صباحا إبتداءا من يوم الإثنين
يعني إذا كان السعر 1.2222 يعلق أمر شراء عند 1.2230 وأمر بيع عند 1.2220
إذا كانت الصفقة المفعلة رابحة يفتح صفقة أخرى في نفس الإتجاه بنفس اللوت وإذ كانت خاسرة يفتح صفقة معاكسة بلوت مضاعف
عملت كل الشروط المذكورة في الإكسبريت
وشروط السعر التي توضع عندها الصفقات المعلقة لا أعرف إن كانت صحيحة
كود PHP:xPrice= Bid*1000; //1.2222 = 1222.2
xPrice2= MathCeil(xPrice); //1223
xPrice3= xPrice2/1000; //1.223
yPrice= Bid*1000; //1.2222 = 1222.2
yPrice2= MathFloor(yPrice);//1222
yPrice3=yPrice2/1000; //1.222
xBuySL=xPrice3-BuySL*point;
xBuyTP=xPrice3+BuyTP*point;
ySellSL=yPrice3+SellSL*point;
ySellTP=yPrice3-SellTP*point;
if(Day()==(1||2||3||4||5) && Hour()==pending_Orders_Hour && Minute()<5 && MyOrdersTotal(MagicNumber)==0){
OrderSend(Symbol() ,OP_BUYSTOP,newLot,xPrice3,3*Q,xBuySL,xBuyTP,"",MagicNumber,0,Green);
OrderSend(Symbol() ,OP_SELLSTOP,newLot,yPrice3,3*Q,ySellSL,ySellTP,"",MagicNumber,0,Green);
}
أرجو توضيح الأخطاء أستاذ أسامة
وبارك الله فيكآخر تعديل بواسطة cher90 ، 24-02-2012 الساعة 06:52 PM
- 24-02-2012, 08:23 PM #1661
- 24-02-2012, 10:59 PM #1662
السلام عليكم ورحمة الله أستاذ أسامة
أرجو أن لا تنسى طلبي فوق
وبارك الله فيك
- 24-02-2012, 11:22 PM #1663
وعليكم السلام ورحمة الله وبركاته
أولا بالنسبه لشرط تحديد اليوم فلا يمكنك جعله بهذا الشكل
كود PHP:if(Day()==(1||2||3||4||5)
كود PHP:if(Day()==1||Day()==2||Day()==3||Day()==4||Day()==5)
كود PHP:if(MyOrdersTotal(MagicNumber)>0 && (Bid>=xPrice3 || Bid<=yPrice3)
أيضا
كود PHP:if(Blast="profit"
بالنسبه لطريقة تحديد السعر فما رأيك بهذه الطريقه الأسهل
كود PHP:xPrice=NormalizeDouble(Bid,digits-1);
yPrice=NormalizeDouble(Bid,digits-1)+10*point;
- 25-02-2012, 05:45 PM #1664
بارك الله فيك أستاذ أسامة
وعذرا لم أستعب وضيفة الدالة
كود PHP:NormalizeDouble
وكيف يمكن من هنا
كود PHP:xPrice=NormalizeDouble(Bid,digits-1);
yPrice=NormalizeDouble(Bid,digits-1)+10*point;
وبارك الله فيك وجزاك الله خيرا
- 25-02-2012, 08:12 PM #1665
NomrmalizeDouble تقوم بتقليص عدد الأرقام العشرية إلى العدد الذي تحدده وتحذف باقي الأرقام
مثلا إذا كان الرقم 1.337465 وتريد فقط آخر أربع أرقام عشرية فسوف تجعله
كود PHP:NormalizeDouble(1.337465,4)
الآن حسب الإستراتيجية التي نريدها مثلا السعر 1.4235 فالقيم التي نريدها هي 1.4230 و 1.4240
الرقم الأول سهل سوف يكون
كود PHP:NormalizeDouble(1.4235,digits-1)
لأنه مثلا إذا كان عدد الأرقام العشرية digits=4 فسوف تكون القيمه digits-1=3 فصبح الناتج
كود PHP:NormalizeDouble(1.4235,3)
القيمة الأخرى 1.4240 سوف نجمع 10 نقاط إلى القيمة الأول 1.4230 فيصبح 1.4240
المواضيع المتشابهه
-
موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 11آخر مشاركة: 15-12-2023, 02:03 PM -
عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملاتمشاركات: 280آخر مشاركة: 27-08-2009, 10:30 PM