//+------------------------------------------------------------------+ //| EERI_v01.mq4 | //| Copyright © 2007, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" //#include #property indicator_chart_window //http://www.epreferreds.com/scripts/chartCenter.cfm?FA=treasury_yieldCurve_export&date1=6/7/2007 #define COL 4 #define LINE 50 int logHandle = -1; string WebAdress; string result; string CalName; string WebAdress2; string result2; string CalName2; string _download_eeri() { string StartMonth0; string StartDay0; string StartMonth1; string StartDay1; string StartMonth2; string StartDay2; datetime Start0 = iTime(NULL,PERIOD_D1,0); datetime Start1 = iTime(NULL,PERIOD_D1,1); datetime Start2 = iTime(NULL,PERIOD_D1,2); string StartYear0 = TimeYear (Start0); string StartYear1 = TimeYear (Start1); string StartYear2 = TimeYear (Start2); //----------------- if (TimeMonth(Start0)>10) StartMonth0 = TimeMonth(Start0); else StartMonth0 = "0" + TimeMonth(Start0); if (TimeDay(Start0)>10) StartDay0 = TimeDay(Start0); else StartDay0 = "0" + TimeDay(Start0); //----------------- if (TimeMonth(Start1)>10) StartMonth1 = TimeMonth(Start1); else StartMonth1 = "0" + TimeMonth(Start1); if (TimeDay(Start1)>10) StartDay1 = TimeDay(Start1); else StartDay1 = "0" + TimeDay(Start1); //----------------- if (TimeMonth(Start2)>10) StartMonth2 = TimeMonth(Start2); else StartMonth2 = "0" + TimeMonth(Start2); if (TimeDay(Start2)>10) StartDay2 = TimeDay(Start2); else StartDay2 = "0" + TimeDay(Start2); string StartTime0 = StartYear0 + StartMonth0 + StartDay0; WebAdress ="http://download.finance.yahoo.com/d/quotes.csv?s=%5ETNX+%5ETYX&f=sl1d1t1c1ohgv&e=.csv"; //WebAdress2 ="http://download.finance.yahoo.com/d/quotes.csv?s=%5ETYX&f=sl1d1t1c1ohgv&e=.csv"; //WebAdress = "http://www.epreferreds.com/scripts/chartCenter.cfm?FA=treasury_yieldCurve_export&date1=6/7/2007"; //WebAdress = "http://www.epreferreds.com/scripts/chartCenter.cfm?FA=treasury_yieldCurve_export&date1=6/6/2007&date2=6/7/2007"; //WebAdress = "http://www.epreferreds.com/scripts/chartCenter.cfm?FA=treasury_yieldCurve_export&date1="+StartMonth2+"/"+StartDay2+"/"+StartYear2+"&date2="+StartMonth0+"/"+StartDay0+"/"+StartYear0; //http://www.epreferreds.com/scripts/chartCenter.cfm?FA=treasury_maturitySpread_export&date1=6/1/2007&date2=6/7/2007&maturity1=bc_1month&maturity2=bc_30year /* 1 2 3 4 5 6 7 8 9 10 11 Date,1 month,90 days,1 year,2 year,3 year,5 year,7 year,10 year,20 year,30 year 6/6/2007,4.7800,4.8000,4.9600,4.9700,4.9400,4.9400,4.9400,4.9700,5.1700,5.0800 6/7/2007,4.8000,4.8000,4.9900,5.0300,5.0300,5.0500,5.0700,5.1100,5.2900,5.2000 Sources: BondsOnline.com; U.S. Treasury */ //string result = forextsd_com_webget(WebAdress); GrabWeb(WebAdress,result); if(result != "") { CalName = "Bonds2_"+StartYear0+"-"+StartMonth0+"-"+StartDay0+".csv"; Print(CalName," is OK"); int handle=FileOpen(CalName,FILE_BIN |FILE_WRITE,' '); if(handle>0) { FileWrite(handle, result); FileClose(handle); } } else CalName = ""; /* GrabWeb(WebAdress2,result2); if(result != "") { CalName = "Bonds2_"+StartYear0+"-"+StartMonth0+"-"+StartDay0+".csv"; Print(CalName," is OK"); int handle=FileOpen(CalName,FILE_BIN |FILE_WRITE,' '); if(handle>0) { FileWrite(handle, result); FileClose(handle); } } else CalName = ""; */ //Print("-->",result," is OK"); // return(CalName); } //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators _download_eeri(); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int i,j,counted_bars=IndicatorCounted(); string s1,c1[2],c2[2],c3[2],c4[2],c5[2],c6[2],c7[2],c8[2],c9[2],r[LINE][COL]; double er[LINE],p[LINE]; string arr1[10]; //---- _download_eeri(); int handle=FileOpen(CalName,FILE_CSV |FILE_READ,','); // 1 2 3 4 5 6 7 8 9 //"^TNX",5.118,"6/8/2007","2:59pm",+0.019,5.162,5.181,5.105,0 if(handle>0) { for( i=0 ;i<2;i++) { //for( j=0 ;j<9;j++) c1[i]=FileReadString(handle); c2[i]=FileReadString(handle); c3[i]=FileReadString(handle); c4[i]=FileReadString(handle); c5[i]=FileReadString(handle); c6[i]=FileReadString(handle); c7[i]=FileReadString(handle); c8[i]=FileReadString(handle); c9[i]=FileReadString(handle); s1=s1+"Symbol: "+c1[i]+"\n"; s1=s1+"Index Value: "+c2[i]+"\n"; s1=s1+"Trade Time: "+c3[i]+" "+c4[i]+"\n"; s1=s1+"Change: "+c5[i]+"\n"; s1=s1+"Open: "+c6[i]+"\n"; s1=s1+"Day s Range: "+c8[i]+" "+c7[i]+"\n\n"; } s1="\n"+s1; FileClose(handle); } Comment(""); s1="\n10 and 30-YEAR TREASURY NOTE "+"Yield10-Yield30="+DoubleToStr(StrToDouble(c2[0])-StrToDouble(c2[1]),3)+"\n"+s1; Comment(s1); /* int handle=FileOpen(CalName,FILE_CSV |FILE_READ,','); if(handle>0) { for( i=0 ;iHuh? * Start with: http://quote.yahoo.com/d/quotes.csv?s= * Add a sequence of: fromto=X (separated by +) * End with: &f=tags For example, try this: http://quote.yahoo.com/d/quotes.csv?s=USDCAD=X+JPYUSD=X+GBPUSD=X+USDJPY=X+EURUSD=X&f=nl1d1t1 Note the tags I've used: n is a name for the conversion (like: USD to CAD) and l1 is the conversion (like: 1.234) and d1 is the Date (like: 3/27/2004) and t1 is the Time (like: 3:41am). >Yeah, but what Yahoo tags give something useful? I have no idea. Just try all the tags in this tutorial and see which ones work. For a spreadsheet which assists in this "try-the-Yahoo-codes", RIGHT-click click here and Save Target. I doubt whether Market Cap tag is meaningful >And do you know the country currency symbols? Here's a few ... Afganistan Afghani (AFA) Albanian Lek (ALL) Algerian Dinar (DZD) Argentinian Peso (ARS) Aruban Florin (AWG) Australian Dollar (AUD) Austrian Schilling (ATS) Bahraini Dinar (BHD) Bangladesh Taka (BDT) Barbados Dollar (BBD) Belgian Franc (BEF) Belize Dollar (BZD) Bermuda Dollar (BMD) Bhutan Ngultrum (BTN) Bolivian Boliviano (BOB) Botswana Pula (BWP) Brazilian Real (BRL) British Pound (GBP) Brunei Dollar (BND) Bulgarian Lev (BGN) Cambodian Riel (KHR) Canadian Dollar (CAD) Cape Verde Escudo (CVE) Cayman Islands Dollar (KYD) CFA Franc (BCEAO) (XOF) CFA Franc (BEAC) (XAF) CFP Franc (XPF) Chilean Peso (CLP) Colombian Peso (COP) Comoros Franc (KMF) Costa Rican Colon (CRC) Croatian Kuna (HRK) Cuban Peso (CUP) Cypriot Pound (CYP) Czech Koruna (CZK) Danish Krone (DKK) Djibouti Franc (DJF) Dominican Peso (DOP) Dutch Guilder (NLG) East Caribbean Dollar (XCD) Egyptian Pound (EGP) El Salvador Colon (SVC) Estonian Kroon (EEK) Ethiopian Birr (ETB) Euro (EUR) Fiji Dollar (FJD) Finnish Markka (FIM) French Franc (FRF) Gambia Dalasi (GMD) German Mark (DEM) Ghanaian Cedi (GHC) Gibraltar Pound (GIP) Greek Drachma (GRD) Guatemala Quetzal (GTQ) Guinea Franc (GNF) Guyana Dollar (GYD) Haitian Gourde (HTG) Honduras Lempira (HNL) Hong Kong Dollar (HKD) Hungarian Forint (HUF) Iceland Krona (ISK) Indian Rupee (INR) Indonesian Rupiah (IDR) Irish Punt (IEP) Israeli Shekel (ILS) Italian Lira (ITL) Jamaican Dollar (JMD) Japanese Yen (JPY) Jordanian Dinar (JOD) Kenyan Shilling (KES) Kuwaiti Dinar (KWD) Laos Kip (LAK) Latvian Lats (LVL) Lebanese Pound (LBP) Lesotho Loti (LSL) Lithuanian Litas (LTL) Malagasy Franc (MGF) Malawi Kwacha (MWK) Malaysian Ringgit (MYR) Maldives Rufiyan (MVR) Maltese Pound (MTL) Mauritania Ouguiya (MRO) Mauritius Rupee (MUR) Mexican Peso (MXN) Mongolian Tugrik (MNT) Moroccan Dirham (MAD) Mozambique Metical (MZM) Myanmar Kyat (MMK) Namibian Dollar (NAD) Nepal Rupee (NPR) Netherlands Antilles Guilder (ANG) New Zealand Dollar (NZD) Nicaraguan Cordoba (NIO) Nigerian Naira (NGN) Norwegian Krone (NOK) Oman Rial (OMR) Pakistani Rupee (PKR) Papua New Guinea Kina (PGK) Peruvian Sol (PEN) Philippines Peso (PHP) Polish Zloty (PLN) Portuguese Escudo (PTE) Qatari Rial (QAR) Renmimbi Yuan (CNY) Romanian Leu (ROL) Russian Ruble (RUB) Salomon Islands Dollar (SBD) Sao Tome & Principe Dobra (STD) Saudi Arabian Riyal (SAR) Seychelles Rupee (SCR) Sierra Leone Leone (SLL) Singapore Dollar (SGD) Slovak Koruna (SKK) Slovenian Tolar (SIT) South African Rand (ZAR) South Korean Won (KRW) Spanish Peseta (ESP) Sri Lanka Rupee (LKR) St. Helena Pound (SHP) Sudanese Dinar (SDD) Surinam Guilder (SRG) Swaziland Lilangeni (SZL) Swedish Krona (SEK) Swiss Franc (CHF) Syria Pound (SYP) Taiwan New Dollar (TWD) Tanzanian Shilling (TZS) Thai Baht (THB)< Tonga Isl Pa'anga (TOP) Trinidad Dollar (TTD) Tunisian Dinar (TND)< Turkish Lira (TRL,YTL) Ugandan Shilling (UGX) Ukraine Hryvnia (UAH) United Arab Emirates Dirham (AED) US Dollar (USD) Vanuatu Vatu (VUV) Venezuelan Bolivar (VEB) Vietnam Dong (VND) Western Samoa Tala (WST) Zambia Kwacha (ZMK) Zimbabwean Dollar (ZWD) */