النتائج 151 إلى 165 من 524
الموضوع: تصميم "عظم باكتسر فوري"
- 16-07-2017, 07:32 AM #151
هذه ابرز خصائص عظم الباكتستر الفوري,
مسألة فكرية مؤجلة:
الان دخلنا شراء
ومر ايام, هل القمة ذلك اليوم او القاعد حدثت قبل لحظة الدخول ام بعدها
لكي تصمم باكتستر فوري موثو بنتائجه صممه على اسؤا الاحتمالات,
وبالتالي:
1) للشراء تجاهل قمة ذلك اليوم(لأنها ربح) وابدأ من اليوم اللاحق واحسب فقط على القاع لذلك اليوم لأنه خسارة
2) للبيع تجاهل قاع ذلك اليوم(لأنها ربح) وابدأ من اليوم اللاحق واحسب فقط على القمة لذلك اليوم لأنه خسارة
وبالتالي اي نتيجة يعطيها الباكتستر الفوري, لاشك ان الواقع افضل منها, وهذا قمة الموثوقية
نعد صياغة الكود على النحو التالي:
- 16-07-2017, 07:58 AM #152
- 16-07-2017, 08:01 AM #153
- 16-07-2017, 08:09 AM #154
- 16-07-2017, 08:13 AM #155
الآن نتأكد من صحة أن شموع الخروج بعد شموع الدخول, مثلا في لصورة السابقة صفقة الكيبل بتاريخ 9 - 6 - 2017 يوجد بها خطأ (تقريبا هي الصفقة الوحيدة التي فيها خطأ وهو السعر الاعلى فقط--بقية القيم صحيحة)
السبب: اننا حتى الان برمجيا لم نفحص ان شمعة الخروج بعد شمعة الدخول--عني تخيل الزوج اليوم قطع للاسفل وغدا قطع للاعلى واليوم بعده عاد وقطع للاسفل
اسفل 25 و 25 نفس اليوم ولكن من خلال الدوال حدث فترة = -1 فعاد البرنامج الى تاريخ 1971 كانت القمة 1.7000
آخر تعديل بواسطة فيلسوف البادية ، 16-07-2017 الساعة 08:17 AM
- 16-07-2017, 08:27 AM #156
فلابد ان يكون البرنامج خاليا من الاخطاء الفكرية التي قد تنشأ ام من خطأ شخصي او من لغة البرمجة نفسها, حتى وإن كان الكود مكتوب بشكل صحيح.
-
آخر تعديل بواسطة فيلسوف البادية ، 16-07-2017 الساعة 08:29 AM
- 16-07-2017, 08:31 AM #157
قد تضيف اعمدة اخرى ل 1) اللوتات 2) الربح او الخسارة بالدولار الخ
يأتي:
الآن عرفنا تفاصيل كل صفقة--والصفقات مرتبة حسب الاقدم--ممكن تجعلها حسب الاحدث
1) نريد ان نرسم اي صفقة نضغط عليها
2) نريد حساب الدروداون على اسؤا احتمال بنهاية كل يوم (شمعة)
الاسبوع القادم ان شاء الله تعالى.
-
الآن المجال مفتوح للاسئلة على ماسبق.
ومن لديه اقتراحات تخص العرض الخ لايبخل بها,
ايضا من كان من عملاء المنتدى ولديه فكرة يريد تجربتها شرط ان تكون سهلة هذه الفترة يطرحها
اسبوع مخصص للاسئلة والتصحيحاتآخر تعديل بواسطة فيلسوف البادية ، 16-07-2017 الساعة 08:45 AM
- 16-07-2017, 08:51 AM #158
- 16-07-2017, 08:56 AM #159
- 16-07-2017, 08:59 AM #160
للتفكير: نريد شرط الدخول مبني على متوسط 7 و 21 و 63؟
تقطاع الصغرين عكسيا فوق 63 شراء
تقاطع الصغيرين عكسيا تحت 63 بيع
ماهو التعديل الطفيف على الكود اسفل--محصلة ماسبق,
والهدف للتبسيط: الاغلاق بعد يومين من الدخول-باغلاق اليوم الثاني:
كود:string SELECTOR ="POSITIONS"; int PageNumber=1; string str; string S[] = {"EUR" ,"GBP" ,"AUD" ,"NZD" ,"USD" ,"CAD" ,"CHF" ,"JPY"}; string pairs[28]; string pair_0[28]; int NoOfCandles=50; int XPairPositionSerial[800]; int XPair_Entry_Candle[800]; string XPair_Order_Symbol[800]; double XPair_Entry_Price[800]; string XPair_Order_Type[800]; int XPair_Exit_Candle[800]; double XPair_Exit_Price[800]; double XHigh_Price[800]; double XLow_Price[800]; double Pips_On_Close[800]; double Pips_On_Worst[800]; double Pips_On_Best[800]; 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); 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); if(SELECTOR=="POSITIONS") color SelClr=clrLime; else SelClr=clrGray; ObjectCreate( "POSITIONS",OBJ_LABEL,0,0,0); ObjectSet( "POSITIONS",OBJPROP_CORNER,0); ObjectSet( "POSITIONS",OBJPROP_XDISTANCE,400); ObjectSet( "POSITIONS",OBJPROP_YDISTANCE,0); ObjectSetText("POSITIONS",CharToStr(174),12,"wingdings",SelClr); if(SELECTOR=="HISTORY") SelClr=clrLime; else SelClr=clrGray; ObjectCreate( "HISTORY",OBJ_LABEL,0,0,0); ObjectSet( "HISTORY",OBJPROP_CORNER,0); ObjectSet( "HISTORY",OBJPROP_XDISTANCE,420); ObjectSet( "HISTORY",OBJPROP_YDISTANCE,0); ObjectSetText("HISTORY",CharToStr(174),12,"wingdings",SelClr); 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]; string Pair_Order_Symbol[28][200]; double Pair_Entry_Price[28][200]; int Pair_Exit_Candle[28][200]; ///////////// int TotalPositions; ///////////// for(int 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)) TotalPositions++; PairTotallPosition[i]++; int m=PairTotallPosition[i]; PairPositionSerial[i][m]=m; PairEntryCandle[i][m]=j; Pair_Order_Symbol[i][m]=pair_0[i]; Pair_Entry_Price[i][m]=iOpen(pair_0[i],0,j); if(x0>=0 && x1<=0) {//if(x0>=0 && x1<=0) Pair_Order_Type[i][m]="BUY"; for(int k=j+1;k>=1;k--) {//for(k=j+1;k>=1;k--) double y0=iAO(pair_0[i],0,k); double y1=iAO(pair_0[i],0,k+1); if(y0<=0 && y1>=0) {//if(y0<=0 && y1>=0) Pair_Exit_Candle[i][m]=k; break; }//if(y0<=0 && y1>=0) }//for(k=j+1;k>=1;k--) }//if(x0>=0 && x1<=0) if(x0<=0 && x1>=0) {//if(x0<=0 && x1>=0) Pair_Order_Type[i][m]="SELL"; for(k=j+1;k>=1;k--) {//for(k=j+1;k>=1;k--) double z0=iAO(pair_0[i],0,k); double z1=iAO(pair_0[i],0,k+1); if(z0>=0 && z1<=0) {//if(y0<=0 && y1>=0) Pair_Exit_Candle[i][m]=k; break; }//if(y0<=0 && y1>=0) }//for(k=j+1;k>=1;k--) }//if(x0<=0 && x1>=0) }//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++) int YY=-1; for(i=0;i<=27;i++) {//for(i=0;i<=27;i++) for(m=0;m<=PairTotallPosition[i];m++) {//for(j=0;j<=PairTotallPosition[i];j++) YY++; XPairPositionSerial[YY] = PairPositionSerial[i][m]; XPair_Entry_Candle[YY] = PairEntryCandle[i][m]; XPair_Order_Symbol[YY] = Pair_Order_Symbol[i][m]; XPair_Entry_Price[YY] = Pair_Entry_Price[i][m]; XPair_Order_Type[YY] = Pair_Order_Type[i][m]; XPair_Exit_Candle[YY] = Pair_Exit_Candle[i][m]; }//for(j=0;j<=PairTotallPosition[i];j++) }////for(i=0;i<=27;i++) for(i=0;i<YY;i++) {//for(i=0;i<YY;i++) for(j=i+1;j<=YY;j++) {//for(j=i+1;j<=YY;j++) if(XPair_Entry_Candle[i]<XPair_Entry_Candle[j]) {//if(XPair_Entry_Candle[i]<XPai int swap1=XPairPositionSerial[i]; XPairPositionSerial[i]=XPairPositionSerial[j]; XPairPositionSerial[j]=swap1; int swap2=XPair_Entry_Candle[i]; XPair_Entry_Candle[i]=XPair_Entry_Candle[j]; XPair_Entry_Candle[j]=swap2; string swap3=XPair_Order_Symbol[i]; XPair_Order_Symbol[i]=XPair_Order_Symbol[j]; XPair_Order_Symbol[j]=swap3; double swap4=XPair_Entry_Price[i]; XPair_Entry_Price[i]=XPair_Entry_Price[j]; XPair_Entry_Price[j]=swap4; string swap5=XPair_Order_Type[i]; XPair_Order_Type[i]=XPair_Order_Type[j]; XPair_Order_Type[j]=swap5; int swap6=XPair_Exit_Candle[i]; XPair_Exit_Candle[i]=XPair_Exit_Candle[j]; XPair_Exit_Candle[j]=swap6; }//if(XPair_Entry_Candle[i]<XPai }//for(j=i+1;j<=YY;j++) }//for(i=0;i<YY;i++) for(i=0;i<=YY;i++) { if(XPair_Exit_Candle[i]>=XPair_Entry_Candle[i]) XPair_Exit_Candle[i]=XPair_Entry_Candle[i]-1; XPair_Exit_Price[i]=iClose(XPair_Order_Symbol[i],0,XPair_Exit_Candle[i]); int TOTAL_PERIOD = XPair_Entry_Candle[i] - XPair_Exit_Candle[i] + 1; int START = XPair_Exit_Candle[i]; if(XPair_Order_Type[i]=="BUY") { XHigh_Price[i]=iHigh(XPair_Order_Symbol[i],0,iHighest(XPair_Order_Symbol[i],0,MODE_HIGH, TOTAL_PERIOD-1,START)); XLow_Price[i]=iLow( XPair_Order_Symbol[i],0,iLowest( XPair_Order_Symbol[i],0,MODE_LOW, TOTAL_PERIOD, START)); } if(XPair_Order_Type[i]=="SELL") { XHigh_Price[i]=iHigh(XPair_Order_Symbol[i],0,iHighest(XPair_Order_Symbol[i],0,MODE_HIGH, TOTAL_PERIOD, START)); XLow_Price[i]=iLow( XPair_Order_Symbol[i],0,iLowest( XPair_Order_Symbol[i],0,MODE_LOW, TOTAL_PERIOD-1,START)); } if(XPair_Order_Type[i]=="BUY") { Pips_On_Close[i] = MathPow(10,MarketInfo(XPair_Order_Symbol[i],MODE_DIGITS)-1)*(XPair_Exit_Price[i]-XPair_Entry_Price[i]); Pips_On_Worst[i] = MathPow(10,MarketInfo(XPair_Order_Symbol[i],MODE_DIGITS)-1)*(XLow_Price[i] - XPair_Entry_Price[i]); Pips_On_Best[i] = MathPow(10,MarketInfo(XPair_Order_Symbol[i],MODE_DIGITS)-1)*(XHigh_Price[i] - XPair_Entry_Price[i]); } if(XPair_Order_Type[i]=="SELL") { Pips_On_Close[i] = MathPow(10,MarketInfo(XPair_Order_Symbol[i],MODE_DIGITS)-1)*(XPair_Entry_Price[i] - XPair_Exit_Price[i]); Pips_On_Worst[i] = MathPow(10,MarketInfo(XPair_Order_Symbol[i],MODE_DIGITS)-1)*(XPair_Entry_Price[i] - XHigh_Price[i]); Pips_On_Best[i] = MathPow(10,MarketInfo(XPair_Order_Symbol[i],MODE_DIGITS)-1)*(XPair_Entry_Price[i] - XLow_Price[i]); } } ////////////// double PositionsPerPage=40.0; int TotalPages=MathCeil(TotalPositions/PositionsPerPage)+1; for(i=1;i<=TotalPages;i++) { if(i==PageNumber) color clrPage=clrRed; else clrPage=clrWhite; ObjectCreate( "Page_Number_"+i, OBJ_LABEL,0,0,0); ObjectSet( "Page_Number_"+i, OBJPROP_CORNER,0); ObjectSet( "Page_Number_"+i, OBJPROP_XDISTANCE,80+20*i); ObjectSet( "Page_Number_"+i, OBJPROP_YDISTANCE,30); ObjectSetText( "Page_Number_"+i, i,9,"Tahoma",clrPage); } for(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( "C_"+StringSubstr(pairs[i],0,6)+"_"+i, OBJ_LABEL,0,0,0); ObjectSet( "C_"+StringSubstr(pairs[i],0,6)+"_"+i, OBJPROP_CORNER,0); ObjectSet( "C_"+StringSubstr(pairs[i],0,6)+"_"+i, OBJPROP_XDISTANCE,75); ObjectSet( "C_"+StringSubstr(pairs[i],0,6)+"_"+i, OBJPROP_YDISTANCE,50+i*13); if(PairTotallPosition[i]+1>=1) ObjectSetText( "C_"+StringSubstr(pairs[i],0,6)+"_"+i, PairTotallPosition[i]+1,9,"TAHOMA",clrWhite); else ObjectSetText( "C_"+StringSubstr(pairs[i],0,6)+"_"+i,"-",9,"TAHOMA",clrRed); } Comment(TotalPositions," ",YY); int yy2[]={0,50,50,50,100,50,100,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50}; int AA=100; int rr; string Heading[]={"#","p#","CE","EntryTime","CX","ExitTime","Type","Symbol","Cprice","EntryP","ExitP","HEE","LEE","PPips","BestP","WorstP"}; for(j=0;j<=15;j++) { rr=rr+yy2[j]; ObjectCreate( "Heading_"+j,OBJ_LABEL,0,0,0); ObjectSet( "Heading_"+j,OBJPROP_CORNER,0); ObjectSet( "Heading_"+j,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Heading_"+j,OBJPROP_YDISTANCE, 50); ObjectSetText( "Heading_"+j,Heading[j],8,"Tahoma",clrWhiteSmoke); } if(PageNumber==1) int SPage=0; else SPage=1; int FF=-1; if(SELECTOR=="POSITIONS") { for(i=(PageNumber-1)*40-SPage ; i<(PageNumber-1)*40+40-SPage ;i++) { if(i<=YY) { if(XPair_Order_Type[i]=="BUY" && XPair_Exit_Candle[i]>0) color posCLR=clrGreen; else if(XPair_Order_Type[i]=="SELL"&& XPair_Exit_Candle[i]>0) posCLR=clrOrange; else if(XPair_Order_Type[i]=="BUY" && XPair_Exit_Candle[i]==0) posCLR=clrLime; else if(XPair_Order_Type[i]=="SELL"&& XPair_Exit_Candle[i]==0) posCLR=clrRed; else posCLR=clrWhite; FF++; rr=0; j=0; rr=rr+yy2[j]; ObjectCreate( "Serial_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Serial_"+FF,OBJPROP_CORNER,0); ObjectSet( "Serial_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Serial_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Serial_"+FF, i ,8,"Tahoma",posCLR); j++; rr=rr+yy2[j]; ObjectCreate( "Pair_Position_Serial_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Pair_Position_Serial_"+FF,OBJPROP_CORNER,0); ObjectSet( "Pair_Position_Serial_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Pair_Position_Serial_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Pair_Position_Serial_"+FF, XPairPositionSerial[i] ,8,"Tahoma",posCLR); j++; rr=rr+yy2[j]; ObjectCreate( "Entry_Candle_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Entry_Candle_"+FF,OBJPROP_CORNER,0); ObjectSet( "Entry_Candle_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Entry_Candle_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Entry_Candle_"+FF, XPair_Entry_Candle[i] ,8,"Tahoma",posCLR); j++; rr=rr+yy2[j]; ObjectCreate( "Entry_Time_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Entry_Time_"+FF,OBJPROP_CORNER,0); ObjectSet( "Entry_Time_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Entry_Time_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Entry_Time_"+FF, TimeToStr(iTime(XPair_Order_Symbol[i],0,XPair_Entry_Candle[i])) ,8,"Tahoma",posCLR); j++; rr=rr+yy2[j]; ObjectCreate( "Exit_Candle_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Exit_Candle_"+FF,OBJPROP_CORNER,0); ObjectSet( "Exit_Candle_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Exit_Candle_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Exit_Candle_"+FF, XPair_Exit_Candle[i] ,8,"Tahoma",posCLR); j++; rr=rr+yy2[j]; ObjectCreate( "Exit_Time_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Exit_Time_"+FF,OBJPROP_CORNER,0); ObjectSet( "Exit_Time_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Exit_Time_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Exit_Time_"+FF,TimeToStr(iTime(XPair_Order_Symbol[i],0,XPair_Exit_Candle[i])),8,"Tahoma",posCLR); j++; rr=rr+yy2[j]; ObjectCreate( "Order_Type_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Order_Type_"+FF,OBJPROP_CORNER,0); ObjectSet( "Order_Type_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Order_Type_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Order_Type_"+FF, XPair_Order_Type[i] ,8,"Tahoma",posCLR); j++; rr=rr+yy2[j]; ObjectCreate( "Order_Symbol_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Order_Symbol_"+FF,OBJPROP_CORNER,0); ObjectSet( "Order_Symbol_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Order_Symbol_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Order_Symbol_"+FF, XPair_Order_Symbol[i] ,8,"Tahoma",posCLR); j++; rr=rr+yy2[j]; ObjectCreate( "Current_Price_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Current_Price_"+FF,OBJPROP_CORNER,0); ObjectSet( "Current_Price_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Current_Price_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Current_Price_"+FF, "CP" ,8,"Tahoma",posCLR); j++; rr=rr+yy2[j]; ObjectCreate( "Entry_Price_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Entry_Price_"+FF,OBJPROP_CORNER,0); ObjectSet( "Entry_Price_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Entry_Price_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Entry_Price_"+FF, XPair_Entry_Price[i] ,8,"Tahoma",posCLR); j++; rr=rr+yy2[j]; ObjectCreate( "Exit_Price_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Exit_Price_"+FF,OBJPROP_CORNER,0); ObjectSet( "Exit_Price_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Exit_Price_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Exit_Price_"+FF, XPair_Exit_Price[i] ,8,"Tahoma",posCLR); j++; rr=rr+yy2[j]; ObjectCreate( "High_Price_Since_Entry_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "High_Price_Since_Entry_"+FF,OBJPROP_CORNER,0); ObjectSet( "High_Price_Since_Entry_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "High_Price_Since_Entry_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "High_Price_Since_Entry_"+FF, XHigh_Price[i] ,8,"Tahoma",posCLR); j++; rr=rr+yy2[j]; ObjectCreate( "Low_Price_Since_Entry_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Low_Price_Since_Entry_"+FF,OBJPROP_CORNER,0); ObjectSet( "Low_Price_Since_Entry_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Low_Price_Since_Entry_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Low_Price_Since_Entry_"+FF, XLow_Price[i] ,8,"Tahoma",posCLR); j++; rr=rr+yy2[j]; if(Pips_On_Close[i]>=0) color clr1=clrLime; else if(Pips_On_Close[i]<0) clr1=clrRed; ObjectCreate( "Profit_or_Loss_in_Pips_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Profit_or_Loss_in_Pips_"+FF,OBJPROP_CORNER,0); ObjectSet( "Profit_or_Loss_in_Pips_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Profit_or_Loss_in_Pips_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Profit_or_Loss_in_Pips_"+FF, Pips_On_Close[i] ,8,"Tahoma",clr1); j++; rr=rr+yy2[j]; if(Pips_On_Best[i]>=0) color clr2=clrLime; else if(Pips_On_Best[i]<0) clr2=clrRed; ObjectCreate( "Best_Profit_in_Pips_Since_Entry_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Best_Profit_in_Pips_Since_Entry_"+FF,OBJPROP_CORNER,0); ObjectSet( "Best_Profit_in_Pips_Since_Entry_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Best_Profit_in_Pips_Since_Entry_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Best_Profit_in_Pips_Since_Entry_"+FF, Pips_On_Best[i] ,8,"Tahoma",clr2); j++; rr=rr+yy2[j]; if(Pips_On_Worst[i]>=0) color clr3=clrLime; else if(Pips_On_Worst[i]<0) clr3=clrRed; ObjectCreate( "Worst_Loss_in_Pips_Since_Entry_"+FF,OBJ_LABEL,0,0,0); ObjectSet( "Worst_Loss_in_Pips_Since_Entry_"+FF,OBJPROP_CORNER,0); ObjectSet( "Worst_Loss_in_Pips_Since_Entry_"+FF,OBJPROP_XDISTANCE, AA+rr); ObjectSet( "Worst_Loss_in_Pips_Since_Entry_"+FF,OBJPROP_YDISTANCE, 65+11*(i-((PageNumber-1)*40-SPage))); ObjectSetText( "Worst_Loss_in_Pips_Since_Entry_"+FF, Pips_On_Worst[i] ,8,"Tahoma",clr3); } } } else if(SELECTOR=="HISTORY") { } }//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(StringSubstr(sparam,0,12)=="Page_Number_") PageNumber=StrToInteger(ObjectDescription(sparam)); if(sparam=="POSITIONS") SELECTOR="POSITIONS"; if(sparam=="HISTORY") SELECTOR="HISTORY" ; 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();} ///////////////////////////////////////// } }
- 16-07-2017, 11:05 PM #161
بقية الاسبوع قلنا للرتوش والشكليات وتكميل النواقص من اجل باكتستر اكفأ, ولكي لاننسى نضيف خاصية اختيار ازواج عملة محددة او الغاء ازواج عملة او اكثر, بدلا من الضغط سبع مرات على الازواج السبعة
تكمبل نواقص:
للتوضيح:
50 صفقة على صفحتين--40 صفقة لكل صفحة
وبالتالي الصفحة الاولى الصفات من #0 الى رقم #39
والصفحة الثانية الصفقات من #39 الى الصفقة #50 (المجموع 12 صفقة)
كان العرض بصورته السابقة سيعرض 40 صفقة في ص2 -- اذا لم يوجد قيم يضع اصفار او يحتفظ بقيم سابقة قد ننشأ بمجرد تغيير الفريم!
نريد مع اي تغيير للفترة او الفريم لايضع اي شيء اضافي اكثر من عدد الصفقات كما هو
سر الحل: ايضا في المتغير FF مع شرط اضافي ان لايعرض صفقات تتجاوز YY
-
-
-
- 16-07-2017, 11:09 PM #162
سر الحل: ايضا في المتغير FF مع شرط اضافي ان لايعرض صفقات تتجاوز YY
-
-
فـ FF تعد من 0 وحتى 39 لو كانت الصفحة تحتمل 40 صفقة
بينما لو ذهبنا للصفحة-2 وكان متبقي 12 صفقة للعرض, نريد ان نضع شرط داخل لووب العرض يقول--توقف اذا رقم الصفقة i تجاوز عدد الصفقات الكلي YY
ثم ابدأ من قيمة FF+1 واحذف بقية الصفوف حتى الصف الاخير--تحسبا لوجود قيم سابقة او وضع قيم صفرية
آخر تعديل بواسطة فيلسوف البادية ، 16-07-2017 الساعة 11:13 PM
- 16-07-2017, 11:15 PM #163
والوضع الطبيعي لـ FF هو العد من 0 وحتى 39
ولكن عند انتهاء الصفقات في الصفحة الاخيرة سيتكون قيمتها اقل من 39 ولنقل توقفت عند 21
اذن صفوف الصفقات من 22 وحتى 39 تحذف (نحذف الاشياء في الصفحة الاخيرة)
لووب يبدأ من FF+1 وحتى 39
وتنتهي هذه المشكلة - الان اتوماتيك يعرض صفقات حسب الموجود--تنقص ينقص العرض--تزيد يزيد العرضآخر تعديل بواسطة فيلسوف البادية ، 16-07-2017 الساعة 11:26 PM
- 16-07-2017, 11:28 PM #164
على شادي: انت تعرض الصفقات من الاقدم الى الاحدث وبالتالي نتوقع الاحدث في صفحات متأخرة ولن نراها في الديفولت لصفحة 1
ممكن ترتيبها تصاعديا بدلا من تنازليا رجاء؟
فيلسوف البادية: كها شرطة بسيطة وينقلب الوضوع من تصاعدي الى تنازلي في مرحلة السواب. تغيير بسيط جداً على النحو التالي:
غير اشارة اصغر من الى اشارة اكبر من؟
-
-
-
-
تخلصنا من هذه الفكرة ايضا--بالإمكان أن يشمل البرنامج كلا الحالتين التصاعدية والتنازلية,
من خلال شيئين--نضغط على احدهما للعرض التنازلي وعلى الاخر للعرض التصاعدي flip-flop
لاتنسى اغنية سابقة: ارسم في OnTimer وادعس في OnChartEvent
الاخيرة روح الاولى جسد
الاخيرة تبعث الحياة في الاولى!
دائما هي هكذاآخر تعديل بواسطة فيلسوف البادية ، 16-07-2017 الساعة 11:49 PM
- 16-07-2017, 11:54 PM #165
على شادي: انت قلت ان اهم شيء معرفة شمعة الدخول وشمعة الخروج -- ليش الزيطة والزمبليطة للمتغير Pair_Entry_Price بـ بُعدين ثم بُعد ثم خلاط!!
ليش مانعامله معاملة متغير سعر الخروج-نؤجله للأخير!!
فيلسوف البادية--برافوا عليك!! فتك!
فطالما شمعة الدخول واسم الزوج للصفقة معروفة ممكن نؤجلة مع XPair_Exit_Price بحيث نستخدم XPair_Entry_Price دوان الحاجة اساسا ل Pair_Entry_Priceآخر تعديل بواسطة فيلسوف البادية ، 17-07-2017 الساعة 12:04 AM