النتائج 91 إلى 105 من 524
الموضوع: تصميم "عظم باكتسر فوري"
- 12-07-2017, 09:53 PM #91
- 13-07-2017, 01:36 AM #92
موضوع رائع اخي فيلسوف البادية وشكرا على وضع الكود
واتمنى كلما انهيت فقرة تضع الاكواد الخاصة بها واعتذر عن ازعاجك
اكمل اخي الكريم موضوع شيق
- 13-07-2017, 02:05 AM #93
- 13-07-2017, 02:08 AM #94
اكمل اخي الكريم موضوع شيق انا متابع معك واعتقد الكثير كذلك ولكن في صمت
بخصوص المنتدى الاجنبي انا مسجل فيه ولم ادخله من زمان
بارك الله فيك وكثر الله من امثالك
- 13-07-2017, 02:09 AM #95
- 13-07-2017, 02:10 AM #96
لاشك نحتاج صفحتين--فكر برمجيا
كلنا لا ندري ولكن مع المحاولة ندري
رجاء حاول-شرف المحاولة
مثلا محتاجين for تعد من كم؟؟ من 0 الى 40 ام من 0 الى 49 ؟؟
ام تكون مشروطة برقم الصفحة ؟
بالعقل عدد الصفحات = 2--صفحة لاول 4 صفقة و الصفحة الثانية للصفقات التسع الباقية
هذه المسألة تحديدا لانها فكرية وفيها تعقيد اريد ان تكون من خلال حوار وتفكير بعيدا عن التلقين.
نريد منهم جوابآخر تعديل بواسطة فيلسوف البادية ، 13-07-2017 الساعة 02:15 AM
- 13-07-2017, 02:20 AM #97
أي الثلاثة يحل المشكلة؟
كود:for(j=0;j<=40;j++) for(j=0;j<=49;j++) for(j=(PageNumber-1)*40;j<=(PageNumber-1)*40+40;j++)
نريد عدد الصفحات ديناميكي--على مقاس الصفقات؟
بالعقل القانون هو عدد الصفقات تقسيم صفقات اصلفحة الواحدة
سيكون الناتج عدد كسري غالبا - اذا نأخذ سقفه الصحيح
سقف 3.4 هو 4
سقف 1.24857 هو 2
العدد الصحيح بعد الكسر.
ونضيف صفحة اضافية فارغة بزيادة 1 صحيح على قيمة السقف.
اريدك ان تتصور ان عدد الصفقات 80 وعدد فقات اصلفحة الواحدة 40
اذن عدد الصفحات = 2.00 -- 80 تقسيم 40
اريدك ان تتصور اننا سنكرر اخر صفقة في الصفحة السابقةكأول صفقة في الصفحة الجديدة!!
تبرز من هنا اهمية صفحة اضافية.
غير ذلك الصفقة رقم 80 لن نراهاآخر تعديل بواسطة فيلسوف البادية ، 13-07-2017 الساعة 02:27 AM
- 13-07-2017, 03:16 PM #98
- 13-07-2017, 05:11 PM #99
نعم شادي
-
for(j=(PageNumber-1)*40;j<=(PageNumber-1)*40+40;j++)ff
لو كان رقم الصفحة 2
اذن PageNumber=2
اذن نعوض:
for(j=(2-1)*40;j<=(2-1)*40+40;j++)ff
for(j=40;j<=80;j++)ff
سيعرض الصفقات من رقم 40 الى رقم 80
اين هذا الذي نضغط عليه فيعرف اننا اخترنا صفقة رقم 2!!
ج: نظرية "ارسم وادعس"
للصعوبة سيكون فيه توسع في الشرح--بحيث لاتشعر انت انه كان هناك صعوبة وتمر الامور الى ذهنك بسلاسة.
فنحن نتوقع اشياء على الصفحة على شاكلة 1 ثم 2 ثم 3 الخ
اذا ضغطنا على 1 يختار صفحة-1 وهكذ1آخر تعديل بواسطة فيلسوف البادية ، 13-07-2017 الساعة 05:14 PM
- 14-07-2017, 03:35 AM #100
نضيف السطرين التاليين:
آخر تعديل بواسطة فيلسوف البادية ، 14-07-2017 الساعة 03:45 AM
- 14-07-2017, 04:01 AM #101
حسب اخر سطرين أعلاه البرنامج بشكل اتوماتيكي حدد عدد الصفحات المناسب.
الآن نرسم ترقيم الصفحات على التشارت, بحيث فيما بعد اذا ضغطنا على اي رقم يذهب للصفحة المباشرة.
سيرسم اشياء عددها يساوي عدد الصفحات.
طبعا مجرد ارقام على التشارت لامعنى لها حتى الان:
لابد من تفعيل وظيفتها كاشياء في دالة الضغط OnChartEvent
- 14-07-2017, 04:06 AM #102
- 14-07-2017, 04:09 AM #103
ليش 3 صفحات؟
لأن 50 صفقة تقسيم 40 = 1.25--وبالتالي سقفها 2
ونضيف عليها 1 تساوي 3آخر تعديل بواسطة فيلسوف البادية ، 14-07-2017 الساعة 04:11 AM
- 14-07-2017, 04:18 AM #104كود PHP:
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 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 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)
{
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++)
Comment(TotalPositions);
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);
}
int yy2[]={0,40,40,40,40,40,60,80,60,60,60,80,60,60,60,90,90,90,90,90,90,90,90,90,90};
int AA=100;
int rr;
string Heading[]={"#","CE","EntryT","CX","EntryT","Type","Symbol","Cprice","EntryP","ExitP","HEE","LEE","PPips","BestP","WorstP"};
for(j=0;j<=14;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(SELECTOR=="POSITIONS")
{
for(i=0;i<50;i++)
{
}
}
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();}
/////////////////////////////////////////
}
}
- 14-07-2017, 07:56 PM #105
ما شاء الله
شكرا اخي على الشرح
سعيد بعودتك الى النشاط المعهود عليك