SuperCharlie_Oxford/Homologacao_v4_4/S0_Admissao_v4_4.mqh
super.admin 513958a1f2 convert
2025-05-30 16:27:23 +02:00

241 lines
No EOL
9.1 KiB
MQL5

//+------------------------------------------------------------------+
//| 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 <Expert/Expert.mqh>
#include <Trade/Trade.mqh>
#include <Trade/SymbolInfo.mqh>
#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
//+===================================================================================================================================================================================+