النتائج 31 إلى 45 من 47
الموضوع: طلب مؤشر يحسب سرعة الشمعة
- 29-01-2010, 05:28 AM #31
رد: طلب مؤشر يحسب سرعة الشمعة
الأخ Scarface
الإخوة المبرمجين
السلام عليكم
بخصوص المؤشر بدأت في عمله
و عندي سؤالين
لو تفضلتم بالإجابة عنهم و لكم جزيل الشكر
كود:double SPEEDUP = ((PRICE1-PRICE2)* int Digits)/int TIME_1; double SPEEDDOWN = ((PRICE3-PRICE2)* int Digits)/int TIME_2; double PRICE1= iHigh(NULL,Period,0); double PRICE2= iOpen(NULL,Period,0); double PRICE3= iLow(NULL,Period,0);
أي وظيفة تخرج وقت أعلى سعر ؟
high
TIME_2=?
أي وظيفة تخرج وقت أقل سعر؟
Low
كيف نحسب الوقت المنتهي من الشمعة الحالية
هل هذا المثال صحيح ؟
كود:1440-TimeCurrent
- 29-01-2010, 06:09 PM #32
رد: طلب مؤشر يحسب سرعة الشمعة
أخي العزيز.
إعذرني على التأخير لكن الأشغال كثيرة هذه الأيام.
بالنسبة لطلبك فهو على حسب معلوماتي كالتالي:
كود PHP://place this external variable on top
extern double TimeFrame=0;
double PRICE1= iHigh(NULL,TimeFrame,0);
double PRICE2= iOpen(NULL,TimeFrame,0);
double PRICE3= iLow(NULL,TimeFrame,0);
double Time1 = iTime(NULL,TimeFrame,0);
double SPEEDUP = ((PRICE1-PRICE2)/Time1)*Point;
double SPEEDDOWN = ((PRICE3-PRICE2)/Time1)*Point;
عموما بالنسبة لحساب الوقت المتبقي من الشمعة الحالية هذه لازم أسألك فيها. يعني لحساب أي شمعة على أي فريم لأن من فريم إلى آخر راح يختلف الحساب.
وبالتوفيق
- 29-01-2010, 08:37 PM #33
رد: طلب مؤشر يحسب سرعة الشمعة
Dear Scarface
About the last bar
You mean like that?
كود:SPEED_UP_0=((PRICE1-PRICE2)*nDigits)/TIME_0;
كود:SPEED_DOWN_0=((PRICE3-PRICE1)*nDigits)/TIME_0;
nDigits mean 100 in currency like USDJPY or 10000 currency like EURUSD
can I use a function like this
كود:TIME_1=iHighest(NULL,PERIOD_M1,MODE_HIGH,1,0);/////= TIME OF FIRST HIGH IN BAR 0
كود:TIME_2=iLowest(NULL,PERIOD_M1,MODE_LOW,1,0);/////= TIME OF FIRST LOW IN BAR 0
because I want get the exact time of high or low
about your question
why I use 2 different equations
because in first case we should calculate the difference between the high and open
--------- in second case----------------------------the difference ----------------the low and open
The big difficulty its how calculate the SPEED of the current bar
because in last case there is a bar
there is a high and low
but in this case
there is only a current bar
we have only a open and a movement
if the movement to up this is the high
if the movement to down this is the low
I try to use a code like this
كود:double PRICE1=iMA(Symbol(),0,1,0,MODE_EMA,PRICE_CLOSE,0);
كود://///= CLOSE ( HIGH OR LOW )PRICE OF CURRENT BARdouble PRICE2=iMA(Symbol(),0,1,0,MODE_EMA,PRICE_OPEN,0); /////= OPEN PRICE OF CURRENT BAR
and for calculate the time i use this one
كود:TIME_1 = (TimeCurrent()%int TIMEFRAME)*DIVISOR;///// whit this cases of divisor
كود:if (TIMEFRAME==60){DIVISOR=1;}if (TIMEFRAME==30){DIVISOR=2;}if (TIMEFRAME==15){DIVISOR=4;}if (TIMEFRAME==5){ DIVISOR=6;} if (TIMEFRAME==1){ DIVISOR=60;}
I don't know what I do
can I try like this code
by using the number 1440 ( 60*24)
like 1440- current time
please if you have any suggestions am very confused
thank you very much
best regards
- 30-01-2010, 08:46 AM #34
رد: طلب مؤشر يحسب سرعة الشمعة
أخي العزيز.
باين عليك مجتهد ومثابر وأنا أحب مثل هؤلاء الناس وأسأل الله تعالى التوفيق لي ولك ولكل مثابر ومجتهد.
في البداية لازم نوضح الفرق بين الديجيت والبوينت:
الديجيت: http://docs.mql4.com/predefined/variables/digits
البوينت: http://docs.mql4.com/predefined/variables/point
وهذا شرح بسيط للبوينت:
كود PHP:A point is one pip. If EurUsd is at 1.2080 one point would be 0.0001. So if you want to set a TP on the EurUsd of 50, you have to add that to 1.2080 but adding 50 to 1.2080 would give you 51.2080 so you have to multiply 50*Point to get 0.0050. For currencies with 4 places like EurUsd and GpbUsd that have 4 places, like 1. 2080 or 2.0250 one point is 0.0001, for the UsdJpy that has only 2 places like 122.01, one Point is 0.01
Look, if you want to get the value of the current bar say the current high for the current bar, we do this:
كود PHP:High[0]
//or
iHigh(NULL,0,0)
O.k, now it is time to reply your questions
--------------------------------------------------------
if you want to find the value if last bar say the low of last bar, it would be like this
كود PHP:Low[1]
//or
iLow(NULL,0,1)
Now, if you use iHighest() function, you will notice that you are trying to get the highest high in the chart for certain period of time and among specific candle bars
also, the same thing you can apply for iLowest
Now, about calculating the current bar time, in each time frame the calculations would be different. There is however a way how to do that even we change the time frame through the chart
كود PHP:int secs = TimeCurrent() % (Period()*60); // calculate number of seconds passed since start of current bar (time-frame on chart)
You can use TimeCurrent() and calculate how much time passed since start of current bar
I hope this is useful
Best of luck
- 30-01-2010, 01:12 PM #35
- 30-01-2010, 01:36 PM #36
رد: طلب مؤشر يحسب سرعة الشمعة
السلام عليكم
اريد ابدي إعجابي بفطنتك وقوة ملاحظتك في كيفية تحرك المؤشرات ، الفكرة بغاية الاهمية وجميلة جدااا
بكل صراحة حبكة استاذ ،، الي الامام
- 31-01-2010, 02:47 AM #37
رد: طلب مؤشر يحسب سرعة الشمعة
أخي الكريم Scarface
شكرا على كلماتك المشجعة
شكرا للتوضيح والشرح
إن شاء الله أوافيك بالتفاصيل
جزاكم الله خيرا
- 31-01-2010, 02:48 AM #38
- 31-01-2010, 02:49 AM #39
- 31-01-2010, 08:42 AM #40
رد: طلب مؤشر يحسب سرعة الشمعة
لماذا لاتستخدمون فريم الدقيقة فقط. وتقوموا بالمعادلة بحساب عدد شمعات الدقيقة من الافتتاح حتى الهاي أو إلى اللو لفريم الساعة؟
ألا تعتقدون أنها أسهل؟
- 31-01-2010, 01:06 PM #41
رد: طلب مؤشر يحسب سرعة الشمعة
Dear bro Shift
I believe that you will need to show the data or let's say the calculated speed on the chart so you need to make the indicator show these kind of stuff
Here is an example of what code to use in order to show data of speed 1 and 2
كود PHP:ObjectCreate("F_object",OBJ_LABEL,0,0,0);
ObjectSet("F_object",OBJPROP_XDISTANCE,10);
ObjectSet("F_object",OBJPROP_YDISTANCE,170);
- 31-01-2010, 05:39 PM #42
رد: طلب مؤشر يحسب سرعة الشمعة
السلام عليكم
سيتم برمجته في ما قريب هذا الاسبوع انشاء الله و الجماعة التي لها طلبات عندي سوف أضع لهم طلبات وجميع الطلبات التي في المنتدى كان عندي قليل من البحث
والسلام عليكم
- 01-02-2010, 03:29 AM #43
- 01-02-2010, 08:40 PM #44
رد: طلب مؤشر يحسب سرعة الشمعة
Dear brother Scarface thank you for your continue aid
About your idea how to show the data in chart window I get it
this is the code can you take a look
I don’t know why didn’t works
Waiting for your respond
And thank you so much
كود:CALCULATION TIME FOR CURRENT BAR
كود:I PUT THE MULTIPLIER CAUSE EVERY TIME TIMEFRAME CHANGE THERE IS A DIFFERENT WAY TO CALCULATE TIMEif (TIMEFRAME==60) {MULTIPLIER=1;}if (TIMEFRAME==30) {MULTIPLIER=2;} if (TIMEFRAME==15) {MULTIPLIER=4;} if (TIMEFRAME==5) {MULTIPLIER=12;} if (TIMEFRAME==1) {MULTIPLIER=60;} TIME1 = (TimeCurrent()% TIMEFRAME)*MULTIPLIER; CALCULATION TIME FOR LAST BAR THIS DIFFERENT CASES CAUSE EVERY TIMEFRAME I WANTS LOOKINGFOR THE TIME OF THE LONGEST BAR IN INFERIOR TIMEFRAME WHATEVER IF ITS LONGER TO UP OR DOWNif(Close[i]>Open[i]){ if(TIMEFRAME==28800) {VARIANCE=iHigh(NULL,PERIOD_D1,0)-iLow(NULL,PERIOD_D1,0);} if(TIMEFRAME==7200) {VARIANCE=iHigh(NULL,PERIOD_H4,0)-iLow(NULL,PERIOD_H4,0);} if(TIMEFRAME==1440) {VARIANCE=iHigh(NULL,PERIOD_H1,0)-iLow(NULL,PERIOD_H1,0);} if (TIMEFRAME==240) {VARIANCE=iHigh(NULL,PERIOD_M30,0)-iLow(NULL,PERIOD_M30,0);} if (TIMEFRAME==60) {VARIANCE=iHigh(NULL,PERIOD_M15,0)-iLow(NULL,PERIOD_M15,0);} if (TIMEFRAME==30) {VARIANCE=iHigh(NULL,PERIOD_M5,0)-iLow(NULL,PERIOD_M5,0);} if (TIMEFRAME==15) {VARIANCE=iHigh(NULL,PERIOD_M1,0)-iLow(NULL,PERIOD_M1,0);}if (TIMEFRAME==1) {VARIANCE=iHigh(NULL,PERIOD_M1,0)-iLow(NULL,PERIOD_M1,0);}for(VARIANCE=0; VARIANCE<Bars; VARIANCE++)/// CALCULATE THE LONGER BAR{ TIME2=Time[VARIANCE];/// TIME OF THE LONGER BAR ( & CLOSE > OPEN ) }}if (Close[i]<Open[i]){ if(TIMEFRAME==28800) {VARIANCE=iHigh(NULL,PERIOD_D1,0)-iLow(NULL,PERIOD_D1,0);} if(TIMEFRAME==7200) {VARIANCE=iHigh(NULL,PERIOD_H4,0)-iLow(NULL,PERIOD_H4,0);} if(TIMEFRAME==1440) {VARIANCE=iHigh(NULL,PERIOD_H1,0)-iLow(NULL,PERIOD_H1,0);} if (TIMEFRAME==240) {VARIANCE=iHigh(NULL,PERIOD_M30,0)-iLow(NULL,PERIOD_M30,0);} if (TIMEFRAME==60) {VARIANCE=iHigh(NULL,PERIOD_M15,0)-iLow(NULL,PERIOD_M15,0);} if (TIMEFRAME==30) {VARIANCE=iHigh(NULL,PERIOD_M5,0)-iLow(NULL,PERIOD_M5,0);} if (TIMEFRAME==15) {VARIANCE=iHigh(NULL,PERIOD_M1,0)-iLow(NULL,PERIOD_M1,0);}if (TIMEFRAME==1) {VARIANCE=iHigh(NULL,PERIOD_M1,0)-iLow(NULL,PERIOD_M1,0);}for(VARIANCE=0; VARIANCE<Bars; VARIANCE++)/// CALCULATE THE LONGER BAR{ TIME3=Time[VARIANCE];/// TIME OF THE LONGER BAR ( & CLOSE < OPEN ) }}CALCULATION PRICES OF LAST BAR LIKE YOU TELLS ME LAST TIMEPRICE11=iHigh(NULL,TIMEFRAME,0);PRICE22=iOpen(NULL,TIMEFRAME,0); PRICE33=iLow(NULL,TIMEFRAME,0); PRICE44=iClose(NULL,TIMEFRAME,0); ///---CALCULATION PRICES OF CURRENT BARPRICE1=iMA(Symbol(),0,1,0,MODE_EMA,PRICE_CLOSE,0);PRICE2=iMA(Symbol(),0,1,0,MODE_EMA,PRICE_OPEN,0);CALCULATION SPEED AND THE VARIABLE DIGITS FOR BALANCING VALUES OF SPEEDif( S=="ES"|| S=="WTI" || S=="XAU" || S=="GOLD") {DIGITS =10 ;}if(S=="ER2" ||S=="FESX" || S=="FTSE" || S=="FDAX") {DIGITS =10 ;} if(S=="GBPJPY" ||S=="EURJPY" || S=="USDJPY" || S=="GOLD"|| S=="AUDJPY"||S=="FGBL"|| S=="NZDJPY"|| S=="CADJPY" ||S== "CHFJPY" || S=="BRN" ||S=="WTI" || S=="NQ" || S=="ES"||S=="XAU"||S=="XAG") {DIGITS = 100;}if(S=="GBPUSD" || S=="EURUSD" ||S=="NZDUSD" || S=="USDCHF" ||S=="USDCAD" ||S=="AUDUSD" || S=="EURUSD" ||S=="EURCHF" || S=="EURGBP" || S=="EURCAD" ||S=="EURAUD" || S=="AUDNZD"|| S== "GBPCHF"|| S=="EURAUD"|| S=="GBPAUD"|| S== "AUDCAD" || S=="AUDCHF"|| S=="NZDCHF"|| S=="NZDCAD" ||S=="NZDCHF"||S=="EURNZD"|| S=="CADCHF"|| S=="EURCAD"|| S=="USDNOK"|| S=="USDDKK"){DIGITS = 10000;}CURRENTSP=((PRICE1-PRICE2)*DIGITS)/TIME1; ///DIGITS=10||100||10000SPEEDUP_1=((PRICE11-PRICE22)*DIGITS)/TIME2;SPEEDDOWN_1=((PRICE33-PRICE22)*DIGITS)/TIME3;if(PRICE44 > PRICE22) {LASTSP=SPEEDUP_1;}if(PRICE44 < PRICE22) {LASTSP=SPEEDDOWN_1;}CALCULATION AFFIRMATIONMATHPOWCUR=MathPow(CURRENTSP,2);MATHPOWLAST=MathPow(LASTSP,2);ROOT=MathSqrt(MATHPOWCUR+MATHPOWLAST);///---if (CURRENTSP > 0 && LASTSP >0) {AFFIR=ROOT;} if ((CURRENTSP < 0 && LASTSP > 0) && (MathAbs(CURRENTSP) > MathAbs(LASTSP))) {AFFIR=ROOT;} if ((CURRENTSP >0 && LASTSP < 0) && (MathAbs(CURRENTSP) < MathAbs(LASTSP))) {AFFIR=ROOT;} if (CURRENTSP < 0 && LASTSP < 0) {AFFIR=-ROOT;} if ((CURRENTSP >0 && LASTSP < 0) &&(MathAbs(CURRENTSP) > MathAbs(LASTSP))) {AFFIR=-ROOT;}if ((CURRENTSP < 0 && LASTSP > 0) &&(MathAbs(CURRENTSP) < MathAbs(LASTSP))) {AFFIR=-ROOT;}
- 01-02-2010, 08:46 PM #45
المواضيع المتشابهه
-
طلب (مؤشر يحسب طول الشمعه)
By Love For Ever in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 5آخر مشاركة: 08-10-2010, 02:16 PM -
مؤشر يحسب سرعة الشمعة
By shift in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 71آخر مشاركة: 19-04-2010, 10:29 PM -
طلب مؤشر يحسب القيمة الزمنية لإنتهاء الشمعة
By yafrahnet in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 2آخر مشاركة: 06-04-2009, 05:26 PM