[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 242

 

Estou enfrentando um problema com a cláusula, você pode me dizer como implementar a condição CCI na função.

Uma condição deve ser estabelecida e a ordem deve ser fechada ao nível de lucro de 10pp.

1) Se a CCI está olhando para baixo, a 10pp de lucro, fechamos uma ordem de compra.

2) Venda - similar.

extern bool ClosePips   = true;//использовать закрытие ордера при профите 10пп по условиям ССИ
extern double profit    = 10.0;//профит по клозе

int start(){
double cci_0 = iCCI(NULL, 0, 14, PRICE_CLOSE, 0);;
double cci_1 = iCCI(NULL, 0, 14, PRICE_CLOSE, 1);;

if ( ClosePips){
int slip=3;
for (int trade2 = OrdersTotal() - 1; trade2 >= 0; trade2--) {
   OrderSelect( trade2, SELECT_BY_POS, MODE_TRADES);
   if (OrderSymbol() == Symbol()) {
   if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
   if ((OrderType() == OP_BUY)&&( cci_0< cci_1 что сюда вписать???)) OrderClose(OrderTicket(), OrderLots(), Bid, slip, Blue);
   if ((OrderType() == OP_SELL)&&( cci_0> cci_1 что сюда вписать???)) OrderClose(OrderTicket(), OrderLots(), Ask, slip, Red);
   }Sleep(1000);}}}
будет ли это корректным если прописать вот так?
if ((OrderType() == OP_BUY)&&( cci_0< cci_1 && Bid - OrderOpenPrice()<=Point* profit ))

 
Alive писал(а) >>
Para alguns símbolos, por exemplo EUR/USD, as citações são de 5 casas decimais. Entretanto, minhas variáveis de ambiente têm valores de apenas 4 casas decimais. Como posso obter o valor total das variáveis ambientais?

E como você olhou para eles. A impressão() sempre produz até 4 caracteres. De preferência, use DoubleToStr();

 
Martingeil >> :

Eu me deparei com o problema do travamento da CCI, você sabe como implementar a condição da CCI na função?

Uma condição deve ser estabelecida e a ordem deve ser fechada ao nível de lucro de 10pp.

1) se a CCI está olhando para baixo, a 10pp de lucro, fechamos uma ordem de compra.

2) Vender - similarmente.



Você tem que fazer isso

if (OrderType()==OP_BUY && cci_0< cci_1 && Bid-OrderOpenPrice()>=Point* profit)
 
MrSoros >> :

É assim que tem que ser.


Obrigado! É isso se eu fizer bem, não estou mexendo com os sinais, estou?

extern bool ClosePips   = true;//использовать закрытие ордера при профите 10пп по условиям ССИ

int start(){
double cci_0 = iCCI(NULL, 0, 14, PRICE_CLOSE, 0);;
double cci_1 = iCCI(NULL, 0, 14, PRICE_CLOSE, 1);;

if ( ClosePips){
int slip=3;
int profit=10;
for (int trade2 = OrdersTotal() - 1; trade2 >= 0; trade2--) {
   OrderSelect( trade2, SELECT_BY_POS, MODE_TRADES);
   if (OrderSymbol() == Symbol()) {
   if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
   if (OrderType() == OP_BUY && cci_0< cci_1 && Bid-OrderOpenPrice() >= Point* profit) OrderClose(OrderTicket(), OrderLots(), Bid, slip, Blue);
   if (OrderType() == OP_SELL && cci_0> cci_1 && OrderOpenPrice() - Ask >= Point* profit) OrderClose(OrderTicket(), OrderLots(), Ask, slip, Red);
   }Sleep(1000);}}}
 
Martingeil >> :

Obrigado! Se eu fizer isso bem, há algo de errado com os sinais?


Os sinais estão corretos.

A idéia em si (fechamento da CCI), do meu ponto de vista - não ahty....

Eu já passei por isso antes...

Mas é uma questão de estratégia.

Tantos comerciantes quanto existem estratégias...

 

Você pode me dizer como escrever corretamente o operador, algo com "ou" não funciona, ele compra onde não deveria.

Obrigado!
if (
   {( ma1> ma2 && ma1> ma3  && Open[1]> ma1)} || 
   {( ma2> ma1 && ma2> ma3  && Open[1]> ma1)} ||
   {( ma3> ma1 && ma3> ma2  && Open[1]> ma1)}
   )
    OpenBuy();

ну и т. д.


 
Retire os suportes de frisos, eles são desnecessários. Pergunto-me, em primeiro lugar, como ele foi compilado.
 
granit77 >> :
Retire os suportes encaracolados, eles são desnecessários. Como será que ele foi compilado?

Compilado de ambas as maneiras e ainda não funciona.

(Estranhamente, compilou =))

 
costy_ >> :

Eu compilei os dois caminhos e ainda não funciona.

if (( ma1> ma2 && ma1> ma3  && Open[1]> ma1) || 
    ( ma2> ma1 && ma2> ma3  && Open[1]> ma1) ||
    ( ma3> ma1 && ma3> ma2  && Open[1]> ma1)
   )
    OpenBuy();

- >> isso é uma boa lógica.

pergunta - as condições em si são corretas?

 
Mostrar o que é ma1...ma3 e descrever a lógica em palavras. Pela manhã, alguém estará ansioso para corrigi-lo :))