هذا المثال يوضح فكرتي مع العلم ان الاكسبرت يعمل على عديد الازواج و تايمات مختلفة .
Printable View
السلام عليكم
استاذنا الفاضل مستر دولار
اريد كود يبحث عن اكبر حجم لوت في الصفقات المفتوحه
بارك الله فيكم إخواني .. ياريت لو يتم اعادة رفع المصادر المفتوحة ويتم شرحها مثل هذه الطريقة فهذه هي احسن طريقة لتعلم هذه اللغة وشكرا لكم
كود:long currChart,prevChart=ChartFirst();
int i=0,limit=100;
Print("ChartFirst =",ChartSymbol(prevChart)," ID =",prevChart);
while(i<limit)// We have certainly not more than 100 open charts
{
currChart=ChartNext(prevChart); // Get the new chart ID by using the previous chart ID
if(currChart<0) break; // Have reached the end of the chart list
Print(i,ChartSymbol(currChart)," ID =",currChart);
if(ChartSymbol(currChart)=="EURUSD")
{
ObjectCreate(currChart,name,OBJ_TEXT,0,time,price);
}
prevChart=currChart;// let's save the current chart ID for the ChartNext()
i++;// Do not forget to increase the counter
}
أخي اسامة ممكن تتأكد من الكود تبعك لأن الجزئية الخاصة بالشرط حتى يحسب الارقام كلها فيها مشكلة
if(sum>9)
{
GetNumber(num);
}
return(sum);
وعليكم السلام ورحمة الله وبركاته
هذا مثال
كود PHP:double GetMaxLot()
{
double max_lot;
for(int i=0;i<OrdersTotal();i++)
{
bool select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderLots()>max_lot)max_lot=OrderLots();
}
}
return(max_lot);
}
السلام عليكم ورحمة الله
عندي سؤال حول كيفية تقريب الأرقام (round a number) بطريقة محددة.
مثلا A= 0.01x كيف يمكن أن أحول A برمجيا إلى 0.02 =B مهما كانت قيمة x
ونفس الشيء ل A= 0.1x إلي 0.2 =B مهما كانت قيمة x
شكرا مسبقا
السلام عليكم ورحمة الله
عندي سؤال عن كيفية تقريب الأرقام (round a number)
مثلا A=0.01xxx كيف يمكن تحويلها برمجيا إلى B=0.02 مهما كانت قيمة X
و A=0.1xxx كيف يمكن تحويلها برمجيا إلى B=0.2 مهما كانت قيمة X
شكرا مسبقا
نعم الكود كان يحتاج بعض التعديلات تفضل هذا الكود كامل قمت بتجربته جيدا قبل إرفاقه سيعمل بشكل صحيح
كود PHP:double GetNumber(double num,bool firsImplement=false)
{
double number=0;
if(firsImplement)
number=num/Point;
else number=num;
string text=DoubleToStr(number,0);
int length=StringLen(text);
int sum=0;
Print(number);
for(int i=0;i<length;i++)
{
string chr=StringSubstr(text,i,1);
sum+=(StringToInteger(chr));
}
if(sum>9)
{
sum=GetNumber(sum);
}
return(sum);
}
كود PHP:void OnTimer()
{
double Set=0.8171;
double Dr=((MathPow(10,MathCeil(MathAbs(MathLog10(Set))))* Set)+1)/MathPow(10,MathCeil(MathAbs(MathLog10(Set))));
Print(Set+"__"+(Dr));
}