internal static void RequestData(string papel, string fileName, Consts.TIPO_CARGA_ATIVOS tipoCarga) { papel = papel.Replace("_", "%5E"); string url = ""; if (tipoCarga == Consts.TIPO_CARGA_ATIVOS.VALIDA_CANDIDATO) { url = urlValidacao.Replace("ACAO", papel); } else if (tipoCarga == Consts.TIPO_CARGA_ATIVOS.GERA_CANDIDATOS) { url = urlServico.Replace("ACAO", papel); } else { url = GeraUrlAtual(urlAtual, papel); } string saida = LoadFromWeb(papel, url); using (StreamWriter outputFile = new StreamWriter(fileName)) { outputFile.WriteLine(saida); } }
internal Carteira RunSingle(int loop, TradeSystem ts, string name, Consts.TIPO_CARGA_ATIVOS tipoCarga) { if (tipoCarga == Consts.TIPO_CARGA_ATIVOS.VALIDA_CANDIDATO) { //valido com todos os papeis disponíveis config.qtdPercPapeis = 100; facadeValidation.LoadAtivos(config, loop, config.tipoPeriodo, tipoCarga); return(facadeValidation.RunValidation(this, config, ts, name)); } else { facade.LoadAtivos(config, loop, config.tipoPeriodo, tipoCarga); return(facade.RunSingle(name, this, config, ts)); } }
internal IList <string> GetLista(Consts.TIPO_CARGA_ATIVOS tipoCarga, int loopNumber) { return(papeis.GetLista(tipoCarga.ToString(), loopNumber).listaPapeis); }
public void LoadAtivo(string papel, int loteMin, Consts.PERIODO_ACAO periodo, string fileName, Consts.TIPO_CARGA_ATIVOS tipoCarga = backend.Consts.TIPO_CARGA_ATIVOS.GERA_CANDIDATOS) { Ativo ativo = dh.GetOrCreateAtivo(papel, loteMin); if (ativo.candles.Count > 0) { return; } if (!dm.LoadAtivo(ativo, periodo, fileName, tipoCarga)) { dh.RemoveAtivo(ativo); } }
private void LoadAtivoSemanal(string papel, Consts.TIPO_CARGA_ATIVOS tipoCarga) { string suffix = tipoCarga.ToString(); LoadAtivo(papel.ToUpper(), 100, Consts.PERIODO_ACAO.SEMANAL, "dados/" + papel.ToLower() + "-semanal" + suffix + ".js", tipoCarga); }
private void LoadAtivoDiario(string papel, Consts.TIPO_CARGA_ATIVOS tipoCarga) { string suffix = tipoCarga.ToString(); LoadAtivo(papel.ToUpper(), 100, Consts.PERIODO_ACAO.DIARIO, "dados/" + papel.ToLower() + "-diario" + suffix + ".js", tipoCarga); }
public void LoadAtivos(Config config, int loopNumber, Consts.PERIODO_ACAO periodo, Consts.TIPO_CARGA_ATIVOS tipoCarga) { dh.ClearAtivos(); IList <string> list = config.GetLista(tipoCarga, loopNumber); foreach (string papel in list) { if (periodo == Consts.PERIODO_ACAO.DIARIO) { LoadAtivoDiario(papel, tipoCarga); } else if (periodo == Consts.PERIODO_ACAO.SEMANAL) { LoadAtivoSemanal(papel, tipoCarga); } else { throw new Exception("Periodo não implementado:" + periodo); } } }
private static void CarregaDadosWebSeNaoExisteArquivo(Ativo ativo, string fileName, Consts.TIPO_CARGA_ATIVOS tipoCarga) { //sempre carrego quando é dado atual... if (!File.Exists(fileName) || tipoCarga == Consts.TIPO_CARGA_ATIVOS.DADOS_ATUAIS) { Utils.Info("Ativo " + ativo.name + " não encontrado... carregando via serviço..."); AcaoService.RequestData(ativo.name, fileName, tipoCarga); } }
internal bool LoadAtivo(Ativo ativo, Consts.PERIODO_ACAO periodoAcao, string fileName, Consts.TIPO_CARGA_ATIVOS tipoCarga) { fileName = fileName.Replace("%5e", "_"); CarregaDadosWebSeNaoExisteArquivo(ativo, fileName, tipoCarga); using (StreamReader r = new StreamReader(fileName)) { ativo.candles.Clear(); string json = "[" + r.ReadToEnd() + "]"; List <CargaADVFN> items = JsonConvert.DeserializeObject <List <CargaADVFN> >(json); foreach (CargaADVFN item in items) { if (item.s != "ok") { return(false); } ProcessaDia(ativo, periodoAcao, item); } return(true); } }