النتائج 1 إلى 3 من 3
- 07-07-2012, 10:09 PM #1
طلب : كود قفل جزء من العقد بعد عدد نقاط معين
السلام عليكم ورحمة الله وبركاته
بعد اذنكم يا جماعة اللى ليه خبرة فى البرمجة اواللى يعرف يجاوب على سؤالى ياريت يرد عليا
واكون شاكر ليكم جداً
وانا محتاج فكرة الكود بس وانا ححاول اعدل عليه
انا محتاج كود يغلق اجزاء من العقد المفتوح بعد عدد نقاط معين
يعنى عايز كود يقفل جزء من العقد كل ما الصفقة تتحرك 10 نقاط مثلاً فى اتجاهاها
مثال للتوضيح
ولنفترض الصفقة مفتوحة شراء بحجم 10 لوت مثلاً عند سعر 1.5000
انا عايز كل ما السعر يزيد 10 نقط يتم غلق 10 % من اللوت المفتوح
يعنى عند سعر 1.5010 يتم غلق 1 لوت ويبقى الصفقة شغاله بـ 9 لوت بس
وعند سعر 1.5020 يتم غلق 0.9 لوت ويبقى الصفقة شغاله بـ 8.1 لوت
وهكذا
كل ما السعر يتحرك 10 نقط يتم غلق جزء من العقد
انا محتاج فكرة الكود بس وانا ححاول اعدل عليه ان شاء الله
واسف على ازعاجكم جميعاً
- 07-07-2012, 11:09 PM #2
رد:طلب : كود قفل جزء من العقد بعد عدد نقاط معين
وعليكم السلام ورحمة الله
هذا الكود يغلق اربع اجزاء وكمل انت الباقى الكسل والشيب مخلني ما اقدر اكتب
اولا فى الخيارات الخارجيه للاكسبرت
كود PHP:extern bool UsePartialClose=true;
extern int PercentClose1=10;
extern int TakeProfit1=10;
extern int PercentClose2=10;
extern int TakeProfit2=20;
extern int PercentClose3=10;
extern int TakeProfit3=30;
extern int PercentClose4=10;
extern int TakeProfit4=40;
كود PHP:if(UsePartialClose==true)
{PartialClose();}
كود PHP:int PartialClose()
{
for (int cnt = 0 ; cnt < OrdersTotal() ; cnt++)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
int tick=OrderTicket();
if (OrderMagicNumber() == MagicNumber && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY&&Bid>(OrderOpenPrice()+TakeProfit1*point)&&OrderLots()==Lots)
{
OrderClose(tick,NormalizeDouble(PercentClose1*Lots/100,2),NormalizeDouble(Bid,Digits),3*Q);
}
if (OrderType()==OP_SELL&&Ask<(OrderOpenPrice()-TakeProfit1*point)&&OrderLots()==Lots)
{
OrderClose(tick,NormalizeDouble(PercentClose1*Lots/100,2),NormalizeDouble(Ask,Digits),3*Q);
}//////
if (OrderType()==OP_BUY&&Bid>(OrderOpenPrice()+TakeProfit2*point)&&OrderLots()==(MathAbs(Lots-PercentClose1*Lots/100)))
{
OrderClose(tick,NormalizeDouble((PercentClose2)*Lots/100,2),NormalizeDouble(Bid,Digits),3*Q);
}
if (OrderType()==OP_SELL&&Ask<(OrderOpenPrice()-TakeProfit2*point)&&OrderLots()==(MathAbs(Lots-PercentClose1*Lots/100)))
{
OrderClose(tick,NormalizeDouble((PercentClose2)*Lots/100,2),NormalizeDouble(Ask,Digits),3*Q);
}///////
if (OrderType()==OP_BUY&&Bid>(OrderOpenPrice()+TakeProfit3*point)&&OrderLots()==(MathAbs(Lots-(PercentClose1+PercentClose2)*Lots/100)))
{
OrderClose(tick,NormalizeDouble((PercentClose3)*Lots/100,2),NormalizeDouble(Bid,Digits),3*Q);
}
if (OrderType()==OP_SELL&&Ask<(OrderOpenPrice()-TakeProfit3*point)&&OrderLots()==(MathAbs(Lots-(PercentClose1+PercentClose2)*Lots/100)))
{
OrderClose(tick,NormalizeDouble((PercentClose3)*Lots/100,2),NormalizeDouble(Ask,Digits),3*Q);
}///////
if (OrderType()==OP_BUY&&Bid>(OrderOpenPrice()+TakeProfit4*point)&&OrderLots()==(MathAbs(Lots-(PercentClose1+PercentClose2+PercentClose3)*Lots/100)))
{
OrderClose(tick,NormalizeDouble((PercentClose4)*Lots/100,2),NormalizeDouble(Bid,Digits),3*Q);
}
if (OrderType()==OP_SELL&&Ask<(OrderOpenPrice()-TakeProfit4*point)&&OrderLots()==(MathAbs(Lots-(PercentClose1+PercentClose2+PercentClose3)*Lots/100)))
{
OrderClose(tick,NormalizeDouble((PercentClose4)*Lots/100,2),NormalizeDouble(Ask,Digits),3*Q);
}///////
}
}
return(0);
}
- 08-07-2012, 12:07 AM #3
تمااااااااام اوى والف شكرررررررررر
بجد مش عارف اقول لحضرتك ايه
حضرتك سهلت عليا كتير اوى
كان واجع دماغى الكود ده ومش عارف اجيب فكرته ! :D
الف شكر مرة تانية وبعتذر لحضرتك على الإزعاج