1 مرفق
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة reda-hadhod
السلام عليكم ورحمة الله
فى المرفقات أكسبرت TrendMeLeaveMe_Gold وقد أرفقة هنا من فترة أخونا وضاح لكن أعتقد لا يعمل
أمر sell stop هو الوحيد الذى يعمل اما البقية لا تعمل ولا اعرف السبب
رجاء أن أمكن أخونا أسامة تتطلع على الاكسبرت وان يوجد أكسبرت مشابة لة أعطنى اياة او الرابط
ولكم جزيل الشكر.
وعليكم السلام ورحمة الله وبركاته
السبب كان في أن الإكسبرت لا يعمل على بروكر 5 أرقام مرفق الإكسبرت تم تعديله
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة dshurrab
السلام عليكم أخواني وما شاءالله عليكم علم ونور ان شاءالله
أحتاج الى كود سيستخدم في مؤشر يعمل ما يلي:
يلغي الفاصلة من رقم الزوج .. مثلا اليورو دولا 1.3252
يقوم بتحويلها ل 13252
ثم يقوم بجمع الرقام حتى أخر رقم وحيد :
1+3+2+5+2=13
1+3=4
بحاجة ان اصل لأخر رقم
كل اشكر والتقدير
وعليكم السلام ورحمة الله وبركاته
أولا لإلغاء الفاصله ستقوم الرقم على قيمة النقطة
مثال
كود PHP:
int price=Bid/Point;
الآن لجمع الأرقام مع بعضها
ستحتاج أولا إلى تحديد كل رقم لوحده وجميعهم مع بعض ووضع مقارنه إذا كان الناتج أكبر من 9 يعيد جمع الأرقام الناتجه مره أخرى حتى يتبقى رقم واحد صحيح في النهايه
مثال
كود PHP:
int price=Close[1]/Point;
string PriceText=DoubleToStr(price,0);
double Add;
for(int j=0;j<=StringLen(PriceText);j++)
{
if(j==StringLen(PriceText))
{
if(Add<10)break;
else
{
PriceText=DoubleToStr(Add,0);
Add=0;
j=0;
}
}
Add+=StrToDouble(StringSubstr(PriceText,j,1));
}
ولو أني لم أفهم ماذا ستستفيد من هذا الكود فربما تشرح لنا لاحقا
رد:موضوع مخصص للأسئلة البرمجية
[I] اقتباس:
المشاركة الأصلية كتبت بواسطة Jmeel
أستاذي الدالة الثامية هذه تعطيني افتتاح الشمعة الصاعدة رقم 20 المحددة في البريك ، لكن ليس هذا قصدي ، ما أريده هو أدني قيمة افتتاح Open للشمعة الصاعدة الأدنى من بين العشرين فقد تكون الأدنى هي الشمعة السابعة او الثانية عشر مثلا فأنا أريد قيمة افتتاحها هي فقط ، راجع الصورة التي رفعتها لك وسيتضح لك ما أريد . تحياتي .
حاولت استخراج اقل افتتاح لشمعة صاعدة ضمن مجموعة من عشرين شمعة لكن برضه يعطيني قيمة افتتاح الشمعة 20 فقط .
كود PHP:
double ss;
for(int i=10; i<=Bars ;i++)
{
if(Close[i]>Open[i])
ss=Open[i];
{
if(Open[0]<Open[i]) ss=Open[0];
if(Open[i]<Open[0]) ss=Open[i];
}
Comment(ss);
break;
}[/i]
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة Jmeel
السلام عليكم ورحمة الله
أستاذي الفاضل أسامة احتاج دالة للحصول على سعر ادنى أفتتاح لشمعة صاعدة وهذه الشمعة تكون بين عدد من الشموع الصاعدة والهابطة و غير مرتبة كما في الصورة كمثال . والصورة ستوضح المطلوب .
السلام عليكم اخى الكريم
على حسب علمى المتواضع جدا
بتوفيق ان شاء الله
كود PHP:
int open_shift=iLowest(Symbol(),0,MODE_OPEN,20/* يتم وضع نهاية البحث*/,1/* يتم وضع هنا بداية البحث*/);
double open=Open[open_shift];
Comment(open," ",open_shift);
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة Jmeel
شكرا لك اخي الفاضل سمير ، ليس هذا قصدي وانما اذا فحصت افتتاح آخر 20 شمعة صاعدة مثلا (الصاعدة فقط) الذي أريده هو قيمة الأفتتاح لأقل شمعة خلال ال 20 شمعة .
طيب جرب هذه الطريقة
كود PHP:
string nam;
int open_shift=iLowest(Symbol(),0,MODE_OPEN,20/* يتم وضع نهاية البحث*/,1/* يتم وضع هنا بداية البحث*/);
double open=Open[open_shift];
if(Open[open_shift]>Close[open_shift])nam="BUY";
if(Open[open_shift]<Close[open_shift])nam="SELL";
if(Open[open_shift]==Close[open_shift])nam="Doji";
Comment(open," ",open_shift,"\n",nam);
رد:موضوع مخصص للأسئلة البرمجية
اقتباس:
المشاركة الأصلية كتبت بواسطة Mohamed_Amr
ممكن استاذ اسامه كود جعل الاكسبريت لايعمل عند تحقيق الهدف بالنقاط او بالدولار
ويعمل مع بدايه يوم جديد
وبالتوفيق
ضع هذا الكود في المتغيرات كود PHP:
extern bool TotalTradeProfit = true;
extern double USD_Total_Profits = 10;
ثم ضه هذا الكود في الشروط :
كود PHP:
if(TotalTradeProfit && profit() > USD_Total_Profits)Delete_Close_AllOrders();
ثم ضع هذه الدالتين بنهاية الأكسبيرت :
كود PHP:
double profit(){
double c;
for(int i=0;i<OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==MagicNo){
c=c+OrderProfit();
}
}
return(c);
}
//---------------------------
int Delete_Close_AllOrders()
{
int total, i;
bool result = false;
total = OrdersTotal();
for(i=total-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS,MODE_TRADES);
if(OrderMagicNumber()==MagicNo)
{
result = false;
switch(OrderType())
{
case OP_BUY: OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); break;
case OP_SELL: OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );break;
case OP_SELLSTOP: OrderDelete(OrderTicket()); break;
case OP_BUYSTOP: OrderDelete(OrderTicket()); break;
}
}
}
return(0);
}
هذه الطريقة الأسهل لأيقاف الأكسبيرت بعد الوصول للربح الذي ترضاه اتبعها حاليا حتى تتقدم وبعدها يوجد طرق اخرى لكنها معقدة قليلا :
ضع هذا الكود في المتغيرات وحدد فيه قيمة الأكوايتي الجديد يعني اذا ابتديت بألف دولار ضعه 1100 كمثال :
كود PHP:
extern double aequity=1100;
ثم ضع هذا الشرط في المتغيرات :
كود PHP:
if(AccountEquity()>= aequity)Delete_Close_AllOrders(); return(0);