Como encontrar o tempo da barra onde as médias móveis cruzaram? (código dentro) - página 2

 

Oh e Alladir - você parece ser do tipo detestável.

Faça um favor a si mesmo e pare de desperdiçar seu tempo escrevendo nesta linha ou em qualquer outra futura que eu possa escrever, se tudo o que você vai fazer é troll e não ser útil de qualquer maneira.

 
DomGilberto:

Oh e Alladir - você parece ser do tipo detestável.

Faça um favor a si mesmo e pare de desperdiçar seu tempo escrevendo nesta linha ou em qualquer outra futura que eu possa escrever, se tudo o que você vai fazer é troll e não ser útil de qualquer maneira.

Se você não pode ser civil, não poste.
 

WHRoader (se você não se importa) você poderia me dizer se estou certo ou errado nisto?

double buyPrice = iHighest(Symbol(), 0, MODE_HIGH, iBarShift(Symbol(), 0, triggerBarTime, true), 0); 

int Buy_Price = buyPrice; 

int buyticket = OrderSend(Symbol(),Buy_Price,LotSize,Ask,3,0,0,NULL,MagicNumber,0,Green);   Usually I'd put OP_BUY where Buy_Price is...

Você está dizendo que porque o iHighest simplesmente diz um número de barra, eu tentando colocar o Buy_Price onde OP_BUY costumava estar, não faz nenhum sentido porque OrderSend leva um duplo? (quando iHighest é um número inteiro?)

Mas como posso converter minha lógica iHighest em um preço para que minha função OrderSend entenda que estou querendo comprar o mais alto da gama iHighest?

 
RaptorUK:
Se você não pode ser civil, não poste.


Sim, você está certo. Desculpe.
 
DomGilberto:

WHRoader (se você não se importa) você poderia me dizer se estou certo ou errado nisto?

"double buyPrice = iHighest(Symbol(), 0, MODE_HIGH, iBarShift(Symbol(), 0, triggerBarTime, true), 0)";"

int Buy_Price= buyPrice;

"int buyticket =OrderSend(Symbol(),Buy_Price,LotSize,Ask,3,0,0,NULL,MagicNumber,0,Green);" Normalmente eu colocaria OP_BUY onde está Buy_Price...


  1. Reproduzir vídeo
    Por favor, edite seu post.
    Para grandes quantidades de código, anexá-lo.

  2. "double buyPrice = iHighest... 
    "preço duplo = índice de barras int", não faz sentido. Destrua-o:
    // double buyPrice = iHighest(Symbol(), 0, MODE_HIGH, iBarShift(Symbol(), 0, triggerBarTime, true), 0);
    int    iTBT     = iBarShift(Symbol(), 0, triggerBarTime, true),
           iHH      = iHighest(Symbol(), 0, MODE_HIGH, iTBT + 1, 0); // Include tBT bar. Len = from - to + 1
    double buyPrice = High[iHH];
    
  3. Se a maioria das funções (exceto marketInfo) você não precisa usar Symbol(). Você pode usar NULL como símbolo do gráfico atual, assim como você já usa 0 como período de tempo do gráfico atual.
 

Omg - Por que está tão claro depois que você percebe! Acho que é aqui que a prática faz a perfeição.

Sinceramente, agora eu a compreendo muito melhor. Ponha a :) na minha cara!

Vou tentar fazer isso agora e ver com o que posso sair!

Obrigado!!

 
int buyticket = OrderSend(Symbol(),buyPrice,LotSize,Ask,3,0,0,NULL,MagicNumber,0,Green);

Quando tento usar isto abaixo, estou recebendo um erro no diário dizendo que a função OrderSend cmd deve ser um número inteiro?

Obviamente não estou entendendo porque você mencionou que "OrderSend só aceita um preço (o dobro) não faz sentido abrir um pedido a 9".

Obviamente, se eu mudar para "int Buy_Price = buyPrice" isto funciona para colocar os pedidos, mas não é relevante para onde a entrada deve ser. (Esta é minha última pergunta - eu não quero pegar o mick, é claro!)

int iTBT= iBarShift(NULL,60, triggerBarTime, true),
         iHH= iHighest(NULL,60, MODE_HIGH, iTBT + 1, 0); // Include tBT bar. Len = from - to + 1
            double buyPrice = High[iHH];
 
DomGilberto:

Quando tento usar isto abaixo, estou recebendo um erro no diário dizendo que a função OrderSend cmd deve ser um número inteiro?

Obviamente não estou entendendo porque você mencionou que "OrderSend só aceita um preço (um duplo) não faz sentido abrir um pedido a 9".

Obviamente, se eu mudar para "int Buy_Price = buyPrice" isto funciona para colocar os pedidos, mas não é relevante para onde a entrada deve ser. (Esta é minha última pergunta - eu não quero pegar o mick, é claro!)

O erro é o cmd no OrderSend(), eu sei que você não quer ouvir, mas se você quer aprender, você também deve aprender a verificar a documentação e aprender a lê-la... tudo faz parte do processo... quando eu codifico um comando OrderSend(), eu o comparo com a documentação toda vez que verifico que me lembrei corretamente.

int buyticket = OrderSend(Symbol(),buyPrice,LotSize,Ask,3,0,0,NULL,MagicNumber,0,Green);

Que tipo de pedido é este ? clique -->OrderSend() diz que o 2º parâmetro écmd - Tipo de operação. Pode ser qualquer uma das enumerações da operação de Comércio.

 

Sim, você está certo RaptorUK - na verdade (praticamente em tudo o que faço) é ler a documentação (o dedo está praticamente sentado na F1 o tempo todo).

Jesus - Com novos olhos eu percebi como tenho sido estúpido!

Eu não queria colocar o preço de compra no cmd - segundo parâmetro, eu queria colocar isso no 4º parâmetro (preço duplo)!

Então isso funciona (colocar na ordem certa) - eu o mudei para uma ordem de compra e venda. Deus, estou chateado com o quão idiota eu tenho sido!

int buyticket = OrderSend(Symbol(),OP_BUYSTOP,LotSize,buyPrice,3,bsl,btp,NULL,MagicNumber,0,Green); 
      if(buyticket>0)OrderModify(buyticket,OrderOpenPrice(),bsl,btp,0,CLR_NONE);

int iTBT= iBarShift(NULL,60, triggerBarTime, true),
        iHH= iHighest(NULL,60, MODE_HIGH, iTBT + 1, 0); // Include tBT bar. Len = from - to + 1
            double buyPrice = High[iHH];

O "buyPrice" está simplesmente batendo na Ordem acima do alto da barra fechada mais recente que tocou o 21 EMA (ao invés da barra que era a mais alta da cruz MA e da barra que tocou o 21 EMA...)

Vou fazer uma brincadeira e ver onde estou indo errado! (passei tanto tempo olhando para isso que agora está se tornando doloroso rs).

Obrigado!!!!

(p.s o que inclui // Inclui barra tBT. Len = de - a + 1 nota significa?)

 
  1. DomGilberto:

    (p.s o que inclui // Inclui barra tBT. Len = de - a + 1 nota significa?)

    HH= iHighest(NULL,60, MODE_HIGH, iTBT + 1, 0); // Include tBT bar. Len = from - to + 1

    O índice de barras mais alto começando em zero para iTBT+1 barras inclui a barra iTBT.

    Seu post original

    double buyPrice = iHighest(Symbol(), 0, MODE_HIGH, iBarShift(Symbol(), 0, triggerBarTime, true), 0);
    
    não incluía a barra de tempo BarTime do gatilho.
  2. iHH= iHighest(NULL,60, MODE_HIGH, iTBT + 1, 0); // Include tBT bar. Len = from - to + 1
    double buyPrice = High[iHH];
    Por que você mudou o NULL,0 para NULL,60? Agora iHH só é válido para o gráfico PERÍODO_H1, e se o gráfico atual NÃO é o H1, então Alto[iHH] é falso.