Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Boa tarde.
Ainda sou novo em programação, se alguém puder me dar uma dica.
Pergunta. Temos um ou mais pedidos em aberto. Sabemos que eles fecharão com um lucro de 20 dólares.
Precisamos saber a que preço os pedidos serão fechados com lucro de 20 dólares.
Calculamos o volume total de lotes abertos, e então!
Por favor, aconselhe como fazer isso.
Talvez haja uma função pronta?
Obrigado de antemão.
Exemplos do uso de DistMarketAndPos().
Por que seria necessária uma função que determine a distância do mercado em relação à posição mais próxima? Vejo pelo menos quatro opções básicas:
Se você deseja uma implementação específica de qualquer uma destas opções, escreva aqui seus pedidos. Vou atender a todos os pedidos dentro da estrutura do que listamos acima.
ZZY-ZY. Em anexo está um modelo para experimentar a função DistMarketAndPos().
OláKimIV, a função é muito boa, funciona, eu a viro, funciona também, mas não consigo conectar as duas metades.
int start()
{
if (DistMarketAndPos()>150)
{
OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,Ask+150*Point);
}
return(0);
}
int DistMarketAndPos(string sy="", int op=OP_BUY, int mn=-1) {
double d, p;
int i, k=OrdersTotal(), r=1000000;
if (sy=="" || sy=="0") sy=Symbol();
p=MarketInfo(sy, MODE_POINT);
if (p==0) if (StringFind(sy, "")<0) p=0.00001; else p=0.01;
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if ((OrderSymbol()==sy) && (op<0 || OrderType()==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
if (OrderType()==OP_BUY) {
d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
if (r>d) r=NormalizeDouble(d, 0);
}
if (OrderType()==OP_SELL) {
d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
if (r>d) r=NormalizeDouble(d, 0);
}
}
}
}
}
return (r);
}
Nova versão da função Message().
Sobre as direções de saída de Alerta e Impressão (espaços 1 e 3) deve-se observar que eles são capazes de emitir a mensagem linha por linha. Isto é, se houver uma quebra de linha no texto da mensagem - caráter de controle "\n", então cada linha será impressa de forma independente. Experimente o roteiro de teste no anexo, acho que você vai gostar :-)
Nova versão da função Message().
Sobre as direções de saída de Alerta e Impressão (espaços 1 e 3) deve-se observar que eles são capazes de emitir a mensagem linha por linha. Isto é, se houver uma quebra de linha no texto da mensagem - caráter de controle "\n", então cada linha será impressa de forma independente. Experimente o roteiro de teste no anexo, acho que você vai gostar :-)
Você adicionou uma verificação para parar de nivelar a sua função OpenPosition?
Não... a que tipo de cheque você está se referindo? Bem, digamos que a parada e a tomada falhou o cheque, o que fazer? Há opções:
não... a que tipo de cheque você está se referindo? Bem, digamos que a parada e a tomada não passaram o cheque, o que você faz? Há opções:
Nova versão da funçãoOpenPosition() no roteiro de teste.
O que há de novo?
1. Quando o erro 130 Paradas Inválidas e o valor da variável NumberOfTry>1 é definido, a função tentará ajustar os níveis de preço StopLoss e TakeProfit aos valores de MODE_STOPLEVEL+MODE_SPREAD relativos ao Bid for OP_SELLL e Ask for OP_BUY.
Nota:
A variávelNumberOfTry global deveser maior que 1 para acionar a correção dos níveis de preços. Isto se deve aofato de que a primeira tentativa de abrir uma posição revela erro 130 e corrige os níveis de preços, enquanto que a segunda e subsequentes tentativas de abrir uma posição com níveis corrigidos.
Boa tarde.
É possível complementar a biblioteca de funções úteis da KimIV com algumas funções simples como :
1.preço aberto, selecionado por alguns critérios posição (símbolo, tipo, tamanho do lote, número mágico). Este preço pode ser armazenado em variáveis globais e utilizado como um certo nível de preço, a partir do qual o algoritmo do Expert Advisor pode ser construído.
Devolve um bilhete selecionado de acordo com alguns critérios de uma posição ou ordem (símbolo, tipo, tamanho do lote, número mágico). O bilhete é um identificador importante, pode ser usado em qualquer lugar e até mesmo como uma bandeira de existência.
Quanto mais simples forem as funções, mais fácil será escolher as melhores para você, sem ter que se preocupar em cometer erros ao modificar as funções existentes.
Obrigado por suas funções.