النتائج 16 إلى 23 من 23
الموضوع: كيف اجعل الخط الافقي يبدأ من نقطة؟
- 30-07-2017, 05:44 PM #16
- 31-07-2017, 01:13 AM #17
- 31-07-2017, 03:40 PM #18
- 01-08-2017, 09:24 AM #19
1) سأوضحها مفصلة--سأطرح الخبير المطلوب, مع وضع شء اضافة التشارات وشيء حذف التشارت--اتمنى تكملها--انا ارتطمت باخر جدار دون جدوى
2) التمبليت نفسه حاولت افهمه, -- مثلا قولك: يحفظ الاكسبيرت تحت التمبليت لا افهم ماذا يعني.
هل افتح التمبليت من الايدتور واضيف اسطر هناك؟ وكيف.
ونقدر ضيق الوقت اخي ولكن رجاء اذا فيه شرح--رجاء حار افترض انك تشرح لانسان بليد تماما
اذا فهم البليد اكيد غيره سيفهم
- 01-08-2017, 09:30 AM #20
ايضا جميع الاسئلة السابقة تخلصت منها او استغنيت عنها الا سؤالين:
1) احداثيين y على نفس التشارات--برمجتها قبل سنة ولكن كاشياء مرسومة على التشارت--هل يمكن ان تكون كانها تشارتين في تشارت ويكون الاحداثي الجديد كما نرى الاحداثي الاول
2) واخر رد--المؤشر
- 04-08-2017, 11:22 AM #21
الطريقة التي تحدثت عنها
اسفل رسم تشارت الكندي مع تشارت الاوسي
الصادات هنا مرسومة كاشياء
المطلوب--مثلا يحدث في الماتلاب مثلا--رسمه كمحور اصلي اخر,
نرجو اخذه في عين الاعتبار اذا سمح وقتك,
الكود للصورة--منقول:
كود PHP:#property indicator_chart_window
#property indicator_buffers 4
extern string SubSymbol="USDCAD";
extern color BullBarColor=clrMediumSeaGreen;
extern color BearBarColor=clrOrange;
extern color GridColor=clrWhite;
string Prefix;//Indicator Prefix
int Grid=30;//Grid Lines
int SnapPips=10;//Snap Pips For Grid Lines
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
void OnDeinit(const int reason)
{
int i;
for(i=1; i<=Grid ; i++){
ObjectDelete(Prefix+"Grid"+i);
ObjectDelete("Price"+i);
}
}
int OnInit()
{
//Initialize Indexes
Prefix="OverLayChart"+SubSymbol;
IndicatorShortName("OverLay Chart("+SubSymbol+")");
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexBuffer(3,ExtMapBuffer4);
SetIndexStyle(0,DRAW_HISTOGRAM,DRAW_LINE,1,BullBarColor);
SetIndexStyle(1,DRAW_HISTOGRAM,DRAW_LINE,1,BearBarColor);
SetIndexStyle(2,DRAW_HISTOGRAM,DRAW_LINE,3,BullBarColor);
SetIndexStyle(3,DRAW_HISTOGRAM,DRAW_LINE,3,BearBarColor);
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
SetIndexEmptyValue(2,0.0);
SetIndexEmptyValue(3,0.0);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int ratesitotal,
const int previcalculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tickivolume[],
const long &volume[],
const int &spread[])
{
//---
int iBarsCount;
double iCurRangeHigh,iCurRangeLow,iCurRangeCenter;
double iSubRangeHigh,iSubRangeLow,iSubRangeCenter;
double iSubPoint,iSubDigit;
double iSubOpen,iSubHigh,iSubLow,iSubClose;
double iPipsRatio;
double iGridPips;
//double iGridPrice;
int i;
//Initialize Buffers
RefreshRates();
ArrayInitialize(ExtMapBuffer1,0.0);
ArrayInitialize(ExtMapBuffer2,0.0);
ArrayInitialize(ExtMapBuffer3,0.0);
ArrayInitialize(ExtMapBuffer4,0.0);
//Calculate Visible Bars
iBarsCount=WindowBarsPerChart()+1;
int iFirstBar=WindowFirstVisibleBar();
int iLastBar=iFirstBar-iBarsCount+1;
if(iLastBar<0){
iLastBar=0;
iBarsCount=iFirstBar+1;
}
//Calculate Chart Ratio
iCurRangeHigh=High[iHighest(NULL,0,MODE_HIGH,iBarsCount,iLastBar)];
iCurRangeLow=Low[iLowest(NULL,0,MODE_LOW,iBarsCount,iLastBar)];
iCurRangeCenter=(iCurRangeHigh+iCurRangeLow)/2;
iSubRangeHigh=iHigh(SubSymbol,0,iHighest(SubSymbol,0,MODE_HIGH,iBarsCount,iLastBar));
iSubRangeLow=iLow(SubSymbol,0,iLowest(SubSymbol,0,MODE_LOW,iBarsCount,iLastBar));
iSubRangeCenter=(iSubRangeHigh+iSubRangeLow)/2;
iSubPoint=MarketInfo(SubSymbol,MODE_POINT);
iSubDigit=MarketInfo(SubSymbol,MODE_DIGITS);
iPipsRatio=(iCurRangeHigh-iCurRangeLow)/(iSubRangeHigh-iSubRangeLow);
iGridPips=(iSubRangeHigh-iSubRangeLow)/Grid;
iGridPips=MathRound((iSubRangeHigh-iSubRangeLow)/Grid/(iSubPoint*SnapPips))*(iSubPoint*SnapPips);
//Draw Candlesticks
for(i=iLastBar; i<iLastBar+iBarsCount; i++){
iSubOpen=iOpen(SubSymbol,0,i)-iSubRangeCenter;
iSubHigh=iHigh(SubSymbol,0,i)-iSubRangeCenter;
iSubLow=iLow(SubSymbol,0,i)-iSubRangeCenter;
iSubClose=iClose(SubSymbol,0,i)-iSubRangeCenter;
if(iSubOpen<iSubClose){
ExtMapBuffer1[i]=iCurRangeCenter+iSubHigh*iPipsRatio;
ExtMapBuffer2[i]=iCurRangeCenter+iSubLow*iPipsRatio;
} else {
ExtMapBuffer1[i]=iCurRangeCenter+iSubLow*iPipsRatio;
ExtMapBuffer2[i]=iCurRangeCenter+iSubHigh*iPipsRatio;
}
ExtMapBuffer3[i]=iCurRangeCenter+iSubClose*iPipsRatio;
ExtMapBuffer4[i]=iCurRangeCenter+iSubOpen*iPipsRatio;
}
for(i=1; i<=Grid ; i++){
double iGridPrice=MathRound(iSubRangeCenter/(iSubPoint*SnapPips))*(iSubPoint*SnapPips);
iGridPrice=((iGridPrice+iGridPips/2)+iGridPips*(Grid/2-1))-(iGridPips*(i-1));
ObjectCreate("Price"+i,OBJ_TEXT,0,Time[0],iCurRangeCenter+(iGridPrice-iSubRangeCenter)*iPipsRatio);
ObjectSet("Price"+i,OBJPROP_CORNER,1);
ObjectSet("Price"+i,OBJPROP_COLOR,GridColor);
ObjectSetText("Price"+i,DoubleToStr(iGridPrice,iSubDigit),8);
}
return(ratesitotal);
}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer()
{
//---
}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
//---
}
//+------------------------------------------------------------------+
- 04-08-2017, 11:23 AM #22
اذا تعذر كمحور كاشياء كيف الزقها تلزيق عى يسار المحور بحيث لايتغير مكانها؟
- 04-08-2017, 11:27 AM #23
ملحوظة: عندما حاولت اخربط في التامبلت كان تشارت الباوند نيوزلندي على التشارت الفرعي؟
كما هو على التشارت الاصلي (حاجات غريبة)
هل يمكن يكون اكثر من زوج على تشارت واحد مقسم الى 3 تشارتات--مثلا بدلا من الماكد اسفل يكون زوج اخر؟
مايخص ايقونة المؤشر من خلال الخبير, افترض اول كود مبسط هو الخبير---ايش نضيف عليه.
نريد ايقونتين: ايقونة وضع المؤشر---ايقونة ازالة المؤشر
الاخيرة لا مشكلة.