النتائج 16 إلى 27 من 27
- 02-10-2017, 09:59 AM #16
adlane55
ali_shadi
اتمنى تحددون فترة 3 ايام متتالية لهذا المشروع الخفيف
- 02-10-2017, 12:26 PM #17
السلام عليكم اخي فيلسوف وجزاك الله خير على تفاعلك
شوف اخي الكريم
ما اريده توضحه الصورة اسفله ... وكن على يقين اخي الكريم انه سيفيد العديد من المتداولين وستكون صدقة جارية ان شاء الله لكل من شارك في هدا العمل
لان أي استراتيجية مهما كان شكلها او نوعها تتاثر بشكل مباشر بالاخبار ... والاخبار في حد داتها في عالم الفوركس ماهي الا أداة خداع للضغط على السعر لبلوغ مستويات معينة تستهدفها البنوك
ليس الا ... و المتداول القوي الداكرة يعرف كيف ان توالي الاخبار السلبية لعملة ما تدفعها للهبوط عاجلا ام اجلا والعكس صحيح ... ولهدا السبب فكرت في هدا المؤشر المساعد لتسهيل عملية اتخاد القرار
ادا تمكنت اخي فيلسوف من عرض المطلوب في الصورة على الشارت سيكون دلك عمل كبير جدا
تحياتي لك اخي الكريم
- 02-10-2017, 02:33 PM #18
فكرة المشروع زقزاق الخبر اول ساعة
- 17-10-2017, 03:35 AM #19
زقزاق الااخبار
حدد تاريخ الخبر وهو يرسمه
كود PHP:int setTimerUpdate=1;
extern string D_TIME="2017.09.19 14:30";
int candles=120;
//#property strict
///////////////////////////////////////////////////////////////////////////////////////////////
int OnInit()
{
ObjectsDeleteAll(0,"AA_",EMPTY,EMPTY);
ChartSetInteger(0,CHART_SCALE,0,2);
ChartSetInteger(0,CHART_AUTOSCROLL,0,false);
ChartSetInteger(0,CHART_SHIFT,0,false);
ChartSetInteger(0,CHART_COLOR_ASK,C'0,36,36');
ChartSetInteger(0,CHART_COLOR_BACKGROUND,clrBlack);
ChartSetInteger(0,CHART_COLOR_BID,clrWhite);
ChartSetInteger(0,CHART_COLOR_CHART_LINE,clrWhite);
ChartSetInteger(0,CHART_COLOR_FOREGROUND,clrWhite);
ChartSetInteger(0,CHART_COLOR_GRID,C'0,26,16');
ChartSetInteger(0,CHART_COLOR_LAST,C'0,16,16');
ChartSetInteger(0,CHART_COLOR_STOP_LEVEL,clrNONE);
ChartSetInteger(0,CHART_DRAG_TRADE_LEVELS,0,false);
ChartSetInteger(0,CHART_FOREGROUND,0,true);
ChartSetInteger(0,CHART_MODE,CHART_CANDLES);
ChartSetInteger(0,CHART_MOUSE_SCROLL,0,false);
ChartSetInteger(0,CHART_QUICK_NAVIGATION,0,false);
ChartSetInteger(0,CHART_SHOW_ASK_LINE,0,false);
ChartSetInteger(0,CHART_SHOW_BID_LINE,0,true);
ChartSetInteger(0,CHART_SHOW_DATE_SCALE,0,true);
ChartSetInteger(0,CHART_SHOW_GRID,0,true);
ChartSetInteger(0,CHART_SHOW_LAST_LINE,0,false);
ChartSetInteger(0,CHART_SHOW_OHLC,0,false);
ChartSetInteger(0,CHART_SHOW_ONE_CLICK,0,false);
ChartSetInteger(0,CHART_SHOW_PERIOD_SEP,0,false);
ChartSetInteger(0,CHART_SHOW_PRICE_SCALE,0,true);
ChartSetInteger(0,CHART_SHOW_TRADE_LEVELS,clrNONE);
ChartSetInteger(0,CHART_SHOW_VOLUMES,CHART_VOLUME_HIDE);
double zprice[77];
string cu[77];
int gc[77];
if(setTimerUpdate<1)setTimerUpdate=1;
EventSetTimer(setTimerUpdate);
int FT=iBarShift(NULL,period,StrToTime(D_TIME),true);
if(FT!=-1)
{
ChartNavigate(0,CHART_END,-FT+candles*1.5);
int TT=iBarShift(NULL,period,iTime(NULL,0,FT-candles),true);
ObjectDelete("AA_FT");
ObjectCreate("AA_FT",OBJ_VLINE,0,iTime(NULL,0,FT+1),0);
ObjectSet( "AA_FT",OBJPROP_COLOR,clrWhite);
ObjectSet( "AA_FT",OBJPROP_WIDTH,1);
ObjectSet( "AA_FT",OBJPROP_STYLE,2);
ObjectDelete("AA_TT");
ObjectCreate("AA_TT",OBJ_VLINE,0,iTime(NULL,0,TT-1),0);
ObjectSet( "AA_TT",OBJPROP_COLOR,clrWhite);
ObjectSet( "AA_TT",OBJPROP_WIDTH,1);
ObjectSet( "AA_TT",OBJPROP_STYLE,2);
double max =iHigh( NULL, period, iHighest(NULL, period, MODE_HIGH, FT-TT+1, TT));
ObjectDelete("AA_max");
ObjectCreate("AA_max",OBJ_HLINE,0,0,max);
ObjectSet( "AA_max",OBJPROP_COLOR,clrLime);
ObjectSet( "AA_max",OBJPROP_WIDTH,1);
ObjectSet( "AA_max",OBJPROP_STYLE,2);
double min =iLow( NULL, period, iLowest( NULL, period, MODE_LOW, FT-TT+1, TT));
ObjectDelete("AA_min");
ObjectCreate("AA_min",OBJ_HLINE,0,0,min);
ObjectSet( "AA_min",OBJPROP_COLOR,clrLime);
ObjectSet( "AA_min",OBJPROP_WIDTH,1);
ObjectSet( "AA_min",OBJPROP_STYLE,2);
ObjectDelete(0,"Rectangle");
ObjectCreate(0,"Rectangle",OBJ_RECTANGLE,0,iTime(NULL,0,FT+5),max,iTime(NULL,0,TT-5),min);
ObjectSetInteger(0,"Rectangle",OBJPROP_COLOR,C'26,26,26');
ObjectSetInteger(0,"Rectangle",OBJPROP_STYLE,STYLE_DASH);
ObjectSetInteger(0,"Rectangle",OBJPROP_WIDTH,4);
ObjectSetInteger(0,"Rectangle",OBJPROP_FILL,true);
ObjectSetInteger(0,"Rectangle",OBJPROP_BACK,false);
ObjectSetInteger(0,"Rectangle",OBJPROP_SELECTABLE,true);
ObjectSetInteger(0,"Rectangle",OBJPROP_SELECTED,false);
ObjectSetInteger(0,"Rectangle",OBJPROP_HIDDEN,true);
ObjectSetInteger(0,"Rectangle",OBJPROP_ZORDER,0);
double openP=iClose( NULL, period, FT+1);
double dd=MathPow(10,MarketInfo(NULL,MODE_DIGITS)-1);
ObjectDelete("AA_FTF");
ObjectCreate("AA_FTF",OBJ_HLINE,0,0,openP);
ObjectSet( "AA_FTF",OBJPROP_COLOR,clrWhite);
ObjectSet( "AA_FTF",OBJPROP_WIDTH,1);
ObjectSet( "AA_FTF",OBJPROP_STYLE,2);
ArrayInitialize(gc,TT);
ArrayInitialize(zprice,0);
zprice[0]=openP;
gc[0]=FT;
cu[0]="*";
int pp=0;
int G=0;
Print(" cu '"+cu[G]+"' G "+G+"' G "+zprice[0]);
for(int i=FT;i>=TT;i--)
{
Print(" cu '"+cu[G]+"' G "+G+"' G "+zprice[pp]);
G++;
cu[G]=cu[G-1];
double lowp = iLow( NULL, period, i);
double higp = iHigh( NULL, period, i);
double lowup =dd*(openP-lowp) ;
double higup =dd*(higp-openP) ;
if(lowup > p && lowup > higup) {openP=lowp; cu[G]="-"; Print(" cu '"+cu[G]+"' G "+G+" lowp "+openP); }
if(higup > p && higup > lowup) {openP=higp; cu[G]="+"; Print(" cu '"+cu[G]+"' G "+G+" higp "+openP); }
if(cu[G]=="-" &&(cu[G-1]=="*" || cu[G-1]=="+") ) {pp++;zprice[pp]=lowp;gc[pp]=i;
}
if((cu[G-1]=="*" || cu[G-1]=="-") && cu[G]=="+") {pp++;zprice[pp]=higp;gc[pp]=i;
}
if(cu[G]=="-" &&(cu[G-1]=="*" || cu[G-1]=="-") && lowp < openP) {zprice[pp]=lowp;openP=lowp;gc[pp]=i;
}
if((cu[G-1]=="*" || cu[G-1]=="+") && cu[G]=="+" && higp > openP) {zprice[pp]=higp;openP=higp;gc[pp]=i;
}
}
double lX =dd*(max-min) ;
ObjectCreate( "AA_zprice",OBJ_LABEL,0,0,0);
ObjectSet( "AA_zprice",OBJPROP_CORNER,0);
ObjectSet( "AA_zprice",OBJPROP_XDISTANCE, 255);
ObjectSet( "AA_zprice",OBJPROP_YDISTANCE, 0);
ObjectSetText("AA_zprice",D_TIME+" _ "+EnumToString((ENUM_DAY_OF_WEEK)TimeDayOfWeek(StrToTime(D_TIME)))+" R: "+lX+" Open: "+openP,12,"Tahoma",clrWhite);
}
for(i=0;i<20;i++)
{
ObjectDelete("AA_tttTF"+i);
if(zprice[i]!=0 &&zprice[i+1]!=0)
{
ObjectCreate("AA_tttTF"+i,OBJ_TREND,0,iTime(NULL,period,gc[i]),zprice[i],iTime(NULL,period,gc[i+1]),zprice[i+1]);
ObjectSet( "AA_tttTF"+i,OBJPROP_COLOR,clrWhite);
ObjectSet( "AA_tttTF"+i,OBJPROP_WIDTH,2);
ObjectSet( "AA_tttTF"+i,OBJPROP_RAY_RIGHT,false);
}
if(zprice[i]!=0 &&zprice[i+1]==0)
{
ObjectCreate("AA_tttTF"+i,OBJ_TREND,0,iTime(NULL,period,gc[i]),zprice[i],iTime(NULL,period,TT),iClose( NULL, period, TT));
ObjectSet( "AA_tttTF"+i,OBJPROP_COLOR,clrYellow);
ObjectSet( "AA_tttTF"+i,OBJPROP_WIDTH,2);
ObjectSet( "AA_tttTF"+i,OBJPROP_RAY_RIGHT,false);
}
}
ObjectDelete("AA_tttTF");
ObjectCreate("AA_ttt7TF",OBJ_TREND,0,iTime(NULL,period,FT+1),iClose( NULL, period, FT+1),iTime(NULL,period,gc[0]),zprice[0]);
ObjectSet( "AA_ttt7TF",OBJPROP_COLOR,clrYellow);
ObjectSet( "AA_ttt7TF",OBJPROP_WIDTH,2);
ObjectSet( "AA_ttt7TF",OBJPROP_RAY_RIGHT,false);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
string periodstring[]={"PERIOD_M1","PERIOD_M5","PERIOD_M15","PERIOD_M30","PERIOD_H1","PERIOD_H4","PERIOD_D1","PERIOD_W1","PERIOD_MN1"};
//+------------------------------------CHART_BEGIN------------------------------+CHART_END
void OnTimer()
{
ObjectCreate("ExpertRemove",OBJ_LABEL,0,0,0);
ObjectSet("ExpertRemove",OBJPROP_CORNER,0);
ObjectSet("ExpertRemove",OBJPROP_XDISTANCE, 95);
ObjectSet("ExpertRemove",OBJPROP_YDISTANCE, 0);
ObjectSetText("ExpertRemove",CharToStr(255),20,"Wingdings",clrWhite);
ObjectCreate("Delete_Chart_Garbages",OBJ_LABEL,0,0,0);
ObjectSet("Delete_Chart_Garbages",OBJPROP_CORNER,0);
ObjectSet("Delete_Chart_Garbages",OBJPROP_XDISTANCE, 130);
ObjectSet("Delete_Chart_Garbages",OBJPROP_YDISTANCE, 0);
ObjectSetText("Delete_Chart_Garbages",CharToStr(56),20,"Wingdings",clrWhite);
ObjectCreate( "s0param",OBJ_LABEL,0,0,0);
ObjectSet( "s0param",OBJPROP_CORNER,0);
ObjectSet( "s0param",OBJPROP_XDISTANCE,750);
ObjectSet( "s0param",OBJPROP_YDISTANCE,0);
ObjectSetText("s0param",sparam1,9,"Times New Roman",clrWhite);
for(int i=0;i<=8;i++)
{
ObjectCreate( periodstring[i],OBJ_LABEL,0,0,0);
ObjectSet( periodstring[i],OBJPROP_CORNER,0);
ObjectSet( periodstring[i],OBJPROP_XDISTANCE, 5);
ObjectSet( periodstring[i],OBJPROP_YDISTANCE, 20+i*14);
ObjectSetText(periodstring[i],periodstring[i],9,"Tahoma",clrPeachPuff);
}
ChartSetSymbolPeriod(0,NULL,period);
ObjectCreate("NEW_DAY",OBJ_LABEL,0,0,0);
ObjectSet("NEW_DAY",OBJPROP_CORNER,0);
ObjectSet("NEW_DAY",OBJPROP_XDISTANCE, 200);
ObjectSet("NEW_DAY",OBJPROP_YDISTANCE, 0);
ObjectSetText("NEW_DAY",CharToStr(220),22,"wingdings",C'22,222,122');
ObjectCreate("OLD_DAY",OBJ_LABEL,0,0,0);
ObjectSet("OLD_DAY",OBJPROP_CORNER,0);
ObjectSet("OLD_DAY",OBJPROP_XDISTANCE, 170);
ObjectSet("OLD_DAY",OBJPROP_YDISTANCE, 0);
ObjectSetText("OLD_DAY",CharToStr(219),22,"wingdings",C'22,222,122');
}
int p=20;
string sparam1;
ENUM_TIMEFRAMES period=PERIOD_M1;
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{
if(id==CHARTEVENT_OBJECT_CLICK)
{
sparam1=sparam;
if(sparam=="PERIOD_M1") {period=PERIOD_M1; ChartSetSymbolPeriod(0,NULL,period);candles=120;}
if(sparam=="PERIOD_M5") {period=PERIOD_M5; ChartSetSymbolPeriod(0,NULL,period);candles=60;}
if(sparam=="PERIOD_M15") {period=PERIOD_M15; ChartSetSymbolPeriod(0,NULL,period);candles=30;}
if(sparam=="PERIOD_M30") {period=PERIOD_M30; ChartSetSymbolPeriod(0,NULL,period);candles=20;}
if(sparam=="PERIOD_H1") {period=PERIOD_H1; ChartSetSymbolPeriod(0,NULL,period);candles=20;}
if(sparam=="PERIOD_H4") {period=PERIOD_H4; ChartSetSymbolPeriod(0,NULL,period);candles=10;}
if(sparam=="PERIOD_D1") {period=PERIOD_D1; ChartSetSymbolPeriod(0,NULL,period);candles=6;}
if(sparam=="PERIOD_W1") {period=PERIOD_W1; ChartSetSymbolPeriod(0,NULL,period);candles=5;}
if(sparam=="NEW_DAY")
{
string VVV=D_TIME;
for(int i=1;i<9;i++)
{
D_TIME=TimeToString(StrToTime(D_TIME)+i*60*24*60,TIME_DATE|TIME_MINUTES);
string Da=D_TIME;
datetime dee=StrToTime(Da);
string Dax=TimeToString(dee,TIME_DATE|TIME_MINUTES);
string DATE=D_TIME;
datetime SECONDS=StrToTime(DATE);
int ddd=TimeDayOfWeek(SECONDS);
if(dee>TimeCurrent())
{
D_TIME=VVV;break;
}
if(ddd!=0 && ddd!=6) break;
}
}
//////////////
if(sparam=="OLD_DAY")
{
VVV=D_TIME;
for( i=1;i<9;i++)
{
D_TIME=TimeToString(StrToTime(D_TIME)-i*60*24*60,TIME_DATE|TIME_MINUTES);
Da=D_TIME;
dee=StrToTime(Da);
Dax=TimeToString(dee,TIME_DATE|TIME_MINUTES);
DATE=D_TIME;
SECONDS=StrToTime(DATE);
ddd=TimeDayOfWeek(SECONDS); if(dee>TimeCurrent())
{
D_TIME=VVV;break;
}
if(ddd!=0 && ddd!=6) break;
}
}
Print(" "+VVV+" "+DATE+" _ "+SECONDS+" _ "+EnumToString((ENUM_DAY_OF_WEEK)ddd)+" _ "+ddd);
OnInit();
if(sparam=="ExpertRemove")
{
ObjectsDeleteAll();
ChartSetInteger(0,CHART_AUTOSCROLL,0,true);
ChartSetInteger(0,CHART_COLOR_ASK,clrWhite);
ChartSetInteger(0,CHART_COLOR_BACKGROUND,clrNONE);
ChartSetInteger(0,CHART_COLOR_BID,clrWhite);
ChartSetInteger(0,CHART_COLOR_CANDLE_BEAR,clrWhite);
ChartSetInteger(0,CHART_COLOR_CANDLE_BULL,clrNONE);
ChartSetInteger(0,CHART_COLOR_CHART_DOWN,clrLime);
ChartSetInteger(0,CHART_COLOR_CHART_LINE,clrKhaki);
ChartSetInteger(0,CHART_COLOR_CHART_UP,clrLime);
ChartSetInteger(0,CHART_COLOR_FOREGROUND,0,clrWhite);
ChartSetInteger(0,CHART_COLOR_GRID,clrGray);
ChartSetInteger(0,CHART_COLOR_LAST,clrWhite);
ChartSetInteger(0,CHART_COLOR_STOP_LEVEL,clrWhite);
ChartSetInteger(0,CHART_DRAG_TRADE_LEVELS,0,false);
ChartSetInteger(0,CHART_FOREGROUND,0,true);
ChartSetInteger(0,CHART_MODE,CHART_CANDLES);
ChartSetInteger(0,CHART_MOUSE_SCROLL,0,true);
ChartSetInteger(0,CHART_QUICK_NAVIGATION,0,false);
ChartSetInteger(0,CHART_SCALE,0,3);
ChartSetInteger(0,CHART_SCALEFIX,0,false);
ChartSetInteger(0,CHART_SHIFT,0,true);
ChartSetInteger(0,CHART_SHOW_ASK_LINE,0,true);
ChartSetInteger(0,CHART_SHOW_BID_LINE,0,true);
ChartSetInteger(0,CHART_SHOW_DATE_SCALE,0,true);
ChartSetInteger(0,CHART_SHOW_GRID,0,true);
ChartSetInteger(0,CHART_SHOW_LAST_LINE,0,true);
ChartSetInteger(0,CHART_SHOW_OHLC,0,false);
ChartSetInteger(0,CHART_SHOW_ONE_CLICK,0,false);
ChartSetInteger(0,CHART_SHOW_PERIOD_SEP,0,false);
ChartSetInteger(0,CHART_SHOW_PRICE_SCALE,0,true);
ChartSetInteger(0,CHART_SHOW_TRADE_LEVELS,false);
ChartSetInteger(0,CHART_SHOW_VOLUMES,false);
ChartIndicatorDelete(0,0,ChartIndicatorName(0,0,0));
ChartIndicatorDelete(0,0,ChartIndicatorName(0,0,1));
ChartIndicatorDelete(0,0,ChartIndicatorName(0,0,2));
ChartIndicatorDelete(0,0,ChartIndicatorName(0,0,3));
ChartIndicatorDelete(0,0,ChartIndicatorName(0,0,4));
ChartIndicatorDelete(0,0,ChartIndicatorName(0,0,5));
ChartIndicatorDelete(0,1,ChartIndicatorName(0,1,0));
ChartIndicatorDelete(0,1,ChartIndicatorName(0,1,1));
ChartIndicatorDelete(0,1,ChartIndicatorName(0,1,2));
ChartIndicatorDelete(0,2,ChartIndicatorName(0,2,0));
ChartIndicatorDelete(0,2,ChartIndicatorName(0,2,1));
ChartIndicatorDelete(0,2,ChartIndicatorName(0,2,2));
ExpertRemove(); }
if(sparam=="Delete_Chart_Garbages")
{
ObjectsDeleteAll();
}
}
}
- 30-10-2017, 02:03 AM #20
طوروه شباب
بهذه الطريقة هذه افضل شي تتصوره
ضع تاريخ الخبر والبرنامج يرسمه على اقل فريم ممكن
مثلا الفترة الاخيرة يرسمه لك فريم دقيقة---اذا لايمكن يذهب لفريم 5 دقيقة
مخصص اليوم وغدا وبعد غد لهذا الموضوع
هناك اضافات بسيؤطة
- 30-10-2017, 05:36 PM #21
السلام عليكم
اخي الفيلسوف
عمل اكثر من رائع ... حقظك الله اخي
- 31-10-2017, 09:36 PM #22
فيه مشكلة بسيطة
افترض اخترت تاريخ قديم وكان اقل فريم ممكن 1 ساعة لعرض اثر الخبر
وفيما بعد تبين انه على اخر رمق---يعني اخر شمعة ممكن تظهر على التشارت لفريم ساعة--فذهبت لليوم قبله000يفترض يقلب الى الاربع ساعات لعدم كفاية شموع الساعة!!
الذي يحدث في بعض الحالات يعود للقيمة المدخلة اساسا
جار علاج المشكلة
- 06-11-2017, 02:12 PM #23
سيكون مؤشر مفيد جدا إن شاء الله
- 06-11-2017, 02:19 PM #24
- 06-11-2017, 02:22 PM #25
- 08-11-2017, 10:13 PM #26
تم اضافة الزقزاق لاخر تحديث-حمل من اسفل
الان كاشف تلقائي لاقل فريم ممكن لزمن الخبر
+
الزقزاق
ممكن تطورونه شوي
- 09-11-2017, 01:52 AM #27
تم تفعيل الازاحة وحل تعقيدها
معليش لاتحمل السابق--حمل اسفل
الان:
1) يمح بالازاحة يوم قدام او للخلف
يضع نقاط الزقزاق
هناك خيارات زقزاق اربعة-- وهي: 10 و 20 و 40 و 80 نقطة---المربعات الاربعة تحت بعض على يمين سهمي الازاحة
منتهي 100%