assessor especializado - perguntas diversas - página 19

 

#String() Tipo de ordem - Aberto

O código abaixo me dá ' 1 ' para Sell OrderType mas eu preciso obter OrderType sting um deles ' Sell, Buy so on ', eu não quero obter numéricos.
Preciso de comentários úteis, por favor, obrigado.

IntegerToString( OrderType() );
 

Use um comando de interruptor.

switch (OrderType())
{
case OP_SELL:
  
break;

case OP_BUY:

break;
}
 
Marco vd Heijden:

Use um comando de interruptor.

Obrigado pelo comentário, vou tentar em breve.
 

Você também pode usar a diretiva #define se quiser simplificar ainda mais as coisas:

#define buy  OP_BUY
#define sell OP_SELL
if(OrderType()==buy)

if(OrderType()==sell)
 
honest_knave:

Você também pode usar a diretiva #define se quiser simplificar ainda mais as coisas:

Eu já uso #define qual deles é copiado para os códigos pip e point do Sr. William.
Portanto, após seu comentário, pesquisei um pouco sobre o assunto, acho que posso usá-lo em meus roteiros.

Obrigado por seu comentário útil.

 
Marco vd Heijden:

Use um comando de interruptor.

Muito obrigado, cara.

Estou experimentando pela primeira vez Switch Operator para minhas EA's.
Portanto, gostaria de dizer que aprendi um pouco mais sobre isto, mas não tenho experiência para este operador.

Antes de tentar no meu teste EA's eu só preciso perguntar, você quer dizer que eu poderia usar como o código abaixo, por favor? ( meus EA's de teste já têm 500 linhas - e eu vou confundir para OrderType() convertendo para string )

for ( ... )
{
    switch ( OrderType() )
    {
        case    0  :    ObjectCreate( ... name + " Buy" ... );
                        ObjectSetInteger(chart_ID,name + " Buy",OBJPROP_COLOR,clr);
                        // ...
        break;
        case    1  :    ObjectCreate( ... name + " Sell" ... );
                        // ...
        break;
    }
}

Obrigado de antemão.

// --- segunda vez editado

Talvez minha preocupação não esteja clara.
Já gastei muito tempo para esta questão, eu realmente jogo esta operadora, mas não resultado.

O código abaixo me dá os números.

Print( "OrderType: ", IntegerToString( OrderType() ) );

// EURAUD,M30: OrderType: 0

Mas eu tento chegar abaixo do resultado.

// EURAUD,M30: OrderType: Buy

Só preciso de comentários úteis.
Você pode me ajudar ( / me dar conselhos ), por favor?

 

ID

Valor

Descrição

OP_BUY

0

Operação de compra

OP_SELL

1

Operação de venda


    switch(OrderType())
     {
      case 0:
       Print( "OrderType: buy" );
      break;
      
      case 1:
       Print( "OrderType: sell" );
      break;
     }

ou

   if(OrderType()==0)
     {
      Print("OrderType: buy");
     }

   if(OrderType()==1)
     {
      Print("OrderType: sell");
     }
 

Muito obrigado @Marco.

Finalmente consegui, mas estava esperando escrever um código de " Funções de Conversão"... minha expectativa errada estava me confundindo.
Neste momento, estou usando 3 objetos " HLine ", agora copiei isso para ambos os casos ( 0 e 1 ). Até agora, funciona bem.
Também as " Propriedades do Pedido " têm 6 valores, então eu gostaria de aplicar o mesmo ( por exemplo, objeto, cor, estilo, largura e assim por diante... ) Função de impressão a 0, 2, 4.

P: Eu poderia usar o método abaixo?

( função de impressão apenas por exemplo )

switch ( OrderType() )
{
    case 0: Print( "OrderType: buy" );
            // ...
    break;

    case 2: Print( "OrderType: buy" );
            // ...
    break;

    case 4: Print( "OrderType: buy" );
            // ...
    break;
}

Muito obrigado de antemão!

 

Não porque os valores são:

ID

Valor

Descrição

OP_BUY

0

Operação de compra

OP_SELL

1

Operação de venda

OP_BUYLIMIT

2

Pedido de limite de compra pendente

OP_SELLLIMIT

3

Limite de venda pendente de encomenda

OP_BUYSTOP

4

Pedido de parada de compra pendente

OP_SELLSTOP

5

Parada de venda pendente de ordem


Portanto, os casos 2 e 4 não são iguais a OP_BUY

Eles são OP_BUYLIMIT e OP_BUYSTOP, portanto são coisas diferentes.

A menos que isso seja o que você quer dizer, mas esclareceria para dizer

switch ( OrderType() )
{
    case 0: Print( "OrderType: buy" );
            // ...
    break;

    case 2: Print( "OrderType: buy Limit" );
            // ...
    break;

    case 4: Print( "OrderType: buy Stop" );
            // ...
    break;
}
 
Marco vd Heijden:

Não porque os valores são:
Portanto, os casos 2 e 4 não são iguais a OP_BUY

#String() Tipo de ordem - Fechado

Após seu último comentário, sinto que não consigo combinar os casos 0, 2, 4.
Obrigado @Marco vd Heijden por seu tempo e por sua ajuda.

Razão: