لماذا لم يحن الوقت لتعلم لغة البرمجه mql5 ?
Printable View
لماذا لم يحن الوقت لتعلم لغة البرمجه mql5 ?
مالفرق بين الميتاتريدر 4 و 5 وهل هناك مايستحق ؟
سلام عليكم و رحمة الله و بركاته
عندي استفسار عن طريقة عمل تريلنج ستوب بحسب الستوب لوز لكل صفقة منفردة
يعني الستوب لوز بكل صفقة بكون بيفرق عن الستوب لوز عن صفقة اخرى لانو الاكسبرت اوتوماتيكيا بيحدد الستوب
مثلا من خلال اخيار اخر قاع او حسب موشر ATR
اوكود:iHighest(NULL,0,MODE_HIGH,20,1);
لنفرض ان الاكسبرت حدد ان ستوب لوز يساوي 20 نقطةكود:iLowest(NULL,0,MODE_LOW,10,1);
فكرة تريلنج ستوب بحيث كل لما تحرك السعر بعدد يساوي نقاط الستوب لوز يتحرك الترينج بنفس عدد النقاط
مثلا 20 نقطة تحرك السعر التريلنج عند نقطة الدخول
تحرك 20 نقطة اضافية (يعني بالكامل 40 ) تحرك التريلنج 20 نقطة
ولا يتحرك الا اذا تحرك السعر بعدد معين لا اقل او اكثر كل 20 نقطة كما في المثال مع العلم ان الهدف اكبر من ستوب لوز طبعا (على اقل 2 او 3 )
جربت ابرمج البريك ايفين نجحت لانو اسهل من حيث المنطق (بيتحرك مرة و كافي )
كود:extern bool BreakEvenByFisrtTakeProfit = false ;
//|---------Break Even By Fisrt TakeProfit
bool Select5 = OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY)
{
if((BreakEvenByFisrtTakeProfit))
{
if(NormalizeDouble((Bid-OrderOpenPrice()),Digits)>(NormalizeDouble(OrderOpenPrice()-(OrderStopLoss()),Digits)))
{
if(NormalizeDouble((OrderStopLoss()-OrderOpenPrice()),Digits)<0)
{
bool Modify7 =OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()+0*Point,Digits),OrderTakeProfit(),0,Blue);
;
}
}
}
}
else
{
if((BreakEvenByFisrtTakeProfit))
{
if(NormalizeDouble((OrderOpenPrice()-Ask),Digits)>(NormalizeDouble((OrderStopLoss()-OrderOpenPrice()),Digits)))
{
if(NormalizeDouble((OrderOpenPrice()-OrderStopLoss()),Digits)<0)
{
bool Modify8 = OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(OrderOpenPrice()-0*Point,Digits),OrderTakeProfit(),0,Red);
;
}
}
}
}
}
}
;
https://www.mql5.com/en/forum/9945
نفس طلبك مطروح على الرابط قبل ست سنوات
دائما للزوج الواحد يوجد صفقة واحدة مفتوحة
أي صفقة إضافية يجمعها على الصفقة الموجودة وبالتالي سعر الفتح الذي تراه هو المتوسط
يعني تحتاج السطر التالي فقط لمعرفة المتوسط الحسابي برمجيا
double avgPrice = PositionGetDouble(POSITION_PRICE_OPEN); f
ثم إضافة التيك بروفت او أي شيء اخر تريده بناء عليه
السلام عليكم ورحمة الله وبركاتة
هل هذه الوظيفة صحيحة لتعمل على دايفرجنس الار اس اي
ام ان بها اخطاء
بارك الله فيكم
كود PHP:
int RSI()
{
for(int i=10; i >= 0; i--)
{
if( (iRSI(Symbol(),0,RSI,PRICE_TYPICAL,1) > iRSI(Symbol(),0,RSI,PRICE_TYPICAL,i) ) && (High[1]<High[i]))
{
return(1);
Comment("The trend is up");
}
else if( (iRSI(Symbol(),0,RSI,PRICE_TYPICAL,1) < iRSI(Symbol(),0,RSI,PRICE_TYPICAL,i) ) && (High[1]>High[i]))
{
return(2);
Comment("The trend is down");
}
}
return(0);
}
السلام عليكم اخي اسامة
لوسمحت مطلوب الكود لهذه الفكره
الملف المرفق 511766
غلط:
1) اللوب
2) المتغير rsi جعلته دالة
3) اللوب والاعادة داخله!!
اشرح ما تريد مستقلاً
بارك الله فيك اخي
اريد الدخول شراء مع هذا الدايفرجنس لمؤشر الار اس اي
الملف المرفق 511767
فقط؟؟ هذا هو المطلوب
طيب ليش معقد البرنامج أعلاه
اللوب اختيارك للدورة 10 شموع هل له هدف؟؟
سبب الدايفرجنس في الصورة ان الشمعة رقم 14 طويلة خرجت من الحساب مع نشوء شمعة جديدة
فهمت من صورتك شرط تحت 30 وفوق 70 --- مع أهمية تخالف الاتجاه "الدايفرجنس"
يا ليت تفتح لها موضوع مستقل أخي -- لانها تتجاوز الأسئلة السريعة