السلام عليكم
أستاذي ومعلمي مستر دولار تحية طيبة
قمت بتصميم اكسبيرت للبولنجر وواجهتني مشكلة غريبة في إغلاق الصفقات عند ملامسة السعر لأحد حدي البولنجر
فعند عمل إعداد البولنجر deviation=2 يعمل الاغلاق تمام 100%
بينما عند deviation=3 يعمل فقط عند حدوث اختراق بشمعتين أو أكثر وفي حالات كثيرة لا يتفعل الاغلاق مع أن الملامسة واضحة على الشمعة 0
وللعلم إعداد deviation متغير خارجي ضمن قيم دالة البولنجر وشروط الاغلاق كالتالي:
كود:
double Upper0=iBands(Symbol(),0,period,deviation,shift,PRICE_CLOSE,MODE_UPPER,0);
double Lower0=iBands(Symbol(),0,period,deviation,shift,PRICE_CLOSE,MODE_LOWER,0);
if((Close[0]>=Upper0)||(Ask>=Upper0))
{
CloseBuy();
}
if((Close[0]<=Lower0)||(Bid<=Upper0))
{
CloseSell();
}
سؤال برمجي آخر لو سمحت
أريد فتح صفقة كل 30 ثانية
جربت الكود التالي ولم يعمل بل يفتح صفقة كل إغلاق شمعة
كود PHP:
datetime LastOrderOpenTime()
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
return(OrderOpenTime());
}
}
return(0);
}
void BuyOrder()
{
if((Time[0]-LastOrderOpenTime())<30)return;
OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"Kira-h",MagicNo,0,Blue);
}
وشكرا جزيلا :)