//+------------------------------------------------------------------+ //| S0_Admissao_v4_4.mqh | //| OXFORD | //| HEDGING HORN CAPITAL | //| https://www.hhcapital.com.br | //+------------------------------------------------------------------+ #property copyright "Copyright 2022, HEDGING HORN CAPITAL" #property link "https://www.hhcapital.com.br" #property version "HOMOLOG_v4_4" #property description "HFT MARKET MAKING BASED ON OXFORD'S STUDIES. MINI INDICE." //+===================================================================================================================================================================================+ //| 0 - SESSAO DE CABECALHO / ADMISSAO //+===================================================================================================================================================================================+ //+------------------------------------------------------------------+ //| 0.1 - IMPORTACOES | //+------------------------------------------------------------------+ #include #include #include #include "MarketBook.mqh" //+------------------------------------------------------------------+ //| 0.2 - OBJETOS OPERACIONAIS | //+------------------------------------------------------------------+ struct CustomMqlTick { int idTick; int vb0; int va0; int bid1; int ask1; int vb1; int va1; int flag; int volume; datetime timestamp; double last; double bid0; double ask0; string tipoEvento; }; struct slot { ulong idOrdem; ulong idPosicao; int statusCambio; int statusMotor; int ponta; int state; double qtd; double precoEnvio; double precoAlvo; double precoStop; double spreadEnvio; double spreadAlvo; double spreadStop; MqlDateTime cronometro; }; struct posicao { ulong idPosicao; int ponta; double qtd; double precoMedio; double precoAlvo; double precoStop; }; struct fluido { bool LC; bool LV; int q; int Q; int t; int TOr; int TPr; int TOe; int TPe; int t0d; int td; int Td; int nBook; int iBid0; int iAsk0; int iSlot; int niveis; int rajada; int handlerMA; int handlerSTDDEVLongo; int handlerSTDDEVCurto; int handlerVolumeReal; int handlerVolumeNegocios; int periodoMA; int periodoSTDDEVLongo; int periodoSTDDEVCurto; int periodoVolume; int intervaloTicks; int fatorHedge; int spreadCusto; int n; int fatorLambdaBacktest; double media; double midPrice; double drift; double sigmaHFT; double sigmaLFT; double volumeReal; double volumeNegocios; double assimetria; double curtose; double spreadHFTC; double spreadHFTV; double spreadLFTC; double spreadLFTV; double KC; double KV; double lambdaC; double lambdaV; double lobC; double lobV; double fi; double fiInicial; double passoFi; double alpha; double precoMedioC; double precoMedioV; double tickMin; double precoAbertura; double precoOpen; double precoClose; double desvioDiario; double MA[]; double STDDEVLONGO[]; double STDDEVCURTO[]; double VOLUMEREAL[]; double VOLUMENEGOCIOS[]; double limiteInfTend; double limiteSupTend; double limiteInfDesvio; double limiteSupDesvioLongo; double limiteSupDesvioCurto; double imbalance; double corteImbalance; double eC; double eV; double c; string tendencia; double fatorStop; double gama; double ft; double fatorVol; }; struct operacao { bool chaveSaldoChumbado; bool chaveEscalonador; bool chaveRiscoSaldo; bool chaveRiscoTend; bool chaveRiscoVolCurto; bool chaveTrailing; bool chaveDesvio; bool chaveDrift; bool chaveLambda; bool chaveLambdaBacktest; bool chaveBook; bool chaveBookBacktest; bool chaveDeltaH; bool chaveTheta; bool chaveGama; bool chaveFi; bool chaveCurtose; int magic; int diaAtual; int diaAnt; int posicoes_total; int posicoes_total_prev; int normalizeDoubleSize; int tipoPosicao; int expiraPosicao; int countSaldo; int countFechaDia; int numeroContratos; int numeroContratosAcumulado; ushort horarioShort_atual; ushort horarioShort_inicial; ushort horarioShort_final; ushort horarioShort_fechamento; double precoAlvo; double precoStop; double precoEnvio; double offsetStartTrailingC; double offsetStartTrailingV; double offsetStopTrailingC; double offsetStopTrailingV; string handlerNormalizeDoubleSize; MqlDateTime horarioMQL_inicio; MqlDateTime horarioMQL_final; MqlDateTime horarioMQL_encerramento; MqlDateTime horarioMQL_atual; MqlDateTime horarioMQL_comprado; MqlDateTime horarioMQL_compra; MqlDateTime cronometroPosicao; MqlDateTime cronometroRefreshPosicao; MqlTradeRequest request; MqlTradeResult result; MqlTradeTransaction transaction; MqlTradeCheckResult check_result; CSymbolInfo simbolo; CTrade negocio; }; struct gerenciador { double capitalInicialDia; double capitalAberto; double capitalFechado; double capitalTotal; double capitalInvestido; double lucroBrutoFechado; double lucroBrutoAberto; double lucroBrutoComposto; double lucroLiquido; double lucroLiquidoAcumulado; double alvoFinanceiro; double stopFinanceiro; double alvoPercentual; double stopPercentual; }; //+===================================================================================================================================================================================+ //| FIM DO PROGRAMA //+===================================================================================================================================================================================+