[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 242

 

Sto affrontando un problema con la clausola, potete dirmi come implementare la condizione CCI nella funzione.

Deve essere impostata una condizione e l'ordine deve essere chiuso al livello di profitto di 10pp.

1) Se il CCI sta guardando in basso, al livello di profitto di 10pp chiudiamo un ordine di acquisto.

2) Vendere - simile.

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 писал(а) >>
Per alcuni simboli, per esempio EUR/USD, le quotazioni sono 5 decimali. Ma le mie variabili d'ambiente hanno valori con solo 4 cifre decimali. Come posso ottenere il valore completo delle variabili d'ambiente?

Come li hai guardati? Print() emette sempre fino a 4 caratteri. Preferibilmente usate DoubleToStr();

 
Martingeil >> :

Ho affrontato il problema con il blocco CCI, sapete come implementare la condizione su CCI nella funzione.

Deve essere impostata una condizione e l'ordine deve essere chiuso al livello di profitto di 10pp.

1) se il CCI sta guardando in basso, al livello di profitto di 10pp chiudiamo un ordine di acquisto.

2) Vendere - in modo simile.



Devi fare questo

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

È così che deve essere.


Grazie! È così, se lo faccio bene, non sto incasinando i segni, vero?

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 >> :

Grazie! Se lo faccio bene, c'è qualcosa di sbagliato nei segni?


I segni sono corretti.

L'idea stessa (chiusura CCI), dal mio punto di vista - non ahty....

Ci sono già passato...

Ma è una questione di strategia.

Tanti commercianti quante sono le strategie...

 

Potete dirmi come scrivere correttamente l'operatore, qualcosa con "o" non funziona, compra dove non dovrebbe.

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

ну и т. д.


 
Togliete le parentesi graffe, non sono necessarie. Mi chiedo come sia stato compilato in primo luogo.
 
granit77 >> :
Togliete le parentesi graffe, non sono necessarie. Mi chiedo come sia stato compilato?

L'ho compilato in entrambi i modi e ancora non funziona.

(Stranamente, ha compilato =))

 
costy_ >> :

Ho compilato entrambi i modi e ancora non funziona.

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

- >> è una buona logica.

domanda - le condizioni stesse sono corrette?

 
Mostra cos'è ma1...ma3 e descrivi la logica a parole. Al mattino, qualcuno sarà ansioso di correggerlo :))