Como transformar uma string em uma condição para um "if"?

Para adicionar comentários, por favor Faça o login ou registrar
Igor Martins
1860
Igor Martins  

Prezados,

Escrevi algumas relações do tipo abaixo, usando Ichimoku... 

----------------------------------------------------------------------------------------------------------------------------------------

if(corrAtivoIndustr<=-SensorAtivoxSetor)

        {

         equacao20 = "ExtTenkanBuffer[1]>ExtKijunBuffer[1] && ExtTenkanBuffer[1]>=ExtSpanABuffer[1] && ExtTenkanBuffer[1]>=ExtSpanBBuffer[1] && ExtTenkanBuffer12[1]<ExtKijunBuffer12[1] && ExtTenkanBuffer12[1]<=ExtSpanABuffer12[1] && ExtTenkanBuffer12[1]<=ExtSpanBBuffer12[1]";

-----------------------------------------------------------------------------------------------------------------------------------------

O problema é que a variável equacao20 é do tipo string e não funciona quando tento usá-la no "if" de condição de compra... 

  if(newBar && PositionSelect(SymbolName(i,true))==false)

        (...)   

        if(StringToDouble(equacaoDeCompra[i])) //---equação de compra

Alguém sabe resolver o problema (colocar uma string como equação de condição em um "if")?

Romeu Bertho
5891
Romeu Bertho  
igorlpmartins:

Prezados,

Escrevi algumas relações do tipo abaixo, usando Ichimoku... 

----------------------------------------------------------------------------------------------------------------------------------------

if(corrAtivoIndustr<=-SensorAtivoxSetor)

        {

         equacao20 = "ExtTenkanBuffer[1]>ExtKijunBuffer[1] && ExtTenkanBuffer[1]>=ExtSpanABuffer[1] && ExtTenkanBuffer[1]>=ExtSpanBBuffer[1] && ExtTenkanBuffer12[1]<ExtKijunBuffer12[1] && ExtTenkanBuffer12[1]<=ExtSpanABuffer12[1] && ExtTenkanBuffer12[1]<=ExtSpanBBuffer12[1]";

-----------------------------------------------------------------------------------------------------------------------------------------

O problema é que a variável equacao20 é do tipo string e não funciona quando tento usá-la no "if" de condição de compra... 

  if(newBar && PositionSelect(SymbolName(i,true))==false)

        (...)   

        if(StringToDouble(equacaoDeCompra[i])) //---equação de compra

Alguém sabe resolver o problema (colocar uma string como equação de condição em um "if")?


Boa noite!

Porque as aspas " " nas comparações e uma variável string? As comparações viraram uma grande string sem nenhum sentido, sendo armazenado na variável equacao20.

Trabalhe com booleanas, elas irão lhe ajudar a alcançar o que você deseja.

Abs.

Igor Martins
1860
Igor Martins  
Romeu Bertho:

Boa noite!

Porque as aspas " " nas comparações e uma variável string? As comparações viraram uma grande string sem nenhum sentido, sendo armazenado na variável equacao20.

Trabalhe com booleanas, elas irão lhe ajudar a alcançar o que você deseja.

Abs.


Equação 20 é uma variável string... Meu EA monta equações de compra operando strings, mas não consigo fazê-las funcionar como condição dentro do "if" (que condiciona a compra). Você sabe como poderia resolver o problema?

Romeu Bertho
5891
Romeu Bertho  
igorlpmartins:

Equação 20 é uma variável string... Meu EA monta equações de compra operando strings, mas não consigo fazê-las funcionar como condição dentro do "if" (que condiciona a compra). Você sabe como poderia resolver o problema?


Boa noite!

Trabalhe com booleanas.

O código abaixo:

equacao20 = "ExtTenkanBuffer[1]>ExtKijunBuffer[1] && ExtTenkanBuffer[1]>=ExtSpanABuffer[1] && ExtTenkanBuffer[1]>=ExtSpanBBuffer[1] && ExtTenkanBuffer12[1]<ExtKijunBuffer12[1] && ExtTenkanBuffer12[1]<=ExtSpanABuffer12[1] && ExtTenkanBuffer12[1]<=ExtSpanBBuffer12[1]";

Qual o valor que você deseja que seja impresso na tela? ex:

Print(equacao20);

Se for o resultado da combinação de todas essas condições, trabalhe com booleana.

Abs.

Igor Martins
1860
Igor Martins  

Brother,

Não dá pra usar bolleanas pq ele monta equações manipulando strings na inicialização e salva em um array[i] que é recuperado na função tick, para ser usado no "if" que condiciona a execução da função trade.buy (responsável pela compra).

A EA que bolei trabalha com vários ativos e cada ativo tem uma equação própria de compra... 

O problema é que não consigo fazer a equação montada ser utilizada como condição do "if"...

Para adicionar comentários, por favor Faça o login ou registrar