النتائج 1 إلى 8 من 8
الموضوع: طريقة احتساب قوة العملات
- 03-11-2017, 10:59 AM #1
طريقة احتساب قوة العملات
السلام عليكم
كيف يتم احتساب قوة العملة كما نشاهد في بعض المواقع او المؤشرات الخاصة بقوة العملات ما هي المعادلة اذا تكرمتم
انا اعتمد شارت الأربع ساعات مع متوسط 200 واقوم بالحساب يدويا لكن الطريقة مرهقة شوي و حاسس انها مش دقيقة.
- 03-11-2017, 12:15 PM #2اهلا بك اخى العزيز
هل تقصد طريقة معرفة اقوى العملات واضعفها
كما هى موجودة فى موقع finviz
فى طريقة كان الاستاذ وضاح عطار شرحها
وهى جميلة جدا
لو تقصد ذلك ممكن اجيبها انت تأمر ياغالى
- 03-11-2017, 12:19 PM #3
- 03-11-2017, 01:37 PM #4
آخر تعديل بواسطة فيلسوف البادية ، 03-11-2017 الساعة 01:41 PM
- 03-11-2017, 02:32 PM #5هذه الطريقة جميلة جدا فى حساب قوة العملة
وقد قام بشرحها الاستاذ وضاح عطار
أقوى طريقة لحساب قوة العملات ... وأسهلها وأكثرها منطقية .
قوة العملة هو رقم نسبي مرتبط بشيئين :
الأول هو الفترة الزمنية التي يتم من خلالها دراسة قيم تحركات العملات .
الثاني هو مقارنة قيم التحركات فيما بين العملات نفسها
بمعنى أن قيمة قوة العملة لا يمكن قرائتها كرقم مجرد لوحده ...
بل يجب مقارنته بباقي قيم قوة العملات الأخرى ... لمعرفة من الأقوى ومن الأضعف .
أفضل طريقة لحساب كمية الحركة لكل عملة هي من خلال الأسعار نفسها ...
ولكننا سنعتمد على أسعار العملات المرتبطة بالين حصرا ... وذلك لعدة أسباب .
- جميع العملات هي أساسية بالنسبة للين ... بمعنى أن الين هو عملة ثانوية دائما .
- هذا يعني أيضا أن اختيارنا للين كأساس للمقارنة ... أن قوة الين أو ضعفه لن تؤثر على قيم قوة العملات الأخرى .. لأنه يؤثر على الجميع بنفس النسبة ... وبذلك يلتغي تأثيره .
يصبح الين عندها أرضية واحدة للجميع ... ولا يهم أبدا إن ارتفعت أو انخفضت هذه الأرضية .
إذا لدينا الآن سبع عملات معتمدة وهي :
GBPJPY - USDJPY - EURJPY - AUDJPY - NZDJPY - CHFJPY - CADJPY
موقع الفوركس فاكتوري يوفر إمكانية عرض الأزواج التي نريدها مع إظهار حجم التغيرات كنسبة أو كنقاط أو كليهما .
يجب جعل هذا القسم يبدو على الشكل التالي :
يمكننا تعيين عدد العملات من خلال Setting وأيضا عدد أسطر المعلومات لكل عملة .
أنا اخترت 7 عملات وثلاث أسطر .
السطر الأول يعرض نسبة الحركة بناء على الفترة التي يمكنك تحديدها أيضا .
السطر الثاني يعرض عدد النقاط التي تحركها كل زوج في هذه الفترة .
السطر الثالث يعرض قيمة السبريد .
الآن بمجرد النظر لهذا الجدول يتضح لنا ما هي أقوى عملة خلال فترة 12 ساعة مثلا ... وهو هنا الدولار .
وأيضا أضعف عملة في نفس الفترة هي الاسترالي .
إذن هذا يعني أن حركة AUDUSD ستكون هابطة أو كانت هابطة وهذا هو الشارت .
- 03-11-2017, 02:48 PM #6
- 03-11-2017, 02:50 PM #7
ممتاز
ثاني اضعف عملة بعد الين
========
صاحب الموضوع--المعادلات في الكود
كود PHP:#property indicator_separate_window
#property indicator_buffers 8
#property indicator_plots 8
//--- plot Label1EURGBP
#property indicator_label1 "EUR"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrWhite
#property indicator_style1 STYLE_SOLID
#property indicator_width1 1
//--- plot Label2
#property indicator_label2 "GBP"
#property indicator_type2 DRAW_LINE
#property indicator_color2 clrViolet
#property indicator_style2 STYLE_SOLID
#property indicator_width2 1
//--- plot Label3
#property indicator_label3 "AUD"
#property indicator_type3 DRAW_LINE
#property indicator_color3 clrRed
#property indicator_style3 STYLE_SOLID
#property indicator_width3 1
//--- plot Label4
#property indicator_label4 "NZD"
#property indicator_type4 DRAW_LINE
#property indicator_color4 clrBlue
#property indicator_style4 STYLE_SOLID
#property indicator_width4 1
//--- plot Label5
#property indicator_label5 "USD"
#property indicator_type5 DRAW_LINE
#property indicator_color5 clrYellow
#property indicator_style5 STYLE_SOLID
#property indicator_width5 1
//--- plot Label6
#property indicator_label6 "CAD"
#property indicator_type6 DRAW_LINE
#property indicator_color6 clrGray
#property indicator_style6 STYLE_SOLID
#property indicator_width6 1
//--- plot Label7
#property indicator_label7 "CHF"
#property indicator_type7 DRAW_LINE
#property indicator_color7 clrOrange
#property indicator_style7 STYLE_SOLID
#property indicator_width7 1
//--- plot Label8
#property indicator_label8 "JPY"
#property indicator_type8 DRAW_LINE
#property indicator_color8 clrLime
#property indicator_style8 STYLE_SOLID
#property indicator_width8 1
//--- indicator buffers
double Label1Buffer[];
double Label2Buffer[];
double Label3Buffer[];
double Label4Buffer[];
double Label5Buffer[];
double Label6Buffer[];
double Label7Buffer[];
double Label8Buffer[];
string str;
string S[] = {"EUR" ,"GBP" ,"AUD" ,"NZD" ,"USD" ,"CAD" ,"CHF" ,"JPY"};
string pairs[] ;
//--- indicator buffers
int bars[8];
int dddd=1;
double result1=EMPTY_VALUE;
double result2=EMPTY_VALUE;
double result3=EMPTY_VALUE;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{IndicatorDigits(0);
ArrayInitialize(bars,1000000);
SetIndexBuffer(0,Label1Buffer);
SetIndexBuffer(1,Label2Buffer);
SetIndexBuffer(2,Label3Buffer);
SetIndexBuffer(3,Label4Buffer);
SetIndexBuffer(4,Label5Buffer);
SetIndexBuffer(5,Label6Buffer);
SetIndexBuffer(6,Label7Buffer);
SetIndexBuffer(7,Label8Buffer);
///////////////////////////
int j=-1;
///////////////////////////
for(int k=0;k<=6;k++)
{
for(int i=0;i<SymbolsTotal(false);i++)
{
if(StringSubstr(SymbolName(i,false),0,3)==S[k])
{
for(int m=k+1;m<=7;m++)
{
if(StringSubstr(SymbolName(i,false),3,3)==S[m])
{
j++;
ArrayResize(pairs,j+1);
pairs[j]=SymbolName(i,false);
int bar=Bars(pairs[j],0);
if(bar<bars[m]) bars[m]=bar;
if(bar<bars[k]) bars[k]=bar;
//Print(j+"-bar-"+bar+"-E-"+pairs[j]+"--"+S[k]+"-bars[k]-"+bars[k]+"--"+S[m]+"-bars[k]-"+bars[m]+"-Size-"+ ArraySize(pairs));
}
}
}
}
}
///////////////////////////
IndicatorSetInteger(INDICATOR_LEVELS,8);
ChartGetDouble(ChartID(),CHART_PRICE_MIN,1,result1);
ChartGetDouble(ChartID(),CHART_PRICE_MAX,1,result2);
Print(" MIN "+result1+" MAX "+result2);
result3=(result2-result1)/10.0;
IndicatorSetDouble(INDICATOR_LEVELVALUE,0,result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,1,-result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,2,0+2*result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,3,0-2*result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,4,0+3*result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,5,0-3*result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,6,0+4*result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,7,0-4*result3);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[],
const long &tick_volume[], const long &volume[], const int &spread[])
{
int TT=500;
int Tcc=10000;
double Label1=1.0*(iClose("EURGBP",0,TT) *iClose("EURAUD",0,TT) *iClose("EURNZD",0,TT) *iClose("EURUSD",0,TT) *iClose("EURCAD",0,TT) *iClose("EURCHF",0,TT) *iClose("EURJPY",0,TT));
double Label2=1.0/(iClose("EURGBP",0,TT))*iClose("GBPAUD",0,TT) *iClose("GBPNZD",0,TT) *iClose("GBPUSD",0,TT) *iClose("GBPCAD",0,TT) *iClose("GBPCHF",0,TT) *iClose("GBPJPY",0,TT);
double Label3=1.0/(iClose("EURAUD",0,TT) *iClose("GBPAUD",0,TT))*iClose("AUDNZD",0,TT) *iClose("AUDUSD",0,TT) *iClose("AUDCAD",0,TT) *iClose("AUDCHF",0,TT) *iClose("AUDJPY",0,TT);
double Label4=1.0/(iClose("EURNZD",0,TT) *iClose("GBPNZD",0,TT) *iClose("AUDNZD",0,TT))*iClose("NZDUSD",0,TT) *iClose("NZDCAD",0,TT) *iClose("NZDCHF",0,TT) *iClose("NZDJPY",0,TT);
double Label5=1.0/(iClose("EURUSD",0,TT) *iClose("GBPUSD",0,TT) *iClose("AUDUSD",0,TT) *iClose("NZDUSD",0,TT))*iClose("USDCAD",0,TT) *iClose("USDCHF",0,TT) *iClose("USDJPY",0,TT);
double Label6=1.0/(iClose("EURCAD",0,TT) *iClose("GBPCAD",0,TT) *iClose("AUDCAD",0,TT) *iClose("NZDCAD",0,TT) *iClose("USDCAD",0,TT))*iClose("CADCHF",0,TT) *iClose("CADJPY",0,TT);
double Label7=1.0/(iClose("EURCHF",0,TT) *iClose("GBPCHF",0,TT) *iClose("AUDCHF",0,TT) *iClose("NZDCHF",0,TT) *iClose("USDCHF",0,TT) *iClose("CADCHF",0,TT))*iClose("CHFJPY",0,TT);
double Label8=1.0/(iClose("EURJPY",0,TT) *iClose("GBPJPY",0,TT) *iClose("AUDJPY",0,TT) *iClose("NZDJPY",0,TT) *iClose("USDJPY",0,TT) *iClose("CADJPY",0,TT) *iClose("CHFJPY",0,TT));
int limit=rates_total-prev_calculated;
//////////////////////////////
for(int m=0;m<limit;m++)
{
if(m<100000)
{
if(m<bars[0])
{
Label1Buffer[m]=Tcc*(MathPow(iClose("EURGBP",0,m)*iClose("EURAUD",0,m)*iClose("EURNZD",0,m)*iClose("EURUSD",0,m)*iClose("EURCAD",0,m)*iClose("EURCHF",0,m)*iClose("EURJPY",0,m)/Label1,1.0/7.0)-dddd);
}
if(m<bars[1])
{
if(iClose("EURGBP",0,m)>0.1)
Label2Buffer[m]=Tcc*(MathPow(1.0/iClose("EURGBP",0,m)*iClose("GBPAUD",0,m)*iClose("GBPNZD",0,m)*iClose("GBPUSD",0,m)*iClose("GBPCAD",0,m)*iClose("GBPCHF",0,m)*iClose("GBPJPY",0,m)/Label2,1.0/7.0)-dddd);
}
if(m<bars[2])
{
if((iClose("EURAUD",0,m)*iClose("GBPAUD",0,m))>0.1)
Label3Buffer[m]=Tcc*(MathPow(1.0/(iClose("EURAUD",0,m)*iClose("GBPAUD",0,m))*iClose("AUDNZD",0,m)*iClose("AUDUSD",0,m)*iClose("AUDCAD",0,m)*iClose("AUDCHF",0,m)*iClose("AUDJPY",0,m)/Label3,1.0/7.0)-dddd);
}
if(m<bars[3])
{
if((iClose("EURNZD",0,m)*iClose("GBPNZD",0,m)*iClose("AUDNZD",0,m))>0.1)
Label4Buffer[m]=Tcc*(MathPow(1.0/(iClose("EURNZD",0,m)*iClose("GBPNZD",0,m)*iClose("AUDNZD",0,m))*iClose("NZDUSD",0,m)*iClose("NZDCAD",0,m)*iClose("NZDCHF",0,m)*iClose("NZDJPY",0,m)/Label4,1.0/7.0)-dddd);
}
if(m<bars[4])
{
if((iClose("EURUSD",0,m)*iClose("GBPUSD",0,m)*iClose("AUDUSD",0,m)*iClose("NZDUSD",0,m))>0.1)
Label5Buffer[m]=Tcc*(MathPow(1.0/(iClose("EURUSD",0,m)*iClose("GBPUSD",0,m)*iClose("AUDUSD",0,m)*iClose("NZDUSD",0,m))*iClose("USDCAD",0,m)*iClose("USDCHF",0,m)*iClose("USDJPY",0,m)/Label5,1.0/7.0)-dddd);
}
if(m<bars[5])
{
if((iClose("EURCAD",0,m)*iClose("GBPCAD",0,m)*iClose("AUDCAD",0,m)*iClose("NZDCAD",0,m)*iClose("USDCAD",0,m))>0.1)
Label6Buffer[m]=Tcc*(MathPow(1.0/(iClose("EURCAD",0,m)*iClose("GBPCAD",0,m)*iClose("AUDCAD",0,m)*iClose("NZDCAD",0,m)*iClose("USDCAD",0,m))*iClose("CADCHF",0,m)*iClose("CADJPY",0,m)/Label6,1.0/7.0)-dddd);
}
if(m<bars[6])
{
if((iClose("EURCHF",0,m)*iClose("GBPCHF",0,m)*iClose("AUDCHF",0,m)*iClose("NZDCHF",0,m)*iClose("USDCHF",0,m)*iClose("CADCHF",0,m))>0.1)
Label7Buffer[m]=Tcc*(MathPow(1.0/(iClose("EURCHF",0,m)*iClose("GBPCHF",0,m)*iClose("AUDCHF",0,m)*iClose("NZDCHF",0,m)*iClose("USDCHF",0,m)*iClose("CADCHF",0,m))*iClose("CHFJPY",0,m)/Label7,1.0/7.0)-dddd);
}
if(m<bars[7])
{
if((iClose("EURJPY",0,m)*iClose("GBPJPY",0,m)*iClose("AUDJPY",0,m)*iClose("NZDJPY",0,m)*iClose("USDJPY",0,m)*iClose("CADJPY",0,m)*iClose("CHFJPY",0,m))>0.1)
Label8Buffer[m]=Tcc*(MathPow(1.0/(iClose("EURJPY",0,m)*iClose("GBPJPY",0,m)*iClose("AUDJPY",0,m)*iClose("NZDJPY",0,m)*iClose("USDJPY",0,m)*iClose("CADJPY",0,m)*iClose("CHFJPY",0,m))/Label8,1.0/7.0)-dddd);
}
}
}
ChartGetDouble(ChartID(),CHART_PRICE_MIN,1,result1);
ChartGetDouble(ChartID(),CHART_PRICE_MAX,1,result2);
///Print(" MIN "+result1+" MAX "+result2);
result3=(result2-result1)/10.0;
IndicatorSetDouble(INDICATOR_LEVELVALUE,0,0+1*result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,1,0-1*result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,2,0+2*result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,3,0-2*result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,4,0+3*result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,5,0-3*result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,6,0+4*result3);
IndicatorSetDouble(INDICATOR_LEVELVALUE,7,0-4*result3);
return(rates_total);
}
//+------------------------------------------------------------
- 03-11-2017, 11:45 PM #8
الف شكر للجميع
اخ فيلسوف البادية ممكن الرابط لموضوعك اذا سمحت