السلام عليكم ..
اخي العزيز وضاح عطار بعد الشكر الجزيل لخدماتك في هذا المنتدى اتوجه إليك بسؤال برمجي بلغة برمجة الاكسبرتات بخصوص مؤشر الـ zigzag ..
كيف يمكن استدعاءه برمجيا ؟
وكيف نحدد القمة او القاع الذين تم رسمهما ؟؟
تحياتي وشكرا مقدما :0023:
Printable View
السلام عليكم ..
اخي العزيز وضاح عطار بعد الشكر الجزيل لخدماتك في هذا المنتدى اتوجه إليك بسؤال برمجي بلغة برمجة الاكسبرتات بخصوص مؤشر الـ zigzag ..
كيف يمكن استدعاءه برمجيا ؟
وكيف نحدد القمة او القاع الذين تم رسمهما ؟؟
تحياتي وشكرا مقدما :0023:
للرفع
يستخدم مؤشر الزجزاج طريقة الرسم DRAW_SECTION .
والتي تعني رسم خطوط مستقيمة بين أزمان متباعدة .
ولن تجد قيم صحيحة إلا في القمم والقيعان أما باقي الأزمان فلا توجد قيم .
اخي لم تفهم سؤالي .. قصدت عن طريق الكود كيف احصل على آخر قمة وقاع
باستخادم
iCustom ما هي البارامترت التي تكت في هذه الدالة ..
بانتظار ردك
وهذا كود لتحصل علي أخر قمه أو قاع من الباراميتر السابق
خذ الناتج بعد الأقواسكود:double zigzag=0;
int i=0;
while(zigzag==0){
zigzag=iCustom(NULL,0,"ZigZag",12,5,3,0,i);
i++;
}
إجابة شافية من الأخ تريدر فشكرا له
أما إجابتي فكانت أني افترضت أنك تعرف طريقة استخدام iCustom
زين أنا عندي سؤال أخي تريدر12 إذا ممكن.
هل في كود معين أستخدمه علشان يأكد على الستوب لوز والتريلنق بروفت؟؟ عندي اكسبيرت انا اضفت ليه تريلنق ستوب وماشي تمام بس في الباك تست بعض الأحيان ما يحط نفس الستوب لوز اللي في الكود نفسه يعني أنا حاطه 10 وفي احيان الأكسبيرت يحطه 20؟؟ وهذا شي غريب!!
ونفس الشي مع التريلنق ستوب بعض المرات يصل إلى ربح كبير لكن ما يتحرك التريلنق ستوب أبدا!! فويش الحل ياجماعة الخير؟؟ هل في كود يعمل تست لهذه الخواص في كل عملية بيع أو شراء؟؟
أرجو الأفادة وأسأل الله لكم ولي التوفيق ولجميع المسلمين.
السلام عليكم .. شكرا على مروركم .. الفكرة اني اريد تحديد قمة وقاع تم تكوينهم وليس قيمة الزجزاج الحالية .. قمت بإرفاق صورة .. اريد تحديد القمة والقاع المحددان بدوائر رمادية وليس الحمراء..
https://forum.arabictrader.com/attac...1&d=1238321004
كنت قد ادخلت الكود التالي ولكنه لا يعمل بشكل صحيح ... وللعلم ليس بالضرورة ان اكون خبيرا بكل مجالات اللغة ان استطعت تصميم اكسبرت . يعني انا مثلا لا اعرف كيف اصنع مؤشر
اقتباس:
if(Time[0]>Tim)
{
ObjectsDeleteAll(0);
Tim=Time[0];
int n, i;
double zag, zig;
i=0;
while(n<3)
{
if(zig>0) zag=zig;
zig=iCustom(NULL, 0, "ZigZag", 0, i);
if(zig>0) n+=1;
i++;
}
if(zig>zag)GHigh=zig;GLow=zag;
if(zag>zig)GHigh=zag;GLow=zig;
Comment("GLow = ",GLow ," GHigh = ", GHigh);
ObjectCreate("L1",OBJ_HLINE,0,0,GHigh);
ObjectCreate("L2",OBJ_HLINE,0,0,GLow);
}
تحياتي وشكرا جزيلا
وجدت الحل أن شاء الله
ستقوم بوضع هذا الكود
لأختبار هذا الكود ضع كودين Alert(lastHigh و Alert(LastLow بالمكان المبينكود:int start()
{
//----------------
double U1=ZIGZAG(1);
double U2=ZIGZAG(2);
double LastHigh=MathMax(U2,U1);
double LastLow=MathMin(U2,U1);
Check(LastHigh);
//---------------------
// LastHigh LastLow من هنا ستأخذ قيمة
return(0);
}
//+------------------------------------------------------------------+
double ZIGZAG(int T ){
int R=0;
double zigzag=0;
for(int i=0; i <500; i++){
if(R>T)break;
zigzag=iCustom(NULL,0,"ZigZag",12,5,3,0,i);
if(zigzag!=0)R++;
}
return(zigzag);
}
int Check(double WW ){
if(WW==0){Alert("ZigZag تأكد من وجود مؤشر ");
}else{return(WW);
}
}
كود://+------------------------------------------------------------------+
int start()
{
//----------------
double U1=ZIGZAG(1);
double U2=ZIGZAG(2);
double LastHigh=MathMax(U2,U1);
double LastLow=MathMin(U2,U1);
Check(LastHigh);
//---------------------
// LastHigh LastLow من هنا ستأخذ قيمة
Alert("TheTop :",LastHigh);
Alert("TheBottom :",LastLow);
return(0);
}
//+------------------------------------------------------------------+
double ZIGZAG(int T ){
int R=0;
double zigzag=0;
for(int i=0; i <500; i++){
if(R>T)break;
zigzag=iCustom(NULL,0,"ZigZag",12,5,3,0,i);
if(zigzag!=0)R++;
}
return(zigzag);
}
int Check(double WW ){
if(WW==0){Alert("ZigZag تأكد من وجود مؤشر ");
}else{return(WW);
}
}
لا ادري اين الخطأ في الكود الذي كتبته انا .. وانا اشكرك اخي تريدر... الكود الذي كتبته في غاية الدقة في العمل .. شكرا
اخي trader12 احتاج مساعدتك في طلب...
أريد كود يقوم بكتابة السعر على كل قمة وكل قاع لمؤشر الزيجزاج...
ارجو سرعة الاستجابة....
شكرا جزيلا مقدما.......