وعليكم السلام ورحمة الله وبركاته
السبب في خيار CloseHalf وهو إغلاق نصف الصفقه الرابحه عندما تحقق ربح مساوي للخساره في الصفقه السابقه ووضع الأستوب لوز عند نقطة الدخول
قم بتعطيل هذا الخيار إذا أردت
Printable View
السلام عليكم استاذ اسامه
اردت ان اعمل داله تأتى بقيمة الفرق بين اعلى هاى وللو لأخر 20 شمعه
فجعلتها هكذا ولاكن بها مشكله
كود PHP:double hl(){
for(int i=0;i<=OrdersTotal();i++){
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==magicnumber){
int h=iHighest(Symbol(),0,MODE_HIGH,20,0);
int l=iLowest(Symbol(),0,MODE_LOW,20,0);
double hlp=((High[h]-Low[l]));
}}
return(hlp);
}
السلام عليكم ورحمة الله وبركاته
استاذي العزيز خيارCloseHalf وهو إغلاق نصف الصفقه الرابحه عندما تحقق ربح مساوي للخساره في الصفقه السابقه انا احتاجه بشده وهو من ضمن استيراتيجيتي ولكن وضع ستوب عند نقطة الدخول انا لا احتاجه ولم اطلبه لذلك ارجو مسح وضع الاستوب عند نقطة الدخول من الاكسبيرت
ولك جزيل الشكر
لن تحتاج لعمل دالة لإن الأمر كله على بعضه سطر واحد
يمكنك وضع السطر البرمجي ده في دالة start مباشرة بدون عمل دوال خارجية
وخد بالك إنك كده الناتج لن يكون بالنقاط وإنما سيكون بالشكل ده مثلا 0.0054كود PHP:double hlp=High[iHighest(Symbol(),0,MODE_HIGH,20,0)]-Low[iLowest(Symbol(),0,MODE_LOW,20,0)];
فلو عايز يكون الناتج بالنقاط ستقوم بزيادة القسمة على Point
إنت لو كتبت السطر في دالة إستارت ... لو شروط البيع والشراء أيضا في دالة إستارت لن يكون هناك مشكلة
ويمكن إستدعاء hlp عادي
------------------------------------
لكن لو تقصد إنك عامل دوال خارجية تفتح عمليات البيع والشراء
يبقى عادي إعمل دالة من النوع double وضع بها السطر البرمجي الموجود في المشاركة السابقة
إللي أقصده من كلامي ده كله إنك مش محتاج إلا السطر البرمجي إللي في المشاركة السابقةكود PHP:double hl(){
double hlp=High[iHighest(Symbol(),0,MODE_HIGH,20,0)]-Low[iLowest(Symbol(),0,MODE_LOW,20,0)];
return(hlp);
}
ولا يوجد داعي لإستخدام حلقة تبحث في الصفقات المفتوحة ! ولا شرط توافق العملة ولا الماجيك نمبر
------------------
السلام عليكم
أريد طريقة استطيع منها مسح بار معين من ملف ال History
ربنا يخليكم ردوا عليا
شكرااااااااااااااااااااااااااااااااااااااااااااااا اااا كتييييييييييييييييييييييييييييييييييييييييييرا أخي مستر دولار هدا ماأحتاجه بضبط
لا تزعل مني لدي طلب أخر وهو.
كود متعقب السعر
.إدى وصل السعر إلى 10 نقاط ربح ينتقل الى 2 نقاط
وإدى وصل إلى 30 نقطة ربح ينتقل إلى 10 نقاط
وشكرا مرتا أخرى على مساعدتك القيمة
وعليكم السلام ورحمة الله وبركاته
راجع هذا الموضوع
https://forum.arabictrader.com/t44571.html
طيب انا كتبت الداله بالشكل ده من غير تأكيد الماجك نامبر ولا السيمبول
كود PHP:double hl(){
for(int i=0;i<=OrdersTotal();i++){
int h=iHighest(Symbol(),0,MODE_HIGH,20,0);
int l=iLowest(Symbol(),0,MODE_LOW,20,0);
double hlp=((High[h]-Low[l]));
return(hlp);
}}
يا أخي شرحت لك في المشاركة السابقة بأنه لايوجد فائدة من الحلقة for
ووضعت لك حلين يا إما تكتب السطر بالشكل ده في إستارت
وتستدعيها عادي في إستارت مثلاكود PHP:double hlp=High[iHighest(Symbol(),0,MODE_HIGH,20,0)]-Low[iLowest(Symbol(),0,MODE_LOW,20,0)];
مع مراعاة إنك تعرف hlp فوق في إستارت قبل إستدعائها لإن الكود يقرأ بالترتيب ( من فوق لتحت يعني )كود PHP:int start ()
{
double hlp=High[iHighest(Symbol(),0,MODE_HIGH,20,0)]-Low[iLowest(Symbol(),0,MODE_LOW,20,0)];
if(hlp>0.0050){
OrderSend(Symbol(),OP_BUY,lot,Ask,3,SL,TP,"",MagicNumber,0,Green);
}
if(hlp<0.0050){
OrderSend(Symbol(),OP_SELL,lot,Bid,3,SL,TP,"",MagicNumber,0,Red);
}
}
-------------------------------------
الحل الأخر لو إنت عامل دوال خارجية لفتح عمليات البيع والشراء وعايز تعمل دالة خارجية لحساب hlp
لن تحتاج للحلقةلإن الحلقة دي فايدتها إنها تبحث في العمليات المفتوحة ( يعني ملهاش علاقة بالدالة إللي إنت عايزها )كود PHP:for(int i=0;i<=OrdersTotal();i++){
الدالة إللي إنت محتاجها بسيطة نفس السطور إللي كاتبها تحت الحلقة دي تعملها دالة لواحدها بالشكل ده
وإستدعاء الدالة في أي دالة أخرى بيكون بالشكل دهكود PHP:double hl(){
double hlp=High[iHighest(Symbol(),0,MODE_HIGH,20,0)]-Low[iLowest(Symbol(),0,MODE_LOW,20,0)];
return(hlp);
}
----------------------------كود PHP:if(hl()>0.0050){
OrderSend(Symbol(),OP_BUY,lot,Ask,3,SL,TP,"",MagicNumber,0,Green);
}
if(hl()<0.0050){
OrderSend(Symbol(),OP_SELL,lot,Bid,3,SL,TP,"",MagicNumber,0,Red);
}
طبعا دوال البيع والشراء في الشرح دي مجرد أمثلة المهم طريقة إستدعاء المتغير hlp وطريقة إستدعاء الدالة hl()