Re-enable seeking alpha headline feed. Code cleanup.
This commit is contained in:
Binary file not shown.
@@ -12,7 +12,7 @@ namespace MarketData.Helper
|
||||
public class HeadlinesMarketDataHelper
|
||||
{
|
||||
private static int MaxThreads = 10; // (int)ThreadHelperEnum.MaxThreads;
|
||||
private static int WAIT_BETWEEN_REQUESTS_MS = 500; // wait 500 ms between requests
|
||||
private static int WAIT_BETWEEN_REQUESTS_MS = 1000; // wait 1000 ms between requests
|
||||
private List<String> symbols;
|
||||
private int currentIndex = 0;
|
||||
|
||||
@@ -39,6 +39,7 @@ namespace MarketData.Helper
|
||||
{
|
||||
ThreadHelper threadHelper = new ThreadHelper(queueSymbols[index],resetEvents[index]);
|
||||
ThreadPool.QueueUserWorkItem(ThreadPoolCallbackLoadHeadline, threadHelper);
|
||||
try{Thread.Sleep(WAIT_BETWEEN_REQUESTS_MS);}catch{;}
|
||||
}
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"Load Headline, waiting for queued items to complete.");
|
||||
WaitHandle.WaitAll(resetEvents);
|
||||
@@ -113,8 +114,8 @@ namespace MarketData.Helper
|
||||
Headlines headlinesCollection=new Headlines();
|
||||
Headlines headlines=null;
|
||||
// SEEKING ALPHA
|
||||
//headlines=MarketDataHelper.GetCompanyHeadlines(symbol);
|
||||
//if(null!=headlines)headlinesCollection.AddRange(headlines);
|
||||
headlines=MarketDataHelper.GetCompanyHeadlinesSeekingAlpha(symbol);
|
||||
if(null!=headlines)headlinesCollection.AddRange(headlines);
|
||||
// NASDAQ
|
||||
headlines=MarketDataHelper.GetCompanyHeadlinesNASDAQ(symbol);
|
||||
if(null!=headlines)headlinesCollection.AddRange(headlines);
|
||||
@@ -123,6 +124,10 @@ namespace MarketData.Helper
|
||||
if(null!=headlines)headlinesCollection.AddRange(headlines);
|
||||
return headlinesCollection;
|
||||
}
|
||||
// ***********************************************************************************************************************************************
|
||||
// ***********************************************************************************************************************************************
|
||||
// ***********************************************************************************************************************************************
|
||||
|
||||
public static void LoadHeadlineEx(String symbol)
|
||||
{
|
||||
DateTime marketDate=PremarketDA.GetLatestMarketDate();
|
||||
@@ -130,23 +135,24 @@ namespace MarketData.Helper
|
||||
|
||||
Headlines headlines=null;
|
||||
// SEEKING ALPHA
|
||||
//MDTrace.WriteLine(LogLevel.DEBUG,String.Format("LoadHeadlinesSymbol {0}",symbol));
|
||||
//headlines=MarketDataHelper.GetCompanyHeadlines(symbol);
|
||||
//if(headlines.IsNullOrEmpty())
|
||||
//{
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,String.Format("No headlines for {0} from Seeking Alpha",symbol));
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Got {0} headlines for {1} from Seeking Alpha",headlines.Count,symbol));
|
||||
// headlines=new Headlines(headlines.Where(x=>x.Date<marketDate).ToList());
|
||||
// HeadlinesDA.InsertHeadlines(headlines);
|
||||
// foreach(Headline headline in headlines)
|
||||
// {
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Seeking Alpha {0}, {1} -> {2}",headline.Symbol,headline.Date.ToShortDateString(),headline.Entry));
|
||||
// }
|
||||
//}
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("GetCompanyHeadlinesSeekingAlpha {0}",symbol));
|
||||
headlines=MarketDataHelper.GetCompanyHeadlinesSeekingAlpha(symbol);
|
||||
if(headlines.IsNullOrEmpty())
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("No headlines for {0} from Seeking Alpha",symbol));
|
||||
}
|
||||
else
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Got {0} headlines for {1} from Seeking Alpha",headlines.Count,symbol));
|
||||
headlines=new Headlines(headlines.Where(x=>x.Date<marketDate).ToList());
|
||||
HeadlinesDA.InsertHeadlines(headlines);
|
||||
foreach(Headline headline in headlines)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Seeking Alpha {0}, {1} -> {2}",headline.Symbol,headline.Date.ToShortDateString(),headline.Entry));
|
||||
}
|
||||
}
|
||||
// NASDAQ
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("GetCompanyHeadlinesNASDAQ {0}",symbol));
|
||||
headlines=MarketDataHelper.GetCompanyHeadlinesNASDAQ(symbol);
|
||||
if(headlines.IsNullOrEmpty())
|
||||
{
|
||||
@@ -163,6 +169,7 @@ namespace MarketData.Helper
|
||||
}
|
||||
}
|
||||
// MARKETWATCH
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("GetCompanyHeadlinesMarketWatch {0}",symbol));
|
||||
headlines=MarketDataHelper.GetCompanyHeadlinesMarketWatch(symbol);
|
||||
if(headlines.IsNullOrEmpty())
|
||||
{
|
||||
|
||||
@@ -1658,13 +1658,7 @@ namespace MarketData.Helper
|
||||
// ***************************************************************************************************************************************************************************
|
||||
//***************************************************************** H E A D L I N E S - S E E K I N G A L P H A ***********************************************************
|
||||
// ***************************************************************************************************************************************************************************
|
||||
/*
|
||||
public static Headlines GetCompanyHeadlines(String symbol)
|
||||
{
|
||||
Headlines headlines=GetCompanyHeadlinesEx(symbol);
|
||||
return headlines;
|
||||
}
|
||||
public static Headlines GetCompanyHeadlinesEx(String symbol)
|
||||
public static Headlines GetCompanyHeadlinesSeekingAlpha(String symbol)
|
||||
{
|
||||
HttpNetResponse httpNetResponse=null;
|
||||
Headlines headlines=new Headlines();
|
||||
@@ -1680,8 +1674,8 @@ namespace MarketData.Helper
|
||||
sb.Append("https://seekingalpha.com/api/v3/symbols/").Append(symbol).Append("/news?filter[until]=0&id=").Append(symbol).Append("&include=author,primaryTickers,secondaryTickers,sentiments&page[number]=1&page[size]=11");
|
||||
strRequest = sb.ToString();
|
||||
MDTrace.WriteLine(LogLevel.DEBUG, strRequest);
|
||||
WebProxy webProxy=HttpNetRequest.GetProxy("GetCompanyHeadlines");
|
||||
httpNetResponse=HttpNetRequest.GetRequestNoEncodingV3B(strRequest,cookieCollection,webProxy);
|
||||
WebProxy webProxy=HttpNetRequest.GetProxy("GetCompanyHeadlinesSeekingAlpha");
|
||||
httpNetResponse=HttpNetRequest.GetRequestNoEncodingV5B(strRequest,30000,webProxy,true,cookieCollection);
|
||||
if(!httpNetResponse.Success)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Request:{0} failed with status {1}",httpNetResponse.Request,httpNetResponse.StatusCode));
|
||||
@@ -1714,17 +1708,12 @@ namespace MarketData.Helper
|
||||
if(null!=httpNetResponse)httpNetResponse.Dispose();
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
// ***************************************************************************************************************************************************************************
|
||||
//***************************************************************** H E A D L I N E S - M A R K E T W A T C H *************************************************************
|
||||
// ***************************************************************************************************************************************************************************
|
||||
|
||||
public static Headlines GetCompanyHeadlinesMarketWatch(String symbol)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
// turning this off until MarketWatch quote resets 03/14/2023. we'll try it again in some hours.
|
||||
public static Headlines GetCompanyHeadlinesMarketWatch_Org(String symbol)
|
||||
{
|
||||
HttpNetResponse httpNetResponse=null;
|
||||
Headlines headlines=new Headlines();
|
||||
@@ -1738,12 +1727,12 @@ namespace MarketData.Helper
|
||||
MemoryStream memoryStream=null;
|
||||
CookieCollection cookieCollection=new CookieCollection();
|
||||
httpNetResponse= HttpNetRequest.GetRequestNoEncodingV4("https://www.marketwatch.com",cookieCollection);
|
||||
Thread.Sleep(250);
|
||||
Thread.Sleep(500);
|
||||
sb.Append("https://www.marketwatch.com/investing/stock/").Append(symbol).Append("?mod=search_symbol");
|
||||
strRequest = sb.ToString();
|
||||
MDTrace.WriteLine(LogLevel.DEBUG, strRequest);
|
||||
WebProxy webProxy=HttpNetRequest.GetProxy("GetCompanyHeadlinesMarketWatch");
|
||||
httpNetResponse=HttpNetRequest.GetRequestNoEncodingV5(strRequest,DEFAULT_TIMEOUT_MS,webProxy);
|
||||
httpNetResponse=HttpNetRequest.GetRequestNoEncodingV5B(strRequest,DEFAULT_TIMEOUT_MS,webProxy,true,cookieCollection);
|
||||
if(!httpNetResponse.Success)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Request:{0} failed with status {1}",httpNetResponse.Request,httpNetResponse.StatusCode));
|
||||
|
||||
@@ -2,11 +2,8 @@ using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Diagnostics;
|
||||
using System.Collections;
|
||||
using System.Threading;
|
||||
using System.IO.Compression;
|
||||
using System.Reflection;
|
||||
using System.Configuration;
|
||||
// Filename: HttpRequest.cs
|
||||
// Author:Sean Kessler
|
||||
@@ -1013,7 +1010,57 @@ namespace MarketData.Integration
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static HttpNetResponse GetRequestNoEncodingV5B(String strRequest,int webRequestTimeoutMS,WebProxy webProxy=null,bool useRandomUserAgent=false,CookieCollection cookieCollection=null)
|
||||
{
|
||||
HttpWebResponse webResponse = null;
|
||||
try
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.VERBOSE, String.Format("GetRequestNoEncodingV5[ENTER]{0}", strRequest));
|
||||
int charCount = 0;
|
||||
byte[] buffer = new byte[8192];
|
||||
StringBuilder sb = new StringBuilder();
|
||||
bool expect100Condition = ServicePointManager.Expect100Continue;
|
||||
SecurityProtocolType securityProtocolType = ServicePointManager.SecurityProtocol;
|
||||
ServicePointManager.Expect100Continue = true;
|
||||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
||||
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri(strRequest));
|
||||
if(null!=webProxy)webRequest.Proxy=webProxy;
|
||||
webRequest.Timeout = webRequestTimeoutMS;
|
||||
webRequest.Headers.Add("Accept-Language: en-US,en;q=0.5");
|
||||
webRequest.Headers.Add("Accept-Encoding: None");
|
||||
webRequest.Accept = "image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
|
||||
// if(useRandomUserAgent)webRequest.UserAgent=GetUserAgent();
|
||||
if (useRandomUserAgent) webRequest.UserAgent = UserAgent.GetInstance().GetUserAgent();
|
||||
else webRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MS-RTC LM 8; .NET4.0C; .NET4.0E; InfoPath.3)";
|
||||
webRequest.KeepAlive = true;
|
||||
webRequest.CookieContainer = new CookieContainer();
|
||||
if(null!=cookieCollection)webRequest.CookieContainer.Add(cookieCollection);
|
||||
webResponse = (HttpWebResponse)webRequest.GetResponse();
|
||||
Stream responseStream = webResponse.GetResponseStream();
|
||||
while (true)
|
||||
{
|
||||
charCount = responseStream.Read(buffer, 0, buffer.Length);
|
||||
if (0 == charCount) break;
|
||||
sb.Append(Encoding.ASCII.GetString(buffer, 0, charCount));
|
||||
}
|
||||
webResponse.Close();
|
||||
ServicePointManager.Expect100Continue = expect100Condition;
|
||||
ServicePointManager.SecurityProtocol = securityProtocolType;
|
||||
return new HttpNetResponse(sb.ToString(), strRequest, webResponse, webResponse.Cookies, true);
|
||||
}
|
||||
catch (WebException webException)
|
||||
{
|
||||
return new HttpNetResponse((HttpWebResponse)webException.Response, strRequest, false, webException.Message);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
return new HttpNetResponse(webResponse, strRequest, false, exception.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.VERBOSE, "GetRequestNoEncodingV5[LEAVE]");
|
||||
}
|
||||
}
|
||||
|
||||
public static HttpNetResponse GetRequestNoEncodingV6(String strRequest, int webRequestTimeoutMS)
|
||||
{
|
||||
@@ -1154,14 +1201,11 @@ namespace MarketData.Integration
|
||||
webRequest.Headers.Add("Sec-Fetch-Mode:cors");
|
||||
webRequest.Headers.Add("Sec-Fetch-Site:same-site");
|
||||
webRequest.Headers.Add("X-SAL-ContentType:e7FDDltrTy+tA2HnLovvGL0LFMwT+KkEptGju5wXVTU=");
|
||||
// webRequest.Headers.Add("X-API-RequestId: 4b919fb3-6dc8-750d-e50f-639f73030527");
|
||||
webRequest.Headers.Add("X-API-RequestId: d2ffea42-4a07-4fa7-fa0d-b307facd81fb");
|
||||
webRequest.Headers.Add("ApiKey:lstzFDEOhfFNMLikKa0am9mgEKLBl49T");
|
||||
webRequest.Accept = "*/*";
|
||||
// webRequest.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0";
|
||||
webRequest.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36";
|
||||
webRequest.Host="api-global.morningstar.com";
|
||||
// webRequest.Referer="https://www.morningstar.com";
|
||||
webRequest.Referer="https://www.morningstar.com/stocks/xnas/aapl/performance";
|
||||
|
||||
if(null!=webProxy)webRequest.Proxy=webProxy;
|
||||
@@ -1212,12 +1256,10 @@ namespace MarketData.Integration
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Get the proxy for the specified service or null if it is not congfigured to use the proxy
|
||||
/// </summary>
|
||||
///<param name="serviceName">The service name</param>
|
||||
/// <summary>
|
||||
/// Get the proxy for the specified service or null if it is not congfigured to use the proxy
|
||||
/// </summary>
|
||||
///<param name="serviceName">The service name</param>
|
||||
public static WebProxy GetProxy(String serviceName)
|
||||
{
|
||||
try
|
||||
|
||||
@@ -12,56 +12,86 @@ namespace MarketData.Integration
|
||||
//private bool useVersioning=false;
|
||||
private String[] userAgents=
|
||||
{
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36",
|
||||
"Mozilla/5.0 (Windows NT 5.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36",
|
||||
"Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36",
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/605.1.15 (KHTML, like Gecko)",
|
||||
"Mozilla/5.0 (iPad; CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G36",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36",
|
||||
"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) Internet Explorer 6",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36",
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 12_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Mobile/15E148 Safari/604.1",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063",
|
||||
"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36",
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Mobile/15E148 Safari/604.1",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15",
|
||||
"Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko",
|
||||
"Mozilla/5.0 (Windows NT 5.1; rv:36.0) Gecko/20100101 Firefox/36.0",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.8 (KHTML, like Gecko)",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
|
||||
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)",
|
||||
"Mozilla/5.0 (Windows NT 5.1; rv:33.0) Gecko/20100101 Firefox/33.0",
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299",
|
||||
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36",
|
||||
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)",
|
||||
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36",
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Mobile/15E148 Safari/604.1",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0",
|
||||
"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36",
|
||||
"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2)",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Safari/605.1.15",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36",
|
||||
"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36",
|
||||
"Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Mobile/15E148 Safari/604.1",
|
||||
"Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0",
|
||||
"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36",
|
||||
"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0",
|
||||
"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
|
||||
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36"
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.3 24.31",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3.1 Safari/605.1.1 23.33",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Safari/605.1.1 14.12",
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.3 13.92",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0. 3.92",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Agency/93.8.2357.5 3.92",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 OPR/107.0.0. 3.92",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.3 3.92",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123. 3.14",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103. 1.57",
|
||||
"Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.3 0.78",
|
||||
"Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115. 0.78",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Viewer/99.9.8853.8 0.78",
|
||||
"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115. 0.78",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.3 0.78"
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36",
|
||||
//"Mozilla/5.0 (Windows NT 5.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36",
|
||||
//"Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36",
|
||||
//"Mozilla/5.0 (iPhone; CPU iPhone OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1",
|
||||
//"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/605.1.15 (KHTML, like Gecko)",
|
||||
//"Mozilla/5.0 (iPad; CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G36",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36",
|
||||
//"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) Internet Explorer 6",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36",
|
||||
//"Mozilla/5.0 (iPhone; CPU iPhone OS 12_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Mobile/15E148 Safari/604.1",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063",
|
||||
//"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36",
|
||||
//"Mozilla/5.0 (iPhone; CPU iPhone OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Mobile/15E148 Safari/604.1",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36",
|
||||
//"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15",
|
||||
//"Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko",
|
||||
//"Mozilla/5.0 (Windows NT 5.1; rv:36.0) Gecko/20100101 Firefox/36.0",
|
||||
//"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.8 (KHTML, like Gecko)",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
|
||||
//"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)",
|
||||
//"Mozilla/5.0 (Windows NT 5.1; rv:33.0) Gecko/20100101 Firefox/33.0",
|
||||
//"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299",
|
||||
//"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36",
|
||||
//"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)",
|
||||
//"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36",
|
||||
//"Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Mobile/15E148 Safari/604.1",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0",
|
||||
//"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36",
|
||||
//"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2)",
|
||||
//"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Safari/605.1.15",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36",
|
||||
//"Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Mobile/15E148 Safari/604.1",
|
||||
//"Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36",
|
||||
//"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0",
|
||||
//"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
|
||||
//"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.3 24.31",
|
||||
//"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3.1 Safari/605.1.1 23.33",
|
||||
//"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Safari/605.1.1 14.12",
|
||||
//"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.3 13.92",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0. 3.92",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Agency/93.8.2357.5 3.92",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 OPR/107.0.0. 3.92",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.3 3.92",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123. 3.14",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103. 1.57",
|
||||
//"Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.3 0.78",
|
||||
//"Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115. 0.78",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Viewer/99.9.8853.8 0.78",
|
||||
//"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115. 0.78",
|
||||
//"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.3 0.78"
|
||||
};
|
||||
|
||||
private Random random=new Random();
|
||||
@@ -76,20 +106,6 @@ namespace MarketData.Integration
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
//public bool GetVersioning()
|
||||
//{
|
||||
// lock(this)
|
||||
// {
|
||||
// return useVersioning;
|
||||
// }
|
||||
//}
|
||||
//public void setVersioning(bool versioning)
|
||||
//{
|
||||
// lock(this)
|
||||
// {
|
||||
// useVersioning=versioning;
|
||||
// }
|
||||
//}
|
||||
public String GetUserAgent()
|
||||
{
|
||||
lock(this)
|
||||
|
||||
Binary file not shown.
@@ -6,7 +6,6 @@
|
||||
<add key="sms_smtpaddress" value="smtp.gmail.com"/>
|
||||
<add key="sms_smsusername" value="skessler1964@gmail.com"/>
|
||||
<add key="sms_smspassword" value="xjfo isnf gmyi zovr"/>
|
||||
<!--<add key="sms_smsrecipients" value="6315252496@vtext.com"/>-->
|
||||
<add key="sms_smsrecipients" value="skessler1964sms@gmail.com"/>
|
||||
<add key="proxy_address" value="http://127.0.0.1:8182"/>
|
||||
<add key="proxy_GetLatestPriceYahoo" value="false"/>
|
||||
@@ -16,10 +15,8 @@
|
||||
<add key="proxy_GetFundamentalFinViz" value="false"/>
|
||||
<add key="proxy_GetAnalystPriceTargetYahoo" value="true"/>
|
||||
<add key="proxy_GetDailyPrices" value="false"/>
|
||||
<add key="proxy_GetCompanyHeadlines" value="true"/>
|
||||
<add key="proxy_GetFundamentalEx" value="false"/>
|
||||
<add key="proxy_GetDividendHistory" value="false"/>
|
||||
<add key="proxy_GetCompanyHeadlinesMarketWatch" value="true"/>
|
||||
<!--<add key="proxy_GetAnalystPriceTargetMarketBeat" value="false"/>-->
|
||||
<add key="proxy_GetCompanyHeadlinesMarketWatch" value="false"/>
|
||||
</appSettings>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/></startup></configuration>
|
||||
|
||||
@@ -241,15 +241,16 @@ namespace MarketDataUnitTests
|
||||
}
|
||||
|
||||
// Test MarketWatch feed
|
||||
// https://www.marketwatch.com/investing/stock/AAPL?mod=search_symbol
|
||||
[TestMethod]
|
||||
public void HeadlinesMarketWatchRetrieval()
|
||||
{
|
||||
String symbol="AAPL";
|
||||
String symbol="MIDD";
|
||||
Headlines companyHeadlines = MarketDataHelper.GetCompanyHeadlinesMarketWatch(symbol);
|
||||
Assert.IsTrue(null!=companyHeadlines && companyHeadlines.Count>0);
|
||||
}
|
||||
|
||||
// Test NASDAQ feed
|
||||
// Test NASDAQ Headlines feed
|
||||
[TestMethod]
|
||||
public void HeadlinesNASDAQRetrieval()
|
||||
{
|
||||
@@ -258,6 +259,16 @@ namespace MarketDataUnitTests
|
||||
Assert.IsTrue(null!=companyHeadlines && companyHeadlines.Count>0);
|
||||
}
|
||||
|
||||
// Test SEEKING ALPHA Headlines feed
|
||||
[TestMethod]
|
||||
public void HeadlinesSeekingAlphaRetrieval()
|
||||
{
|
||||
String symbol="AAPL";
|
||||
Headlines companyHeadlines = MarketDataHelper.GetCompanyHeadlinesSeekingAlpha(symbol);
|
||||
Assert.IsTrue(null!=companyHeadlines && companyHeadlines.Count>0);
|
||||
}
|
||||
|
||||
|
||||
[TestMethod]
|
||||
public void AnalystPriceTargetMarketBeatRetrieval()
|
||||
{
|
||||
|
||||
36
Program.cs
36
Program.cs
@@ -3654,27 +3654,6 @@ namespace MarketData
|
||||
}
|
||||
}
|
||||
|
||||
//private static void LoadPremarketData()
|
||||
//{
|
||||
// PremarketElements premarketElements=MarketDataHelper.GetPremarketData();
|
||||
// if(null==premarketElements||0==premarketElements.Count)
|
||||
// {
|
||||
// try{Thread.Sleep(5000);}catch(Exception){;}
|
||||
// premarketElements=MarketDataHelper.GetPremarketData();
|
||||
// if(null==premarketElements||0==premarketElements.Count)
|
||||
// {
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Failed to retrieve premarket data."));
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
// PremarketDA.AddElements(premarketElements);
|
||||
// foreach(PremarketElement premarketElement in premarketElements)
|
||||
// {
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,String.Format("{0} {1} {2}",premarketElement.Market,Utility.FormatNumber(premarketElement.ChangeValue),Utility.FormatPercent(premarketElement.ChangePercent/100.00)));
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
private static void LoadHeadlinesWatchList(String watchList)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("LoadHeadlinesWatchList {0}",watchList));
|
||||
@@ -3691,21 +3670,6 @@ namespace MarketData
|
||||
headlinesMarketDataHelper.LoadHeadlines();
|
||||
}
|
||||
|
||||
//private static void LoadHeadlinesWatchList(String watchList)
|
||||
//{
|
||||
// MDTrace.WriteLine(LogLevel.DEBUG,String.Format("LoadHeadlinesWatchList {0}",watchList));
|
||||
// List<String> symbols = WatchListDA.GetWatchList(watchList);
|
||||
// foreach(String symbol in symbols)
|
||||
// {
|
||||
// LoadHeadlinesSymbol(symbol);
|
||||
// Thread.Sleep(500);
|
||||
// }
|
||||
//}
|
||||
//private static void LoadHeadlinesSymbol(String symbol)
|
||||
//{
|
||||
// HeadlinesMarketDataHelper headlinesMarketDataHelper= new HeadlinesMarketDataHelper();
|
||||
// headlinesMarketDataHelper.LoadHeadlines();
|
||||
//}
|
||||
// ********************
|
||||
public class Item
|
||||
{
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/Debug/mk.exe
BIN
bin/Debug/mk.exe
Binary file not shown.
BIN
bin/Debug/mk.pdb
BIN
bin/Debug/mk.pdb
Binary file not shown.
@@ -15,7 +15,6 @@
|
||||
<add key="proxy_GetETFHoldings" value="false"/>
|
||||
<add key="proxy_GetAnalystPriceTargetYahoo" value="true"/>
|
||||
<add key="proxy_GetDailyPrices" value="false"/>
|
||||
<add key="proxy_GetCompanyHeadlines" value="true"/>
|
||||
<add key="proxy_GetFundamentalEx" value="false"/>
|
||||
<add key="proxy_GetDividendHistory" value="false"/>
|
||||
<add key="proxy_GetAnalystPriceTargetMarketBeat" value="false"/>
|
||||
|
||||
1
bin/Debug/saferun/.gitignore
vendored
1
bin/Debug/saferun/.gitignore
vendored
@@ -2,3 +2,4 @@
|
||||
marketdata.log
|
||||
/*.log
|
||||
/marketdata.log
|
||||
/fundamentals_session.txt
|
||||
|
||||
Binary file not shown.
@@ -1,19 +1,19 @@
|
||||
CMTSESSIONv1.00
|
||||
LastUpdated=3/13/2024 08:30:05 PM
|
||||
TradeDate=3/13/2024
|
||||
LastUpdated=3/16/2024 01:20:55 AM
|
||||
TradeDate=3/15/2024
|
||||
StartDate=1/1/0001
|
||||
AnalysisDate=3/13/2024
|
||||
AnalysisDate=3/16/2024
|
||||
CashBalance=935.52
|
||||
NonTradeableCash=6121.73
|
||||
SuspendTrading=False|UsePriceSlopeIndicator=True|UsePriceSlopeIndicatorDays=252|AnalysisDate=3/13/2024|BetaMonths=6|TradeDate=3/13/2024|MarketCapLowerLimit=500000000|SidewaysDetection=False|SidewaysAfterDays=30|PriceTrendDays=20|CheckOutliersInReturnStream=True|DailyReturnLimit=0.25|MaxDailyPositions=3|MaxOpenPositions=6|NoTradeSymbols=CODYY,MARUY,CSTM,CS,NATI,QADA,CRTO,GTBIF,CLCT,PRSC,CMD,STAY,GBTC,YOKU,PNY,RFMD,ASAZY,USMO,VNR,STB,XIV,SYNT,DFP|OnlyTradeSymbols=|MinRSI=70|InitialCash=10000|TotalRiskPercentDecimal=0.05|PositionRiskPercentDecimal=0.12|EquityOnly=False|MinPercentReturnProximityTo52WeekHigh=30|MinPercentReturnOver52WeekLow=80|ProfitMarginCheck=True|EPSCheck=True|MinDaysBetweenReholding=30|LiquidityCheck=True|MinVolume=1000|DMA200Horizon=15|MinDaysBetweenStopAdjustments=30|MinDaysBetweenInitialStopAdjustment=5|MaxPricingExceptions=3|MACDSetup=(12,26,9)|MACDSignalDays=5|MACDRejectStrongSells=True|MACDRejectWeakSells=True|UseMarketIndicator=True|Benchmark=SPY|BenchmarkMovingAverageDays=200|BenchmarkMovingAverageHorizon=5|UseMarketIndicatorVolatility=True|UseMarketIndicatorVolatilityHorizon=60|UseMarketIndicatorVolatilityBenchmark=^VIX|UseStopLimitScaling=True|StopLimitScalingType=AverageTrueRange|StopLimitScalingVolatilityDays=30|SellOnDMABreak=True|DMABreakValues=200|DMABreakForceBreak=False|EntryType=OverExtended,MVP,PriceTrend,VolumeTrend|EntryHorizon=30|CandidateExpiryDays=180|VolumeTrendDays=10|ChannelBreakoutHorizon=40|UseOverExtendedIndicatorDays=45|UseOverExtendedIndicatorViolationThreshhold=1|UseOverExtendedIndicatorMarginPercent=1|MaxBeta=10|UseMaxBeta=False|UseProfitMaximization=True|UseProfitMaximizationExpression=R_THRESSHOLD=4;MAX_ATR=3;MULTIPLIER=MAX_ATR;IF(RMultiple>=R_THRESSHOLD){MULTIPLIER=1.2;}|UseTradeOnlySectors=True|UseTradeOnlySectorsSectors=Healthcare,Technology,Basic Materials,Consumer Defensive,Industrials
|
||||
SuspendTrading=False|UsePriceSlopeIndicator=True|UsePriceSlopeIndicatorDays=252|AnalysisDate=3/16/2024|BetaMonths=6|TradeDate=3/15/2024|MarketCapLowerLimit=500000000|SidewaysDetection=False|SidewaysAfterDays=30|PriceTrendDays=20|CheckOutliersInReturnStream=True|DailyReturnLimit=0.25|MaxDailyPositions=3|MaxOpenPositions=6|NoTradeSymbols=CODYY,MARUY,CSTM,CS,NATI,QADA,CRTO,GTBIF,CLCT,PRSC,CMD,STAY,GBTC,YOKU,PNY,RFMD,ASAZY,USMO,VNR,STB,XIV,SYNT,DFP|OnlyTradeSymbols=|MinRSI=70|InitialCash=10000|TotalRiskPercentDecimal=0.05|PositionRiskPercentDecimal=0.12|EquityOnly=False|MinPercentReturnProximityTo52WeekHigh=30|MinPercentReturnOver52WeekLow=80|ProfitMarginCheck=True|EPSCheck=True|MinDaysBetweenReholding=30|LiquidityCheck=True|MinVolume=1000|DMA200Horizon=15|MinDaysBetweenStopAdjustments=30|MinDaysBetweenInitialStopAdjustment=5|MaxPricingExceptions=3|MACDSetup=(12,26,9)|MACDSignalDays=5|MACDRejectStrongSells=True|MACDRejectWeakSells=True|UseMarketIndicator=True|Benchmark=SPY|BenchmarkMovingAverageDays=200|BenchmarkMovingAverageHorizon=5|UseMarketIndicatorVolatility=True|UseMarketIndicatorVolatilityHorizon=60|UseMarketIndicatorVolatilityBenchmark=^VIX|UseStopLimitScaling=True|StopLimitScalingType=AverageTrueRange|StopLimitScalingVolatilityDays=30|SellOnDMABreak=True|DMABreakValues=200|DMABreakForceBreak=False|EntryType=OverExtended,MVP,PriceTrend,VolumeTrend|EntryHorizon=30|CandidateExpiryDays=180|VolumeTrendDays=10|ChannelBreakoutHorizon=40|UseOverExtendedIndicatorDays=45|UseOverExtendedIndicatorViolationThreshhold=1|UseOverExtendedIndicatorMarginPercent=1|MaxBeta=10|UseMaxBeta=False|UseProfitMaximization=True|UseProfitMaximizationExpression=R_THRESSHOLD=4;MAX_ATR=3;MULTIPLIER=MAX_ATR;IF(RMultiple>=R_THRESSHOLD){MULTIPLIER=1.2;}|UseTradeOnlySectors=True|UseTradeOnlySectorsSectors=Healthcare,Technology,Basic Materials,Consumer Defensive,Industrials
|
||||
PricingExceptions=0
|
||||
TotalActivePositions=6
|
||||
Symbol=AVGO|PurchaseDate=10/13/2023 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=1|PurchasePrice=890.97|CurrentPrice=1257.87|Exposure=890.97|MarketValue=1257.87|GainLoss=366.9|GainLossPcnt=0.411798377049732|PositionRiskDecimal=0.12|R=105.9816|C=109.885485794067|P=1.0368355053525|InitialStopLimit=784.05|TrailingStopLimit=1182.1635710907|TotalRiskExposure=105.9816|RMultiple=3.46R|Volatility=19.4005393981934|Volume=0|LastStopAdjustment=2/22/2024 12:00:00 AM|Comment=Price changed on 10/16/2023 from $883.18 to $890.97
|
||||
Symbol=APG|PurchaseDate=11/8/2023 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=77|PurchasePrice=27.08|CurrentPrice=38.5|Exposure=2085.16|MarketValue=2964.5|GainLoss=879.34|GainLossPcnt=0.421713441654358|PositionRiskDecimal=0.12|R=3.2304|C=250.186|P=77.4473749380882|InitialStopLimit=23.83|TrailingStopLimit=31.5525711941719|TotalRiskExposure=248.7408|RMultiple=3.54R|Volatility=1.05591440200806|Volume=0|LastStopAdjustment=2/29/2024 12:00:00 AM|Comment=Price changed on 11/9/2023 from $26.92 to $27.08
|
||||
Symbol=CLS|PurchaseDate=1/4/2024 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=32|PurchasePrice=27.92|CurrentPrice=45.03|Exposure=893.44|MarketValue=1440.96|GainLoss=547.52|GainLossPcnt=0.612822349570201|PositionRiskDecimal=0.12|R=3.3504|C=107.5275|P=32.0939290830946|InitialStopLimit=24.5696|TrailingStopLimit=40.0599142551422|TotalRiskExposure=107.2128|RMultiple=5.11R|Volatility=0.907680511474609|Volume=0|LastStopAdjustment=3/11/2024 12:00:00 AM
|
||||
Symbol=FTAI|PurchaseDate=1/23/2024 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=14|PurchasePrice=51|CurrentPrice=58.33|Exposure=714|MarketValue=816.62|GainLoss=102.62|GainLossPcnt=0.143725490196078|PositionRiskDecimal=0.12|R=6.036|C=85.6855|P=14.1957422133863|InitialStopLimit=44.88|TrailingStopLimit=51.4342853832245|TotalRiskExposure=84.504|RMultiple=1.21R|Volatility=1.01389157772064|Volume=0|LastStopAdjustment=2/28/2024 12:00:00 AM|Comment=Price changed on 1/24/2024 from $50.30 to $51.00
|
||||
Symbol=NEU|PurchaseDate=2/20/2024 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=1|PurchasePrice=609.01|CurrentPrice=615.44|Exposure=609.01|MarketValue=615.44|GainLoss=6.43000000000006|GainLossPcnt=0.0105581189143036|PositionRiskDecimal=0.12|R=73.0956|C=73.588|P=1.00673638358533|InitialStopLimit=535.93|TrailingStopLimit=584.230923309326|TotalRiskExposure=73.0956|RMultiple=0.09R|Volatility=10.5676956176758|Volume=0|LastStopAdjustment=2/26/2024 12:00:00 AM|Comment=Price changed on 2/21/2024 from $609.13 to $609.01
|
||||
Symbol=KTOS|PurchaseDate=2/23/2024 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=30|PurchasePrice=17.94|CurrentPrice=17.54|Exposure=538.2|MarketValue=526.2|GainLoss=-12.0000000000001|GainLossPcnt=-0.0222965440356747|PositionRiskDecimal=0.12|R=2.4216|C=73.686|P=30.4286422200198|InitialStopLimit=15.79|TrailingStopLimit=16.3189284300804|TotalRiskExposure=72.648|RMultiple=-0.17R|Volatility=0.288610696792603|Volume=0|LastStopAdjustment=2/28/2024 12:00:00 AM|Comment=Price changed on 2/23/2024 from $20.18 to $17.94
|
||||
Symbol=AVGO|PurchaseDate=10/13/2023 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=1|PurchasePrice=890.97|CurrentPrice=1235.5|Exposure=890.97|MarketValue=1235.5|GainLoss=344.53|GainLossPcnt=0.38669090990718|PositionRiskDecimal=0.12|R=105.9816|C=109.885485794067|P=1.0368355053525|InitialStopLimit=784.05|TrailingStopLimit=1182.1635710907|TotalRiskExposure=105.9816|RMultiple=3.25R|Volatility=19.4005393981934|Volume=0|LastStopAdjustment=2/22/2024 12:00:00 AM|Comment=Price changed on 10/16/2023 from $883.18 to $890.97
|
||||
Symbol=APG|PurchaseDate=11/8/2023 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=77|PurchasePrice=27.08|CurrentPrice=38.05|Exposure=2085.16|MarketValue=2929.85|GainLoss=844.69|GainLossPcnt=0.405096011816839|PositionRiskDecimal=0.12|R=3.2304|C=250.186|P=77.4473749380882|InitialStopLimit=23.83|TrailingStopLimit=31.5525711941719|TotalRiskExposure=248.7408|RMultiple=3.40R|Volatility=1.05591440200806|Volume=0|LastStopAdjustment=2/29/2024 12:00:00 AM|Comment=Price changed on 11/9/2023 from $26.92 to $27.08
|
||||
Symbol=CLS|PurchaseDate=1/4/2024 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=32|PurchasePrice=27.92|CurrentPrice=43.97|Exposure=893.44|MarketValue=1407.04|GainLoss=513.6|GainLossPcnt=0.574856733524355|PositionRiskDecimal=0.12|R=3.3504|C=107.5275|P=32.0939290830946|InitialStopLimit=24.5696|TrailingStopLimit=40.0599142551422|TotalRiskExposure=107.2128|RMultiple=4.79R|Volatility=0.907680511474609|Volume=0|LastStopAdjustment=3/11/2024 12:00:00 AM
|
||||
Symbol=FTAI|PurchaseDate=1/23/2024 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=14|PurchasePrice=51|CurrentPrice=60.04|Exposure=714|MarketValue=840.56|GainLoss=126.56|GainLossPcnt=0.177254901960784|PositionRiskDecimal=0.12|R=6.036|C=85.6855|P=14.1957422133863|InitialStopLimit=44.88|TrailingStopLimit=51.4342853832245|TotalRiskExposure=84.504|RMultiple=1.50R|Volatility=1.01389157772064|Volume=0|LastStopAdjustment=2/28/2024 12:00:00 AM|Comment=Price changed on 1/24/2024 from $50.30 to $51.00
|
||||
Symbol=NEU|PurchaseDate=2/20/2024 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=1|PurchasePrice=609.01|CurrentPrice=622.74|Exposure=609.01|MarketValue=622.74|GainLoss=13.73|GainLossPcnt=0.0225447857999048|PositionRiskDecimal=0.12|R=73.0956|C=73.588|P=1.00673638358533|InitialStopLimit=535.93|TrailingStopLimit=584.230923309326|TotalRiskExposure=73.0956|RMultiple=0.19R|Volatility=10.5676956176758|Volume=0|LastStopAdjustment=2/26/2024 12:00:00 AM|Comment=Price changed on 2/21/2024 from $609.13 to $609.01
|
||||
Symbol=KTOS|PurchaseDate=2/23/2024 12:00:00 AM|SellDate=1/1/0001 12:00:00 AM|Shares=30|PurchasePrice=17.94|CurrentPrice=17.1|Exposure=538.2|MarketValue=513|GainLoss=-25.2|GainLossPcnt=-0.0468227424749165|PositionRiskDecimal=0.12|R=2.4216|C=73.686|P=30.4286422200198|InitialStopLimit=15.79|TrailingStopLimit=16.3189284300804|TotalRiskExposure=72.648|RMultiple=-0.35R|Volatility=0.288610696792603|Volume=0|LastStopAdjustment=2/28/2024 12:00:00 AM|Comment=Price changed on 2/23/2024 from $20.18 to $17.94
|
||||
TotalPositions=93
|
||||
Symbol=CDNS|PurchaseDate=8/25/2020 12:00:00 AM|SellDate=9/3/2020 12:00:00 AM|Shares=16|PurchasePrice=111.82|CurrentPrice=109.57|Exposure=1789.12|MarketValue=1753.12|GainLoss=-36|GainLossPcnt=-0.0201216240386335|PositionRiskDecimal=0.12|R=13.3512|C=225.6365|P=16.9000913775541|InitialStopLimit=97.9088|TrailingStopLimit=109.599856939316|TotalRiskExposure=213.6192|RMultiple=-0.17R|Volatility=2.3209912776947|Volume=1767980|LastStopAdjustment=9/2/2020 12:00:00 AM|Comment=Manual close.
|
||||
Symbol=LULU|PurchaseDate=8/28/2020 12:00:00 AM|SellDate=9/4/2020 12:00:00 AM|Shares=3|PurchasePrice=377.5|CurrentPrice=370.23|Exposure=1132.5|MarketValue=1110.69|GainLoss=-21.8099999999999|GainLossPcnt=-0.0192582781456953|PositionRiskDecimal=0.12|R=45.2976|C=136.6285|P=3.01624147857723|InitialStopLimit=332.1824|TrailingStopLimit=372.562428512573|TotalRiskExposure=135.8928|RMultiple=-0.16R|Volatility=25.858959197998|Volume=2871665|LastStopAdjustment=9/2/2020 12:00:00 AM|Comment=Manual close.
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -5,18 +5,18 @@
|
||||
<add key="portfolio_data" value="Database=portfolio_data;Datasource=localhost;Username=root;Password=dbas"/>
|
||||
<add key="sms_smtpaddress" value="smtp.gmail.com"/>
|
||||
<add key="sms_smsusername" value="skessler1964@gmail.com"/>
|
||||
<add key="sms_smspassword" value="xjfo isnf gmyi zovr"/>
|
||||
<!--<add key="sms_smsrecipients" value="6315252496@vtext.com"/>-->
|
||||
<add key="sms_smsrecipients" value="skessler1964sms@gmail.com"/>
|
||||
<add key="sms_smspassword" value="xjfo isnf gmyi zovr"/>
|
||||
<add key="sms_smsrecipients" value="skessler1964sms@gmail.com"/>
|
||||
<add key="proxy_address" value="http://127.0.0.1:8182"/>
|
||||
<add key="proxy_GetLatestPriceYahoo" value="false"/>
|
||||
<add key="proxy_GetLatestPriceFidelity" value="true"/>
|
||||
<add key="proxy_GetLatestPriceBigCharts" value="false"/>
|
||||
<add key="proxy_GetETFHoldings" value="true"/>
|
||||
<add key="proxy_GetAnalystPriceTargetYahoo" value="true"/>
|
||||
<add key="proxy_GetFundamentalFinViz" value="false"/>
|
||||
<add key="proxy_GetAnalystPriceTargetYahoo" value="true"/>
|
||||
<add key="proxy_GetDailyPrices" value="false"/>
|
||||
<add key="proxy_GetFundamentalEx" value="false"/>
|
||||
<add key="proxy_GetDividendHistory" value="false"/>
|
||||
<add key="proxy_GetAnalystPriceTargetMarketBeat" value="false"/>
|
||||
</appSettings>
|
||||
<add key="proxy_GetDividendHistory" value="false"/>
|
||||
<add key="proxy_GetCompanyHeadlinesMarketWatch" value="false"/>
|
||||
</appSettings>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/></startup></configuration>
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
REM SLEEP FOR 1 HOUR
|
||||
REM TIMEOUT /t 3600 /nobreak
|
||||
REM TIMEOUT TAKES SECONDS
|
||||
REM 4 HOURS IS 14,400
|
||||
|
||||
REM SLEEP FOR 5.75 HOURS
|
||||
TIMEOUT /t 20700 /nobreak
|
||||
TIMEOUT /t 14400 /nobreak
|
||||
start updatefinancialstatements.bat
|
||||
start updatefundamentals.bat
|
||||
start updatehistorical.bat
|
||||
|
||||
Reference in New Issue
Block a user