السلام عليكم الاخوة الكرام
ارجو المساعده سؤال برمجى
الان على الشارت مؤشر rsi مؤشر الماكد
مع بعض
السؤال هنا
كيف استخراج قيمة مؤشر rsi اصغر من الخط الاحمر من مؤشر الماكد
ولكم الشكر والتقدير
الملف المرفق 455676
Printable View
السلام عليكم الاخوة الكرام
ارجو المساعده سؤال برمجى
الان على الشارت مؤشر rsi مؤشر الماكد
مع بعض
السؤال هنا
كيف استخراج قيمة مؤشر rsi اصغر من الخط الاحمر من مؤشر الماكد
ولكم الشكر والتقدير
الملف المرفق 455676
مشكور اخ goldfile
كون صريح معك انا موكتير بعرف بي برمجه انا بس بعدل على موشر على اكسبريت تعديلات حساب ما شوف معادله بتناسبني ولا لاء
ما بعرف اكتب سكربيت او اكسبريت
بدي منك تخدمني هل خدمه ح ابعتلك موشر بس بدي منك تساويلي اكسبريت يلي قلتلك عليه اذا في مجال
#property copyright "Copyright © 2011,Hamady."
#property link "[email protected]"
#property indicator_chart_window
extern int Shift = 23;
extern color Color0 = Red;
extern color Color1 = Yellow;
extern color Color2 = Aqua;
extern bool UseSound = True;
extern string SoundB = "Buy.wav";
extern string SoundS = "Sell.wav";
extern string SoundC = "Cheng.wav";
datetime time;
//int timeframe=60;
string P0 = "P0";
string P1 = "P1";
string P2 = "P2";
string Signal = "Wait for a signal";
string name = "PoLEVELS";
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
time = 0;
ObjectCreate("P0 line", OBJ_TREND, 0, Time[Shift], 0, Time[0], 0);
ObjectSet("P0 line", OBJPROP_RAY, TRUE);
ObjectSet("P0 line", OBJPROP_STYLE, STYLE_DASH);
ObjectSet("P0 line", OBJPROP_COLOR, Color0);
//----
ObjectCreate("P1 line", OBJ_TREND, 0, Time[Shift], 0, Time[0], 0);
ObjectSet("P1 line", OBJPROP_RAY, TRUE);
ObjectSet("P1 line", OBJPROP_STYLE, STYLE_DASH);
ObjectSet("P1 line", OBJPROP_COLOR, Color1);
//----
ObjectCreate("P2 line", OBJ_TREND, 0, Time[Shift], 0, Time[0], 0);
ObjectSet("P2 line", OBJPROP_RAY, TRUE);
ObjectSet("P2 line", OBJPROP_STYLE, STYLE_DASH);
ObjectSet("P2 line", OBJPROP_COLOR, Color2);
//----
ObjectCreate("P0 label", OBJ_TEXT, 0, Time[0], 0);
ObjectCreate("P1 label", OBJ_TEXT, 0, Time[0], 0);
ObjectCreate("P2 label", OBJ_TEXT, 0, Time[0], 0);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
Comment("");
ObjectDelete("P0 line");
ObjectDelete("P0 label");
//----
ObjectDelete("P1 line");
ObjectDelete("P1 label");
//----
ObjectDelete("P2 line");
ObjectDelete("P2 label");
//----
ObjectDelete("HB");
ObjectDelete("CC");
ObDeleteObjectsByPrefix(name);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
double P=Point;
if (time == Time[0]) return (0);
int error_132 = GetLastError();
if (error_132 == 4066/* HISTORY_WILL_UPDATED */)
{
Sleep(1000);
if (iClose(NULL, 0, 0) != Close[0])
{
Sleep(1000);
return (0);
}
}
//----
//double iOpen_M15 = iOpen(NULL, PERIOD_M15, 1);
//double iClose_M15 = iClose(NULL, PERIOD_M15, 1);
//----
double ihigh_0 = iHigh(NULL, PERIOD_H1, 0);
double ilow_0 = iLow(NULL, PERIOD_H1, 0);
double iClose_0 = iClose(NULL, PERIOD_H1, 0);
double P0 = (ihigh_0 + ilow_0)/2 ;
//----
double ihigh_1 = iHigh(NULL, PERIOD_H1, 1);
double ilow_1 = iLow(NULL, PERIOD_H1, 1);
double iClose_1 = iClose(NULL, PERIOD_H1, 1);
double P1 = (ihigh_1 + ilow_1 + iClose_1 + iClose_1)/4 ;
//----
double ihigh_2 = iHigh(NULL, PERIOD_H1, 2);
double ilow_2 = iLow(NULL, PERIOD_H1, 2);
double iClose_2 = iClose(NULL, PERIOD_H1, 2);
double P2 = (ihigh_2 + ilow_2 + iClose_2 + iClose_2)/4 ;
//----
double C0= iClose_0,A=(C0-P0)/P,B=(C0-P1)/P,C=(P0-P1)/P,D=(P1-P2)/P;
//----
ObjectSetText("P0 label", " P0 ", 8, "Fixedsys", Red);
ObjectSetText("P1 label", " P1 ", 8, "Fixedsys", Yellow);
ObjectSetText("P2 label", " P2 ", 8, "Fixedsys", Aqua);
//----
ObjectMove("P0 label", 0, Time[0], P0);
ObjectMove("P1 label", 0, Time[0], P1);
ObjectMove("P2 label", 0, Time[0], P2);
//----
ObjectMove("P0 line", 0, Time[Shift+5], P0);
ObjectMove("P0 line", 1, Time[0], P0);
//----
ObjectMove("P1 line", 0, Time[Shift], P1);
ObjectMove("P1 line", 1, Time[0], P1);
//----
ObjectMove("P2 line", 0, Time[Shift], P2);
ObjectMove("P2 line", 1, Time[0], P2);
//----
RefreshRates();
if(A>0 && B>6 && C>0 && D>0) //&& iClose_M15>iOpen_M15
Signal = "Buy";
if(UseSound==True&&Signal == "Buy")PlaySound(SoundB);
if(A<0 && B<-6 && C<0 && D<0) //&& iClose_M15<iOpen_M15
Signal = "Sell";
if(UseSound==True&&Signal == "Sell")PlaySound(SoundS);
//----
Comment("\nProg"+"\n"+" ---------------------------- "+
"\n"+" C0-P0 = ",A,
"\n"+" C0-P1 = ",B,
"\n"+" P0-P1 = ",C,
"\n"+" P1-P2 = ",D,
"\n"," ----------------------------",
"\n"+" Signal = ",Signal);
//----*/
ObjectCreate("CC", OBJ_LABEL, 0, 0, 0);
ObjectSet("CC", OBJPROP_CORNER, 3);
ObjectSet("CC", OBJPROP_XDISTANCE, 5);
ObjectSet("CC", OBJPROP_YDISTANCE, 5);
ObjectSet("CC", OBJPROP_BACK, TRUE);
ObjectSetText("CC", "Copyright © 2011,." + Year() + ", Mohamad", 8, "Arial", Silver);
ObjectCreate("HB", OBJ_LABEL, 0, 0, 0);
ObjectSet("HB", OBJPROP_CORNER, 3);
ObjectSet("HB", OBJPROP_XDISTANCE, 5);
ObjectSet("HB", OBJPROP_YDISTANCE, 20);
ObjectSet("HB", OBJPROP_BACK, TRUE);
ObjectSetText("HB", "Mohamad >>> " + Signal + "", 10, "Tahoma Bold", IndianRed);
time = Time[0];
return(0);
}
//+------------------------------------------------------------------+
void ObDeleteObjectsByPrefix(string as) {
string name;
int str_len = StringLen(as);
int j = 0;
while (j < ObjectsTotal()) {
name = ObjectName(j);
if (StringSubstr(name, 0, str_len) != as) {
j++;
continue;
}
ObjectDelete(name);
}
}
//+------------------------------------------------------------------+
القيم التي اوريد سحبها
C0-P0
C0-P1
P0-P1
P1-P2
مع تاريخ وساعه ونوع الفريم
وشكرن
السلام عليكم،
عندما يفتح الاكسبيرت صفقات على أزواج مختلفة، بعضها يكون فيها sl و tp وبعضها الآخ يُفتح بدون ستوب وهدف
هذا هو الكود الذي يفتح الصفقات: tp=3 و sl=10
منصة AL-Trade :كود:result=0;
result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"EA Generator ",MagicNumber,0,Blue);
if(result>0)
{
TheStopLoss=0;
TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
OrderSelect(result,SELECT_BY_TICKET);
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
}
الملف المرفق 455694
جربت نفس الاكسبيرت على منصة أخرى وكانت صفقات زوج الين دولار فقط من تُفتح بدون ستوب ولا هدف.
لا أعلم أين الخطأ في الكود. هل من مساعدة؟
اخي الكريم منطق التقاطع يقتضي ان يتساوى المؤشرين في القيمة في فترة زمنية معينة وهذا ما لن يحدث مع الماكد و RSI باعتبار ان قيمهم متباعدة جدا
انا قلت لك ترفق المؤشر لاقارنه بمؤشر عندي اسمه macd-on-rsi ولكن يبدو انك لاتستعمل مؤشر بل قمت بعمل drop للمؤشرين فحسب
اذا كنت تريد المؤشر ارفقه لك قد تستفيد منه
السلام عليكم ورحمة الله وبركاته
استاذنا الغالى اسامه
احتاج الى داله تستخرج هاى ولو عدد من الشموع كالتالى
بداية البحث افتتاح شمعة اليومى
نهاية البحث عندما تتكون 3 شموع هابطه او 3 شموع صاعده ولا يشترط التوالى
ثم نقوم بتحديد الهاى واللو لهذه الفتره
جرب الكود بهذا الشكل
ارفقت لك الكود بالامس ولكن لم تظهر المشاركة لا ادري ماذا يحدثكود:int result=0;
double TheStopLoss=0;
double TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
result=OrderSend(Symbol(),OP_BUY,FirstLot,Ask,Slippage,TheStopLoss,TheTakeProfit,"EA Generator ",MagicNumber,0,Blue);
if(result>0)
{
bool select = OrderSelect(result,SELECT_BY_TICKET);
Print("Buy order opened at :",OrderOpenPrice());
}else{
Print("Error opning Buy order : " , GetLastError());
}
بالتوفيق