[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 879

 
Acontece o seguinte. Abri e fechei muitos pedidos, mas só preciso de um e pronto. Talvez, tudo possa ser elementar, mas eu fiquei preso. Tenho tentado assegurar que, quando uma determinada condição (cruzamento) é atendida, uma ordem é aberta e a variável recebe um determinado valor. Então incluí esta variável na condição de abertura dos pedidos, mas nada acontece. Uma ordem é aberta, depois a segunda, depois a terceira.
 
prom18:
O resultado é o seguinte. Você abre e fecha muitos pedidos, enquanto você precisa apenas de um. Talvez, tudo isso possa ser elementar, mas eu não tenho uma solução. Tentei fazer com que apenas um pedido fosse aberto e a variável recebesse um determinado valor quando uma determinada condição fosse cumprida (cruzamento). Então incluí esta variável na condição de abertura dos pedidos, mas nada acontece. Uma ordem é aberta, depois a segunda e a terceira.


Preciso de código ou um pedaço de código - sem código apenas no nível do quadro

e não há muitos conselhos:

1) verificar o número de ordens em aberto neste sinal

2) verificar a hora do sinal (conectar à barra de corrente se houver apenas um sinal dentro da barra)

3) conjuntamente 1) e 2)

 
abolk:


Preciso de um código ou um pedaço de código - sem código apenas no nível do quadro

e não há muitos conselhos:

1) verificar o número de ordens em aberto neste sinal

2) verificar a hora do sinal (conectar à barra de corrente se houver apenas um sinal dentro da barra)

3) conjuntamente 1) e 2)

Obrigado! Vou tentar.

 
Obrigado pela dica sobre a depuração da EA. A propósito, eu ainda sou novo no fórum e nem sempre entendo a gíria. O que é IMHO? :)
artmedia70:

Não me lembro de lhe dizer como acessar o fórum... :)

Acho que ninguém será capaz de ajudá-lo aqui sem a própria EA apenas a partir das entradas do registro de otimização. Os psíquicos estão descansando há uma década... :)

E por que você está tentando otimizá-lo de qualquer maneira? Basta executar o teste primeiro e procurar por erros.

Otimização, se necessário, na etapa final de testes do Expert Advisor e da estratégia como um todo

a fim de encontrar os valores ótimos das variáveis. No entanto, eu pessoalmente, IMHO, acredito que é apenas uma adaptação estúpida aos dados históricos,

Portanto, procuro fazer tudo dinamicamente em meus EAs, confiando no próprio EA no cálculo dos valores ótimos das variáveis.

 
boris.45:
O que é IMHO? :)
Você poderia apenas dizer: "Na minha opinião".
 

enquanto ou se ?

Profissionais, por favor, expliquem as entradas e saídas.

Testei em GBPUSD em 2 de fevereiro de 2010.

№1

int start()
{ if(OrdersTotal()==0) // quando não há ordens
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-60*Point,Ask+30*Point);
retornar; }

Este funciona, abriu e fechou 4 pedidos.

№2

int start()
{ while(OrdersTotal()==0) // quando não há ordens
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-60*Point,Ask+30*Point);
retornar; }
Este não quer trabalhar; aqui está o que diz no diário de bordo:

Modificou-o um pouco, funcionou.

№3

int start()
{ while(OrdersTotal()==0) // quando não há ordens
OrderSend(Symbol(),OP_BUY,0.1,NormalizeDouble(Ask,4),3,
NormalizeDuplo(Ask-60*Point,4),NormalizeDuplo(Ask+30*Point,4));
retornar; }

Na verdade, perguntas:

Por que com " se " (#1) todos os preços de abertura/fecho com cotações de quatro dígitos, mas o fechamento do último pedido está a cinco dígitos?

Por que "enquanto" (#2) não quer trabalhar, o que há de errado com o preço?

Por que "enquanto" (#3) ao especificar o preço de abertura através da NormalizeDouble (Pergunte,4) faz com que a primeira ordem abra e a última ordem feche em cotações de cinco dígitos?

Qual é a diferença fundamental entre se e enquanto, neste caso (#1 e #2)?

P.S. E se eu correr separadamente 8.02.10, todos os três trabalham.

Eu ficaria muito grato por respostas ou links.

 

Alguém pode me dizer como escrever em um EA "se o lucro do pedido for +5%, então ........"?

 
FoxUA:

que pode me dizer como escrever em um EA "se o lucro do pedido for +5% então ........".


definir o que significa 5% ?

mostra a relação de um valor para o outro, acho que você está procurando um aumento de patrimônio líquido de 5%, então

if (OrdersTotal()<1) eq=AccountBalance();
.....


if (AccountEquity()> eq+eq/100*5){
// прирост эквити на 5%


}

se você ainda estiver interessado na mudança de lucro da ordem, então OrderProfit() da lembrança

 
IgorM:


Defina o que significa 5% ?

mostra a relação de um valor para o outro, acho que você está procurando um aumento de capital de 5%, então

se você ainda estiver interessado em mudar o lucro do pedido, OrderProfit() do memorizado


Talvez eu não tenha expressado corretamente, eu preciso de uma mudança, por exemplo, BalansEURUSD para mostrar lucro ou perda em porcentagem "BalansEURUSD =5%" ou algo do tipo

e assim por diante vários pares, digamos por libra e por dolra

uma vez

 
Vinin:
Você poderia apenas dizer: "Na minha opinião".
Obrigado, Victor... :) Acrescentarei mais de minha própria autoria:
________________________________________________________________________________________________________
Literalmente: do inglês IMHO "In My Humble Opinion" (Em Minha Humilde Opinião ou Em Minha Honesta Opinião).
Ou coloquialmente em russo, com gírias: IMHO = "Eu tenho uma opinião, você não pode discutir com ela" ... :)))))