[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 501

 
baykanur:

src inserido

Eu não sei o que foi comentado

há uma discrepância no número de negócios lucrativos no Testador de Estratégia.

Nesta forma (sem controle de abertura de nova barra) teste SOMENTE por modelo: "Todos os carrapatos..." em testador de estratégia.

Não use os valores indicadores na barra 0, se você não usar os preços abertos, mas os preços fechados neles, ou seja, mude esta parte do código - coloque 1 em vez de 0

 
      MA2 = iMA(NULL,0,2,0,MODE_SMA,PRICE_CLOSE,1);
      MA3 = iMA(NULL,0,5,0,MODE_SMA,PRICE_CLOSE,1);
      Fr = iForce(NULL,0,2,MODE_SMA,PRICE_CLOSE,1);

ou usar preços abertos, ou seja

 
      MA2 = iMA(NULL,0,2,0,MODE_SMA,PRICE_OPEN,0);
      MA3 = iMA(NULL,0,5,0,MODE_SMA,PRICE_OPEN,0);
      Fr = iForce(NULL,0,2,MODE_SMA,PRICE_OPEN,0);
 
griha:
Boa tarde,
1. quero abrir uma posição para 3-4% de minha conta de acordo com minha gestão de dinheiro. Existe uma calculadora para calcular o tamanho de lote necessário para qualquer par (ou pelo menos os pares mais populares)? Ou como faço para calcular manualmente o tamanho do lote, por exemplo EURUSD?
2. A Ajuda do Terminal não explica o que é o "Nível" calculado na guia "Terminal/Trading". Quem pode explicar o que isso significa?

Lote máximo que você pode abrir em todos os depósitos (ver código). Em geral, é mais correto começar com dois parâmetros: paradas e alavancagem.

double MaxmaxLots(int cmd) 
{
    double result = 0;
    double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
    double v = MarketInfo(Symbol(), MODE_MINLOT);
    double mult = 100;
    
    while (true) {
        if (AccountFreeMarginCheck(Symbol(), cmd, v + lotStep * mult) > 0) { 
            v = v + lotStep * mult;
        } else {
            mult = mult / 10;
            
            if (mult < 1) {
                if (AccountFreeMarginCheck(Symbol(), cmd, v) > 0) { 
                    result = v;
                }
                break;
            }
        }
    }
    
    return(result);
}         
 
Uma pequena sugestão para os administradores: fazer uma pergunta - respondida (quando alguém a responde), e se não respondida, as perguntas prioritárias estavam no topo da classificação. Embora provavelmente seja difícil - a programação em geral não é fácil :) Posso, é claro, fazer perguntas sem resposta, duplicar 10 vezes, mas de que serve - o fórum não vai crescer a partir do conteúdo semântico, e duplicatas desnecessárias.
 

Hi !!!! Ajude-me a resolver um problema. Dois indicadores em uma janela CCI e MACD, um tem níveis fixos e o outro tem níveis flutuantes máximos e mínimos. Como automatizar ambos em relação ao nível zero da CCI.

 

Você pode me dizer como abrir apenas um pedido por período de tempo? Por exemplo, existe uma seção entre a barra 1 e a barra 20. Durante este período, uma ordem deve ser aberta em cada fractal, e uma ordem para cada fractal. Como isso pode ser feito?

 
sss2019:

Você pode me dizer como abrir apenas um pedido por período de tempo? Por exemplo, existe uma seção entre a barra 1 e a barra 20. Durante este período, uma ordem deve ser aberta em cada fractal, e uma ordem para cada fractal. Como isso pode ser feito?

O pedido é aberto no bar atual. Você já viu um fractal na barra atual?
 
artmedia70:
O pedido é aberto na barra atual. Você já viu um fractal na barra atual?

Vários pedidos podem ser abertos no bar atual. As ordens pendentes são abertas a preços dos fractais que foram encontrados dentro de um período de tempo: os fractais inferiores estão à venda e os fractais superiores estão à compra. Devemos fazer um pedido aberto em um fractal.
 
sss2019:

Vários pedidos podem ser abertos no bar atual. Os pedidos pendentes são abertos aos preços fractais que foram encontrados durante o período de tempo, os inferiores são para venda e os superiores são para compra. Devemos fazer um pedido aberto em um fractal.

Se você está falando em fazer pedidos pendentes, eu não o entendo. Abrir uma ordem é abrir uma posição no mercado, como eu o entendo. Estabelecer um pedido é colocar um pedido pendente.

Faça um cheque deste modo. Encontre um fractal, encontre seu preço e tempo.
Verifique se há uma ordem pendente com o preço igual ao preço fractal e se a ordem é feita no momento da barra com o fractal.
Caso contrário, defina um.

 
artmedia70:

Se você está falando em fazer pedidos pendentes, eu não o entendo. Abrir uma ordem é abrir uma posição no mercado, como eu o entendo. Estabelecer um pedido é colocar um pedido pendente.

Faça um cheque deste modo. Encontre um fractal, encontre seu preço e tempo.
Verifique se há uma ordem definida com o preço igual ao preço fractal e o tempo da barra com o fractal.
Caso contrário, coloque-a.


Se houver dois fractais com o mesmo preço, devemos abrir duas ordens, mas apenas uma ordem será aberta. E se só verificarmos a tempo, então na abertura de uma nova vela, as ordens repetidas serão abertas pelos mesmos fractais.
 
sss2019:

E se houver dois fractais com o mesmo preço, devemos abrir duas ordens e apenas uma ordem será aberta. E se só verificarmos a tempo, então na abertura de uma nova vela, as ordens repetidas serão abertas pelos mesmos fractais.

É por isso que precisamos lembrar o preço e o tempo do fractal . Se o tempo do fractal, para o qual já foi feito um pedido, coincide com o tempo do fractal, então não precisamos colocar nada; o pedido já está feito. Se o tempo do fractal encontrado não coincide com o tempo do fractal, para o qual já foi feito um pedido, então é um novo fractal e outro pedido deve ser feito mesmo que os preços dos dois fractais sejam os mesmos.

Usamos o tempo de um fractal para determinar se um pedido é ou não colocado nesse fractal. E usamos o preço do fractal para determinar o preço de abertura da ordem pendente

Razão: