الموضوع: طلب عمل تنبيه
عرض مشاركة واحدة
قديم 27-04-2011, 12:52 PM   المشاركة رقم: 2
الكاتب
jamalgogo
عضو جديد
الصورة الرمزية jamalgogo

البيانات
تاريخ التسجيل: Sep 2010
رقم العضوية: 1565
المشاركات: 60
بمعدل : 0.01 يوميا

الإتصالات
الحالة:
jamalgogo غير متواجد حالياً
وسائل الإتصال:

كاتب الموضوع : jamalgogo المنتدى : منتدى المؤشرات و الاكسبيرتات
8 رد: طلب عمل تنبيه

طلب مساعدة من الاخوة المبرمجين

نقره لعرض الصورة في صفحة مستقلةارجو التفاعل فلقد بحتت بالمؤشرTDIلاستخراج معادلات الRSI Price Line و Volatility Band لكن تعدر علي فهم الاعداداتنقره لعرض الصورة في صفحة مستقلة
[HTML]extern int RSI_Period = 13; //8-25
extern int RSI_Price = 0; //0-6
extern int Volatility_Band = 34; //20-40
extern int RSI_Price_Line = 2;
extern int RSI_Price_Type = 0; //0-3
extern int Trade_Signal_Line = 7;
extern int Trade_Signal_Type = 0; //0-3

double RSIBuf[],UpZone[],MdZone[],DnZone[],MaBuf[],MbBuf[];

int init()
{
IndicatorShortName("Traders Dynamic Index");
SetIndexBuffer(0,RSIBuf);
SetIndexBuffer(1,UpZone);
SetIndexBuffer(2,MdZone);
SetIndexBuffer(3,DnZone);
SetIndexBuffer(4,MaBuf);
SetIndexBuffer(5,MbBuf);

SetIndexStyle(0,DRAW_NONE);
SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(2,DRAW_LINE,0,2);
SetIndexStyle(3,DRAW_LINE);
SetIndexStyle(4,DRAW_LINE,0,2);
SetIndexStyle(5,DRAW_LINE,0,2);

SetIndexLabel(0,NULL);
SetIndexLabel(1,"VB High");
SetIndexLabel(2,"Market Base Line");
SetIndexLabel(3,"VB Low");
SetIndexLabel(4,"RSI Price Line");
SetIndexLabel(5,"Trade Signal Line");

SetLevelValue(0,50);
SetLevelValue(1,68);
SetLevelValue(2,32);
SetLevelStyle(STYLE_DOT,1,DimGray);

return(0);
}

int start()
{
double MA,RSI[];
ArrayResize(RSI,Volatility_Band);
int counted_bars=IndicatorCounted();
int limit = Bars-counted_bars-1;
for(int i=limit; i>=0; i--)
{
RSIBuf[i] = (iRSI(NULL,0,RSI_Period,RSI_Price,i));
MA = 0;
for(int x=i; x<i+Volatility_Band; x++) {
RSI[x-i] = RSIBuf[x];
MA += RSIBuf[x]/Volatility_Band;
}
UpZone[i] = (MA + (1.6185 * StDev(RSI,Volatility_Band)));
DnZone[i] = (MA - (1.6185 * StDev(RSI,Volatility_Band)));
MdZone[i] = ((UpZone[i] + DnZone[i])/2);
}
for (i=limit-1;i>=0;i--)
{
MaBuf[i] = (iMAOnArray(RSIBuf,0,RSI_Price_Line,0,RSI_Price_Ty pe,i));
MbBuf[i] = (iMAOnArray(RSIBuf,0,Trade_Signal_Line,0,Trade_Sig nal_Type,i));
}
//----
return(0);
}

double StDev(double& Data[], int Per)
{return(MathSqrt(Variance(Data,Per)));
}
double Variance(double& Data[], int Per)
{double sum, ssum;
for (int i=0; i<Per; i++)
{sum += Data[i];
ssum += MathPow(Data[i],2);
}
return((ssum*Per - sum*sum)/(Per*(Per-1)));
}
//+------------------------------------------------------------------+[/HTML]
جزاكم الله كل خير وان شاء الله يكون طلبي سهل



عرض البوم صور jamalgogo  
رد مع اقتباس
  #2  
قديم 27-04-2011, 12:52 PM
jamalgogo jamalgogo غير متواجد حالياً
عضو جديد
8 رد: طلب عمل تنبيه

طلب مساعدة من الاخوة المبرمجين

نقره لعرض الصورة في صفحة مستقلةارجو التفاعل فلقد بحتت بالمؤشرTDIلاستخراج معادلات الRSI Price Line و Volatility Band لكن تعدر علي فهم الاعداداتنقره لعرض الصورة في صفحة مستقلة
[HTML]extern int RSI_Period = 13; //8-25
extern int RSI_Price = 0; //0-6
extern int Volatility_Band = 34; //20-40
extern int RSI_Price_Line = 2;
extern int RSI_Price_Type = 0; //0-3
extern int Trade_Signal_Line = 7;
extern int Trade_Signal_Type = 0; //0-3

double RSIBuf[],UpZone[],MdZone[],DnZone[],MaBuf[],MbBuf[];

int init()
{
IndicatorShortName("Traders Dynamic Index");
SetIndexBuffer(0,RSIBuf);
SetIndexBuffer(1,UpZone);
SetIndexBuffer(2,MdZone);
SetIndexBuffer(3,DnZone);
SetIndexBuffer(4,MaBuf);
SetIndexBuffer(5,MbBuf);

SetIndexStyle(0,DRAW_NONE);
SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(2,DRAW_LINE,0,2);
SetIndexStyle(3,DRAW_LINE);
SetIndexStyle(4,DRAW_LINE,0,2);
SetIndexStyle(5,DRAW_LINE,0,2);

SetIndexLabel(0,NULL);
SetIndexLabel(1,"VB High");
SetIndexLabel(2,"Market Base Line");
SetIndexLabel(3,"VB Low");
SetIndexLabel(4,"RSI Price Line");
SetIndexLabel(5,"Trade Signal Line");

SetLevelValue(0,50);
SetLevelValue(1,68);
SetLevelValue(2,32);
SetLevelStyle(STYLE_DOT,1,DimGray);

return(0);
}

int start()
{
double MA,RSI[];
ArrayResize(RSI,Volatility_Band);
int counted_bars=IndicatorCounted();
int limit = Bars-counted_bars-1;
for(int i=limit; i>=0; i--)
{
RSIBuf[i] = (iRSI(NULL,0,RSI_Period,RSI_Price,i));
MA = 0;
for(int x=i; x<i+Volatility_Band; x++) {
RSI[x-i] = RSIBuf[x];
MA += RSIBuf[x]/Volatility_Band;
}
UpZone[i] = (MA + (1.6185 * StDev(RSI,Volatility_Band)));
DnZone[i] = (MA - (1.6185 * StDev(RSI,Volatility_Band)));
MdZone[i] = ((UpZone[i] + DnZone[i])/2);
}
for (i=limit-1;i>=0;i--)
{
MaBuf[i] = (iMAOnArray(RSIBuf,0,RSI_Price_Line,0,RSI_Price_Ty pe,i));
MbBuf[i] = (iMAOnArray(RSIBuf,0,Trade_Signal_Line,0,Trade_Sig nal_Type,i));
}
//----
return(0);
}

double StDev(double& Data[], int Per)
{return(MathSqrt(Variance(Data,Per)));
}
double Variance(double& Data[], int Per)
{double sum, ssum;
for (int i=0; i<Per; i++)
{sum += Data[i];
ssum += MathPow(Data[i],2);
}
return((ssum*Per - sum*sum)/(Per*(Per-1)));
}
//+------------------------------------------------------------------+[/HTML]
جزاكم الله كل خير وان شاء الله يكون طلبي سهل





رد مع اقتباس