Criação de funções no AlgoWizard
3 respostas
Comércio com propósito
6 meses atrás #288569
Olá,
Sou um desenvolvedor experiente de MQL5 e estou tentando codificar nosso EA no SQX para testes. Já codificamos com sucesso nossos indicadores em .java usando o editor de código, mas não estou vendo uma opção para criar uma estratégia no editor de código. Estou vendo isso corretamente? Não temos permissão para codificar estratégias no Code Editor?
Em caso afirmativo, como eu codificaria minhas funções personalizadas usando o AlgoWizard, já que não estou vendo as opções de que preciso nos menus suspensos fixos? Tentei usar as "Funções personalizadas", onde coloquei uma função no .mq5 em "C:\StrategyQuantX138\user\extend\Code\MetaTrader5\CustomFunctions", mas parece que ele não reconheceu isso para o backtesting.
Por exemplo, uma das funções mais simples que temos é atribuir o preço médio das compras a uma variável. Como eu faria isso com o AlgoWizard ou há uma maneira de codificar uma estratégia no Code Editor semelhante à maneira como codificamos indicadores em .java?
Abaixo está um exemplo de função que eu gostaria de codificar.
Agradeço antecipadamente por sua ajuda.
[código]double Average_Price_BUY(ulong magicNumber,string symbol,int s){
double Total_Price = 0;
double Total_Size = 0;
double bAverage_Price;
for(int i = PositionsTotal() - 1; i >= 0; i-){
string CurrencyPair = PositionGetSymbol(i);
double PositionOpenPrice = PositionGetDouble(POSITION_PRICE_OPEN);
double PositionSize = PositionGetDouble(POSITION_VOLUME);
long PositionDirection = PositionGetInteger(POSITION_TYPE);
long PositionMagicNumber = PositionGetInteger(POSITION_MAGIC);
Se (símbolo == CurrencyPair && PositionDirection == POSITION_TYPE_BUY && PositionMagicNumber == magicNumber){
Total_Size += PositionSize;
Total_Price += PositionOpenPrice * PositionSize;
}
}
se (Total_Size != 0) {
bAverage_Price = Total_Price / Total_Size;
{} else {
bAverage_Price = 0,0;
}
if(inpCommissionAccount==false){retornar bAverage_Price;}
else{return bAverage_Price+(sym[s].CommPointsToAdd*SymbolPoint(symbol));}
}[/code]

tomas262
6 meses atrás #288574
Hi,
Isso está correto. Você não pode usar o CodeEditor para criar estratégias diretamente.
As CustomFunctions só podem ser usadas em simulação/real, não em backtesting. Você não pode simplesmente obter o preço médio. No modo de cobertura do MT4/5, cada posição está sendo tratada como independente. Você também não pode fazer referência direta ao "preço médio da posição"
Comércio com propósito
6 meses atrás #288582
Ok, obrigado por sua resposta.
Existe alguma maneira de escrever algo personalizado no AlgoWizard ou estamos limitados aos dropdowns fixos?
Bartosz
4 meses atrás #289168
1. Também estou interessado em usar a função personalizada CUST. A descrição diz que podemos usá-la para colocar nosso código MQL personalizado, mas não menciona que não podemos usá-la no retester etc. Então, qual é o uso pretendido?
Visualizando 3 respostas - 1 até 3 (de um total de 3)