النتائج 61 إلى 75 من 524
الموضوع: تصميم "عظم باكتسر فوري"
- 10-07-2017, 12:36 AM #61
اسفل الصورة مؤشر AO -- مؤشر معروف مثل الماكد موجود وجاهز في الميتا
الشرط:
الشراء: اول شمعة تغلق فوق خط الصفر ندخل شراء ونخرج اذا عادت واغلقت اول شمعة تحت الصفر
البيع : اول شمعة تغلق تحت خط الصفر ندخل بيع ونخرج اذا عادت واغلقت اول شمعة فوق الصفر
حسب الكود اعلاه--- xo قيمة المؤشر للشمعة الاحدث j بينما قيمة x1 قيمة المؤشر للشمعة قبلها j+1
وبالتالي هو يكتشف التقاطع اذا
(1)
قيمة الشمعة j+1 تحت الصفر بينما قيمة الشمعة الاحدث j فوق الصفر
(2)
قيمة الشمعة j+1 فوق الصفر بينما قيمة الشمعة الاحدث j تحت الصفر
- 10-07-2017, 12:42 AM #62
الان نخش في التعقيد--ما اعتقد راح يفهم!! ولكن!
- 10-07-2017, 12:47 AM #63
وركز رجاءً---لأننا ذكرنا او شرطنا الاغلاق--يعني ننتظر حتى يتم الاغلاق فنأخذ القرار في الشمعة بعد الكونفرميشن, وبالتالي:
نعدل في البرنامج مايترجم هذا الكلام, فالشمعة الحالية رقم 0, والكونفرميشن يبنى على الشمعة 1 والشمعة رقم2 -- اخر شمعتين قبل شمعة الان,
وبناء عليه نغير ال 1 الى 2 و 0 الى 1.
تجنبنا "يعيد رسم نفسه" !! حيث القرار مبني على قيم لا تتغير--قيم منتهية.آخر تعديل بواسطة فيلسوف البادية ، 10-07-2017 الساعة 12:50 AM
- 10-07-2017, 12:52 AM #64
اريدك ان تتصور تم اختيار 0 و 1 --- ومؤشر ao قيمه تعتمد على القمة والقاع--وبالتالي لو كان هناك قاع احدث في نفس الشمعة خلال اليوم وكان سابقا قطع الصفر للاعلى -- فإنه سيعود تحت الصفر وقد يحدث هذا في الشمعة الواحدة عدة مرات--فيكون الشرط تحقق دخولا وخروجا والارجح كلها خسارة!
ولكن مع 1 و 2 قيم هستوري سابقة منتهية لا تتغير.
والآن مع شرط التقاطع من خلال الدالة الشرطية التي تقارن x0 و x1 بالصفر
أوليات عقلية: اذا واحد منهم تحت الصفر والاخر فوق الصفر -- اكيد صار فيه تقاطع.
- 10-07-2017, 01:05 AM #65
فهو سيفر على الشموع بالترتيب بدءا من اقدم شمعة الشمعة رقم 50 كما حددنا سلفا وحتى اخر شمعة مغلقة.
نتوقع بعد ذلك إذا حدث القطع أن يميزه لوحده, هل هو قطع للأعلى أم للأسفل--لأن القرارات ستختلف
مثلا للاعلى نوع العملية يختلف فيما لو تم القطع للأسفل--الاولى شراء والثانية بيع.
ولكن لأنه تم القطع فإن هناك حاجة اسمها "عملية" وبالتالي نرقمها لهذا الزوج,
اليورو دولار لو حدث ست تقاطعات نتوقع ان البرنامج دخل عليه ست صفقات وكل صفقة مرقمة لهذا الزوج, ناهيك عن الرقم التسلسلسي لكل العمليات لكل الأزواج وهذا سنتحدث عنه لاحقاُ
مثلا سألت عن الصفقة الرابعة على هذا الزوج--مباشرة نعرف اين هي بين الصفقات الكثيرة.آخر تعديل بواسطة فيلسوف البادية ، 10-07-2017 الساعة 01:11 AM
- 10-07-2017, 01:15 AM #66
إذن سنعرف متغير يحصي عدد الصفقات الكلي على كل زوج؟, ولأن هناك ازواج كثيرة لابد يكون مصفوفة,
وايضا نعرف متغير اخر يحفظ رقم الصفقة الخاصة بهذا الزوج لوحده. الصفقة الاولى عليه؟, الصفقة الثانية عليه؟, وهكذا, . . .
والاخيرة كما يقضي العقل لابد تكون مصفوفة ثنائية, لـ 1) رقم الزوج نفسه, 2) الرقم التسلسلي للصفقات الخاصة بهذا الزوج.
- 10-07-2017, 01:27 AM #67
- 10-07-2017, 01:34 AM #68
وهناك أمر واحد فقط اذا تمت معرفته, تمت معرفة بقية الامور, وهو رقم شمعة الدخول! لأنك بعدها بالورقة والقلم, تعرف الاقتتااح-اعلى سعر بعد ذلك ادنى سعر الخ!!
معلومة واحدة فقط كافية لتعرف كل شيء آخر.
الورقة واقللم تأخذ وقت وبالتالي نحن نستعيض عنها بالبرمجة, وعندما نقول الورقة والقلم نحن نعني دقة نتائج 100%
إذن لابد نسجل شمعة التقاطع, او بالأحرى الشمعة بعد ثبوت التقاطع, شمعة الدخول
ولاحظ في البرنامج السابق, لوووب الشموع داخل لوووب الازواج, وبالتالي لن يرتبها زمانيا لأنه يبدأ بصفقات زوج معين ثم ينتقل للزوج بعده, وبناء عليه لايمكن يحسب الدروداون كل يوم كذا,
ولكن الان نحن سنخزن شموع الدخول لكل زوج, ثم فيما بعد ندخلها الخلاط ليرتب الصفقات حسب اقدم شمعة فالتي بعدها
اذن نعرف متغير لحفظ رقم شمعة الدخول, "وبالتالي وقت الدخول" سنسميه PairEntryCandle
وكما يقضي العقل ايضا---لابد يكون مصفوفة من بُعدين
وقيمتها ستكون j --- لماذا؟
لاننا اعتمدنا j+1 و j+2 والشمعة بعدها هي الشمعة j -- الشمعة التي بعد ثبوت التقاطع لاخر شمعتين.آخر تعديل بواسطة فيلسوف البادية ، 10-07-2017 الساعة 01:43 AM
- 10-07-2017, 01:47 AM #69
- 10-07-2017, 01:51 AM #70
- 10-07-2017, 01:54 AM #71
والآن عرفنا أهم شيء وقت الدخول أو شمعة الدخول؟ برمجياً الأمر سيان.
إذن لابد نحدد هل هي بيع ام شراء كما تم بيانه سابقاً
- 10-07-2017, 02:06 AM #72
- 10-07-2017, 02:11 AM #73
- 10-07-2017, 04:11 PM #74
اخي فيلسوف البادية ...
رجاءا وضع الاكواد
فضلا ..... تحياتي
- 10-07-2017, 08:32 PM #75كود:
string str; string S[] = {"EUR" ,"GBP" ,"AUD" ,"NZD" ,"USD" ,"CAD" ,"CHF" ,"JPY"}; string pairs[28]; string pair_0[28]; int NoOfCandles=50; int OnInit() { ChartSetInteger(0,CHART_FOREGROUND,0,FALSE); ChartSetInteger(0,CHART_COLOR_BACKGROUND,clrBlack); ChartSetInteger(0,CHART_COLOR_CHART_LINE,ChartGetInteger(0,CHART_COLOR_BACKGROUND)); ChartSetInteger(0,CHART_MODE,CHART_LINE); ChartSetInteger(0,CHART_SHOW_GRID,0,FALSE); ChartSetInteger(0,CHART_SHOW_OHLC,0,FALSE); ChartSetInteger(0,CHART_SHOW_BID_LINE,0,FALSE); ObjectCreate( "CHART_HIDE",OBJ_LABEL,0,0,0); ObjectSet( "CHART_HIDE",OBJPROP_CORNER,0); ObjectSet( "CHART_HIDE",OBJPROP_XDISTANCE,5); ObjectSet( "CHART_HIDE",OBJPROP_YDISTANCE,25); ObjectSetText("CHART_HIDE",CharToStr(108),12,"wingdings",clrRed); ObjectCreate( "CHART_CANDLES",OBJ_LABEL,0,0,0); ObjectSet( "CHART_CANDLES",OBJPROP_CORNER,0); ObjectSet( "CHART_CANDLES",OBJPROP_XDISTANCE,25); ObjectSet( "CHART_CANDLES",OBJPROP_YDISTANCE,25); ObjectSetText("CHART_CANDLES",CharToStr(108),12,"wingdings",clrYellow); ObjectCreate( "CHART_LINE",OBJ_LABEL,0,0,0); ObjectSet( "CHART_LINE",OBJPROP_CORNER,0); ObjectSet( "CHART_LINE",OBJPROP_XDISTANCE,45); ObjectSet( "CHART_LINE",OBJPROP_YDISTANCE,25); ObjectSetText("CHART_LINE",CharToStr(108),12,"wingdings",clrWhite); EventSetTimer(1); str =StringSubstr(Symbol(),6,10); /////////////////////////// int j=-1; for(int i=0;i<=6;i++) { for(int k=i+1;k<=7;k++) { j++; pairs[j]=S[i]+S[k]+str; pair_0[j]=pairs[j]; } } return(INIT_SUCCEEDED); } //////////////////////// void OnTimer() { ChartSetInteger(0,CHART_FOREGROUND,0,BackOrForeground); ChartSetInteger(0,CHART_COLOR_CHART_LINE,LineColor); ChartSetInteger(0,CHART_MODE,ChartMode); for(int i=0;i<28;i++) { if(pair_0[i]==pairs[i]) color clr=clrLime; else clr=clrWhite; ObjectCreate( "B_"+StringSubstr(pairs[i],0,6)+"_"+i, OBJ_LABEL,0,0,0); ObjectSet( "B_"+StringSubstr(pairs[i],0,6)+"_"+i, OBJPROP_CORNER,0); ObjectSet( "B_"+StringSubstr(pairs[i],0,6)+"_"+i, OBJPROP_XDISTANCE,20); ObjectSet( "B_"+StringSubstr(pairs[i],0,6)+"_"+i, OBJPROP_YDISTANCE,50+i*13); ObjectSetText( "B_"+StringSubstr(pairs[i],0,6)+"_"+i, StringSubstr(pairs[i],0,6),9,"Tahoma",clr); // ObjectCreate( "A_"+StringSubstr(pairs[i],0,6)+"_"+i, OBJ_LABEL,0,0,0); ObjectSet( "A_"+StringSubstr(pairs[i],0,6)+"_"+i, OBJPROP_CORNER,0); ObjectSet( "A_"+StringSubstr(pairs[i],0,6)+"_"+i, OBJPROP_XDISTANCE,5); ObjectSet( "A_"+StringSubstr(pairs[i],0,6)+"_"+i, OBJPROP_YDISTANCE,50+i*13); ObjectSetText( "A_"+StringSubstr(pairs[i],0,6)+"_"+i, CharToStr(110),9,"wingdings",clr); } ObjectCreate( "ACTIVATE_ALL",OBJ_LABEL,0,0,0); ObjectSet( "ACTIVATE_ALL",OBJPROP_CORNER,0); ObjectSet( "ACTIVATE_ALL",OBJPROP_XDISTANCE,25); ObjectSet( "ACTIVATE_ALL",OBJPROP_YDISTANCE,425); ObjectSetText("ACTIVATE_ALL",CharToStr(110),12,"wingdings",clrLime); ObjectCreate( "CANCEL_ALL",OBJ_LABEL,0,0,0); ObjectSet( "CANCEL_ALL",OBJPROP_CORNER,0); ObjectSet( "CANCEL_ALL",OBJPROP_XDISTANCE,45); ObjectSet( "CANCEL_ALL",OBJPROP_YDISTANCE,425); ObjectSetText("CANCEL_ALL",CharToStr(110),12,"wingdings",clrGray); ObjectCreate( "REMOVE_EXPERT",OBJ_LABEL,0,0,0); ObjectSet( "REMOVE_EXPERT",OBJPROP_CORNER,0); ObjectSet( "REMOVE_EXPERT",OBJPROP_XDISTANCE, 195); ObjectSet( "REMOVE_EXPERT",OBJPROP_YDISTANCE, 0); ObjectSetText( "REMOVE_EXPERT",CharToStr(255),18,"Wingdings",clrWhite); ObjectCreate( "CLEAN_CHART",OBJ_LABEL,0,0,0); ObjectSet( "CLEAN_CHART",OBJPROP_CORNER,0); ObjectSet( "CLEAN_CHART",OBJPROP_XDISTANCE,145); ObjectSet( "CLEAN_CHART",OBJPROP_YDISTANCE,0); ObjectSetText("CLEAN_CHART","DEL",15,"Times New Roman",clrWhite); ObjectCreate( "Object_Name",OBJ_LABEL,0,0,0); ObjectSet( "Object_Name",OBJPROP_CORNER,0); ObjectSet( "Object_Name",OBJPROP_XDISTANCE,245); ObjectSet( "Object_Name",OBJPROP_YDISTANCE,0); ObjectSetText("Object_Name",Object_Name,11,"Times New Roman",clrWhite); ///////////////////////// int PairTotallPosition[28]; int PairPositionSerial[28][200]; int PairEntryCandle[28][200]; string Pair_Order_Type[28][200]; ///////////////////// for(i=0;i<=27;i++) {//for(i=0;i<28;i++) PairTotallPosition[i]=-1; if(pairs[i]==pair_0[i]) {//if(pairs[i]==pair_0[i]) for(int j=NoOfCandles;j>=1;j--) {//for(int j=0;j<=NoOfCandles;j++) double x0=iAO(pair_0[i],0,j+1); double x1=iAO(pair_0[i],0,j+2); if((x0<=0 && x1>=0) || (x0>=0 && x1<=0)) {//if((x0<0 && x1>0) || (x0>0 && x1<0)) PairTotallPosition[i]++; int m=PairTotallPosition[i]; PairPositionSerial[i][m]=m; PairEntryCandle[i][m]=j; if(x0>=0 && x1<=0) { Pair_Order_Type[i][m]="BUY"; } if(x0<=0 && x1>=0) { Pair_Order_Type[i][m]="SELL"; } }//if((x0<0 && x1>0) || (x0>0 && x1<0)) //-- //- //- }//for(int j=0;j<=NoOfCandles;j++) }//if(pairs[i]==pair_0[i]) }//for(i=0;i<28;i++) }//OnTimer ////////////////////////////////////////////// string Object_Name; ////////////////////////////////////////////// bool BackOrForeground=false; ENUM_CHART_MODE ChartMode=CHART_LINE; color LineColor=ChartGetInteger(0,CHART_COLOR_BACKGROUND); void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if(id==CHARTEVENT_OBJECT_CLICK) { ////////////////////////// if(sparam=="CHART_HIDE") { LineColor=ChartGetInteger(0,CHART_COLOR_BACKGROUND); ChartMode=CHART_LINE; BackOrForeground=false; } if(sparam=="CHART_CANDLES") { LineColor=clrOrange; ChartMode=CHART_CANDLES; BackOrForeground=true; } if(sparam=="CHART_LINE") { LineColor=clrOrange; ChartMode=CHART_LINE; BackOrForeground=true; } Object_Name=sparam; if(StringSubstr(sparam,0,2)=="A_") { int I1=StrToInteger(StringSubstr(sparam,9,StringLen(sparam)-9)); pair_0[I1]="YYYXXX"; } if(StringSubstr(sparam,0,2)=="B_") { int I2=StrToInteger(StringSubstr(sparam,9,StringLen(sparam)-9)); pair_0[I2]=pairs[I2];; } if(sparam=="CANCEL_ALL") { for(int k=0;k<=27;k++) pair_0[k]="YYYXXX"; } if(sparam=="ACTIVATE_ALL") { for( k=0;k<=27;k++) pair_0[k]=pairs[k]; } if(sparam=="CLEAN_CHART") ObjectsDeleteAll(); if(sparam=="REMOVE_EXPERT") {ObjectsDeleteAll();ExpertRemove();} ///////////////////////////////////////// } }