نعم صحيح
ولتغيير عدد الساعات وجعلها بإستخدام عدد الشموع سوف تجعل
كود PHP:if((TimeCurrent()-LastClosedOrderTime())/60/Period()>=1)
Printable View
تفضل
https://forum.arabictrader.com/t106518.html
وهذه الطريقه هي اللتي أستخدمها
السلام عليكم ورحمة الله أستاذ اسامة :eh_s(7):
عملت إكسبريت لمؤشر TopTrend
فيه MaxOrders و خاصية تحديد الربح اليومي و UseHourTrade وخاصية من نوع Bool لإغلاق الصفقات إذا ظهرت إشارة معاكسة ...
وللمرة الأولى حاولت اعمل المضاعفات....إستنادا بإكسبريت MR.dollar_Ahmed920 EA RSI stoch V3.6 فالفكرة هي تحديد معلومات (حجم اللوت و سعر فتح الصفقة) لأخر صفقة في الهيستوري وإذا كانت رابحة سيكمل باللوت الإبتدائي وإذا كانت خاسرة سيقوم بضرب لوتها فيX_ Multiplierْ يحدد في الخصائص الخارجية
و UseMultiplier يجمع لوت أخر صفقة خاسرة مع Lots يحدد خارجيا :0016:
الإكسبريت لاتوجد فيه أخطاء عندما أعمل له Compile و يشتغل عادي إلا المضاعفات :jumpon:
هذا هو كود المضاعفات ..
وفيه أيضا كود الذي يحدد نوع المنصة من حيث Digits ويوجد أيضا digits لم أفهم ما دوره ... :doh:كود PHP:string last;
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{//--1
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{//--2
//for buy order
if(OrderType()==OP_BUY && OrderClosePrice()>=OrderOpenPrice()) last="profit";
if(OrderType()==OP_BUY && OrderClosePrice()<=OrderOpenPrice()) last="loss";
X_lots=OrderLots();
}//--2
else
{//--3
//for SELL order
if(OrderType()==OP_SELL && OrderClosePrice()<=OrderOpenPrice()) last="profit";
if(OrderType()==OP_SELL && OrderClosePrice()>=OrderOpenPrice()) last="loss";
X_lots=OrderLots();
}//--3
}//--1
{//--4
if(X_Multiplier && last=="loss"){//--a4
newLot=Multiplier*X_lots;
}//--a4
else
if(UseMultiplier && last=="loss" ){//--b4
newLot=X_lots+Lots;
}//--b4
else
if(last=="profit" || i<=0)
{//--c4
newLot=lots;
}//--c4
}//--4
وأيضا بخصوص الكود المسؤول عن تحديد الربح اليومي (في أخر الإكسبريت) فهو يعمل بالنقاط أريد طريقة إرجاعه يحسب بالدولار :0031:
وأرجو من فضلك التوضيح أستاذي الكريم :hands:
وبارك الله فيك وجزاك الله خيرا :eh_s(7):
وعليكم السلام ورحمة الله وبركاته
أولا بخصوص هذا الجزء
لماذا تستخدم -1 لماذا تترك الصفقة الأخيره التي أغلقت ولا تبحث عنهاكود PHP:for(int i=OrdersHistoryTotal()-1;i>=0;i--)
ثانيا عندما إستخدمت الحلقه
وبعد تحقق الشروط
وبعد عملية المقارنه إستخدم الأمر break للخروج من الحلقه حتى لا يبحث عن صفقات أخرى وتتغير القيم فما نريده هو الصفقه الأخيره فقطكود PHP:if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
أخيرا إجعل خيار إغلاق الصفقه عند الإشارة العكسيه قبل خيار المضاعفات
مرفق الإكسبرت بعد التعديل
بالنسبه للمتغير digits فسوف تجد أني قمت بتعريفه بهذا الشكل
ففي البروكرات 5 أرقام قيمة Digits تكون 5 للأرقام التي تحتوي على 5 أرقام بعد الفاصل أو 3 للينكود PHP:if(Digits<4)
{
point=0.01;
digits=2;
}
else
{
point=0.0001;
digits=4;
}
لكن أنا أريد إستخدام قيمته Digits كما هي موجوده في البروكرات العاديه التي تحتوي على 4 و 2 أرقام فقط بعد الفاصله لذلك قمت بتعريفها بهذا الشكل
بالنسبه لتحديد الربح اليومي بالدولار بدلا من النقاط سيكون أسهل فسوف تستخدم بدلا من تحديد سعر الإفتتاح والإغلاق وحساب النقاط الرابحه والخاسره سوف تستخدم
لتصبح الدالهكود PHP:OrderProfit()
--------كود PHP:double profitpoints(){
double ProfitPips;
OrderProfit()
for(int i=OrdersHistoryTotal();i>0;i--){
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
double t=OrderOpenTime();
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&t>=iTime(Symbol(),1440,0)){
ProfitPips+=OrderProfit();
}
else if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber&&t<iTime(Symbol(),1440,0))return(ProfitPips);
}
return(ProfitPips);
}
ويا ريت لو تكمل الإكسبرت الذي قمت بعمله فأعتقد لن يأحتاج أكثر من هذه الإضافات ويمكنك عملها الآن
https://forum.arabictrader.com/t138462.html
السلام عليكم ورحمة الله أستاذ أسامة :eh_s(7):
أمس عملت مؤشر للأخ SalemTaxi في هذ االموضوع إستنادا بالمؤشر المرفق :0016:
https://forum.arabictrader.com/t139008.html
هو عبارة عن مؤشر ل 3 مؤشرات Paraboic SAR في مؤشر واحد ....
حاولت عمل التنبيه لإتفاق 3 نقاط Paraboic SAR على إتجاه واحد المشكلة هي أنه يقوم بالتنبيه في جميع الشمعات لا يتوقف التنبيه في الشمعة التي تتفق فيها النقاط الثلاثة للمؤشر
هذا هو كود التنبيه
أرجو من فضلك توضيح الخطأكود PHP:for(i=limit; i>=0; i--){
if( (SARUP1[i]==sar1 && SARUP1[i+1]!=sar1) && (SARUP2[i]==sar2 && SARUP2[i+1]!=sar2) && (SARUP3[i]==sar3 && SARUP3[i+1]!=sar3) && EnableAlert ){
Alert(" confirmation 3 Sar Down ");
}
if( (SARDW1[1]==sar1 && SARDW1[i+1]!=sar1) && (SARDW2[1]==sar2 && SARDW2[i+1]!=sar2) && (SARDW3[1]==sar3 && SARDW3[i+1]!=sar3) && EnableAlert ){
Alert(" confirmation 3 Sar UP ");
}
}
وشكراااااا جزيلاااااااا :eh_s(7):
وعليكم السلام ورحمة الله وبركاته
أولا بالنسبه لشروط المقارنه فأنت تريد المقارنه عندما تتطابق جميع الشروط في نفس الشمعه لكن ليس شرط دائما أن تتغير قيمة المؤشر من بيع إلى شراء في نفس الوقت للثلاث مؤشرات لذلك هذه الشروط لن تفيد
ثم لست بحاجه لإستخدام الحلقه for في التنبيه فأنت تحتاج فقط إلى معرفة قيمة الشمعه الأخيره للسار
مرفق المؤشر بعد التعديلكود PHP:if( (SARUP1[0]!=0 ) && (SARUP2[0]!=0 ) && (SARUP3[0]!=0 ) && EnableAlert&&Time0!=Time[0] &&LastSignal!=1){
Alert(" confirmation 3 Sar Down ");Time0=Time[0];LastSignal=1;
}
if( (SARDW1[0]!=0 ) && (SARDW2[0]!=0 ) && (SARDW3[0]!=0 ) && EnableAlert&&Time0!=Time[0]&&LastSignal!=-1 ){
Alert(" confirmation 3 Sar UP ");Time0=Time[0];LastSignal=-1;
}
الأخوة الكرام
أرجو التكرم بفتح هذا الرابط (أو نقلة إلى هذا القسم) والمساعدة ، خاصة الاستاذ/ مستر دولار .... حفظه الله
https://forum.arabictrader.com/t139103.html
بارك الله فيك أستاذ أسامة :eh_s(7):
أضفت هذه الوضيفة
لاكن لا يصدر أي صوت عند التنبيهكود PHP:PlaySound("alert.wav");
أرجو التوضيح أستاذي الكريم :eh_s(7):كود PHP:if( (SARUP1[0]!=0 ) && (SARUP2[0]!=0 ) && (SARUP3[0]!=0 ) && EnableAlert&&Time0!=Time[0] &&LastSignal!=1){
Alert(" confirmation 3 Sar Down ");
PlaySound("alert.wav");
Time0=Time[0];LastSignal=1;
}
if( (SARDW1[0]!=0 ) && (SARDW2[0]!=0 ) && (SARDW3[0]!=0 ) && EnableAlert&&Time0!=Time[0]&&LastSignal!=-1 ){
Alert(" confirmation 3 Sar UP ");
PlaySound("alert.wav");
Time0=Time[0];LastSignal=-1;
}
وشكراااااااا جزيلاااااااااا
وأرجو تصحيح هذا المؤشر أيضا
هو عبارة عن مؤشر لرسم مستطيل على الشارت
عملت هذا الكود
لا يظهر شيء في الشارت :doh:كود PHP:#property copyright "Copyright 2011 Cher Amine"
#property link "[email protected]"
#property indicator_chart_window
extern string Begin_1 = "08:00";
extern string End_1 = "23:00";
int start()
{
bool objet = ObjectCreate("RECTANGLE", OBJ_RECTANGLE, 0, Begin_1, Low[200], End_1, Low[50]);
ObjectSet("RECTANGLE", OBJPROP_COLOR, Red);
}
وهل تصلح iHigh,iLow,iOpen,iClose في في مكان time1 و time2 داخل ObjectCreate :Emoticon1:
أرجو طريقة العمل أستاذ أسامة وبارك الله فيك :eh_s(7):