الطلب واضح لكن لم استطع التنفيذ فالمعذرة
Printable View
لقد قمت بأعطاء امر اذا كانت عدد النقاط الرابحه لكل الصفقات = الفرق بين اكبر هاى ولو لأخر 100 شمعه فسوف يتم غلق الصفقات
وكانت الاوامر كالتالى
والداله كالتالىكود PHP:double H=iHighest(Symbol(),0,MODE_HIGH,100,1);
double L=iLowest(Symbol(),0,MODE_LOW,100,1);
double profit=(H-L)/point;
if(profitpips()>=profit&&OrderType()==OP_BUY){CloseBuyOrders();}
if(profitpips()>=profit&&OrderType()==OP_SELL){CloseSellOrders();}
Print("profit is",profitpips());
فعند عمل باك تست يقوم بفتح الصفقات واغلاقها على الفور فلماذا ؟؟كود PHP:double profitpips(){
for(int i=0;i>=OrdersTotal();i--){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
double p=OrderOpenPrice();
if(OrderType()==OP_BUY){
return((Ask-p)/point);
}
if(OrderType()==OP_SELL){
return((p-Bid)/point);
}
}
}
return(0);
}
ثانيا امر برينت لا يعمل فمن المفترض انه يظهر عند عمل باك تسيت
وما الفرق بين برينت و برينت فورمات
السلام عليكم ورحمة الله وبركاته
اخى العزيز
كل عام وانت بخير
رجاء تلبيه طلبى بسرعه قدر الامكان
اريد كود مناسب لرسم سهم عند ارتداد السعر من خط دعم او مقاومه
(او طريقه كتابه كود لارتداد السعر من خط )
ومشكور مقدما
جزاك الله تعالى خيرا اخى واستاذى الكريم جميل
والله ما قصرت اخى وحبيبى
ربنا يعزك اخى ويكرمك على قدر حبك لمساعدة الاخريين
هل من الممكن مبرمجنا الغالى المهندس أسامه ان يساعدنا لو كان عنده حل فى هذه المشكله البرمجيه ....؟
هذا هو طلبى فى هذه المشاركة
https://forum.arabictrader.com/t3761...ml#post2848616
والاكسبيرت الاصلى اللى طلبت التعديل عليه فى المرفقات
منتظر مساعدتك اخى اسامه
وشكرا لك مرة اخرى اخى جميل
ربنا يعزكما معا ... اللهم امين :hands: :eh_s(7):
اثناء البحث وجدت فكره الارتداداقتباس:
السلام عليكم ورحمة الله وبركاته
اخى العزيز
كل عام وانت بخير
رجاء تلبيه طلبى بسرعه قدر الامكان
اريد كود مناسب لرسم سهم عند ارتداد السعر من خط دعم او مقاومه
(او طريقه كتابه كود لارتداد السعر من خط )
ومشكور مقدما
لا اعلم هل صحيحه ام لا
عموما هذه هى الفكره .... ينقصنى فقط ترجمتها الى كود
اذا كانت صحيحه
1 الارتداد من خط دعم
اذا كان السعر يساوى قيمه خط الدعم عند الشمعه صفر واغلاق الشمعه صفر اكبر من قيمه خط الدعم
انشأ سهم (بمواصفات سهم صاعد)
2 الارتداد من مقاومه
اذا كان السعر يساوى قيمه خط المقاومه عند الشمعه صفر واغلاق الشمعه صفر اقل من قيمه خط المقاومه
انشأ سهم (بمواصفات سهم هابط)
نعم تعبيرك صحيح
لو فرضنا مثلا أن سعر الدعم أو المقاومه هو Level
فسوف يكون شرط الإرتداد من دعم أو مقاومة هو
كود PHP:for(int i=Bars-1;i>0;i--)
{
if(Low[i+1]>Level&&Low[i]<=Level&&Close[i]>Level&&Open[i]>Level)
{
// bounce from support
}
if(High[i+1]<Level&&High[i]>=Level&&Close[i]<Level&&Open[i]<Level)
{
// bounce from Resistance
}
}
حسب ما فهمت فأنت تضيف مجموعة أوامر معلقة بيع وشراء وعند تفعل أحد الأوامر يجب أن تحذف الأوامر العكسيه المرتبطه بنفس المجموعه التي وضعت في نفس التوقيت
يمكنك أن تربط الأوامر التي توضح بكومنت معين وعند تفعل أحد الأوامر تحذف الأوامر العكسيه التي لها نفس الكومنت
كيف يمكن أن تجعل كل مجموعه لها نفس الكومنت ؟ يمكن أن تستخدم التوقيت
مثال
سوف يكون شرط تفعل أحد الأوامر وحذف الأمر المقابل له هوكود PHP:string time_comment=IntegerToString(TimeCurrent());
arr[num][2] = OrderSend(Symbol(),OP_BUYSTOP,arr[num][10],arr[num][3],3,arr[num][5],arr[num][4],time_comment,0,0,CLR_NONE);
arr[num][6] = OrderSend(Symbol(),OP_SELLSTOP,arr[num][10],arr[num][7],3,arr[num][9],arr[num][8],time_comment,0,0,CLR_NONE);
كود PHP:for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
string comment=OrderComment();
if(OrderSymbol()==Symbol()&&OrderType()<=OP_SELL)
{
for(int j=OrdersTotal()-1;j>=0;j--)
{
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
int ticket=OrderTicket();
if(OrderSymbol()==Symbol()&&OrderType()>OP_SELL&&OrderComment()==comment)
{
OrderDelete(ticket);
break;
}
}
}
}
اولا اشكرك جزيل الشكر على الاهتماماقتباس:
نعم تعبيرك صحيح
لو فرضنا مثلا أن سعر الدعم أو المقاومه هو Level
فسوف يكون شرط الإرتداد من دعم أو مقاومة هو
كود PHP:
for(int i=Bars-1;i>0;i--)
{
if(Low[i+1]>Level&&Low[i]<=Level&&Close[i]>Level&&Open[i]>Level)
{
// bounce from support
}
if(High[i+1]<Level&&High[i]>=Level&&Close[i]<Level&&Open[i]<Level)
{
// bounce from Resistance
}
}
لكن للاسف لم يعمل الكود .. ولم افهم الكود بسبب الحلقه التكراريه
وكنت اتوقع وجود Ask , Bid
وليس high, low
لو كان بالامكان كتابه الكود بطريقه غير الحلقه التكراريه اكون شاكر
حتى استطيع فهم الكود
جزاك الله خيرا
السلام عليكم ورحمة الله وبركاتة
اريد وظيفة تضع وقف خسارة لاوامر الشراء والبيع المفتوحة
وذلك في حالة كان وقف الخسارة صفر
وعليكم السلام ورحمة الله وبركاته
ستقوم بعمل دالة للبحث عن الصفقات المفتوحه ثم تضع شرط لتقارن هل الأستوب لها = 0 بالتالي يقوم بوضع الأستوب الجديد
مثال
كود PHP:for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&OrderStopLoss()==0)
{
if(OrderType()==OP_BUY)
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-StopLoss*Point,OrderTakeProfit(),0);
}
if(OrderType()==OP_SELL)
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+StopLoss*Point,OrderTakeProfit(),0);
}
}
}
اللهم بارك في مستر دولار واعطيه من واسع علمك
اذا امكن الرد استاذ اسامه .........