وعليكم السلام ورحمة الله وبركاته
في هذه الحالة لا يجب أن تعتمد على حساب عدد الصفقات لكن إعتمد على شرط الدخول التقاطع وشرط الدخول مره واحده فقط في الشمعه التي حدث عندها التقاطع
مثلا إكسبرت تقاطع خطي موفينج أفريج
كود PHP:
double ma_fast=iMA(NULL,0,Fast_MA,0,Fast_MA_Mode,Fast_MA_ApplyTo,1);
double ma_fast_pr=iMA(NULL,0,Fast_MA,0,Fast_MA_Mode,Fast_MA_ApplyTo,2);
double ma_slow=iMA(NULL,0,Slow_MA,0,Slow_MA_Mode,Slow_MA_ApplyTo,1);
double ma_slow_pr=iMA(NULL,0,Slow_MA,0,Slow_MA_Mode,Slow_MA_ApplyTo,2);
فيكون شرط التقاطع بيع
كود PHP:
if (ma_fast<ma_slow&&ma_fast_pr>=ma_slow_pr)
ونحتاج إلى شرط آخر وهو الدخول مره واحده فقط في التقاطع
- يمكنك تعريف متغير من نوع datetime وعند الدخول في الصفقه تجعله = الشمعه الحاليه وتضع هذا الشرط في المقارنه
فيصبح الشرط كامل
كود PHP:
double ma_fast=iMA(NULL,0,Fast_MA,0,Fast_MA_Mode,Fast_MA_ApplyTo,1);
double ma_fast_pr=iMA(NULL,0,Fast_MA,0,Fast_MA_Mode,Fast_MA_ApplyTo,2);
double ma_slow=iMA(NULL,0,Slow_MA,0,Slow_MA_Mode,Slow_MA_ApplyTo,1);
double ma_slow_pr=iMA(NULL,0,Slow_MA,0,Slow_MA_Mode,Slow_MA_ApplyTo,2);
static datetime Timee;
if (ma_fast>ma_slow&&ma_fast_pr<=ma_slow_pr&&Timee!=Time[0])
{
OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3*P,0,0,"0 EA",MagicNumber,0,Blue);
PlaySound("Alert.wav");
Timee=Time[0];
}