[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 507

 

Buon pomeriggio! Errore di modifica dell'ordine 4051. Ho pensato per un'ora. Sembra essere il parametro giusto lì!!! Brevemente, nota per nota. Il parametro price è il prezzo di apertura dell'ordine, OrderOpenPrice(), è standard.

Il nostro prezzo di stop è 10 punti sotto il prezzo aperto, e abbiamo memorizzato il prezzo. Lo memorizziamo nella variabile tsena all'apertura dell'ordine.

Abbiamo due ordini, uno con un profitto e uno senza. Sembra essere chiaro. Qual è l'errore? Cos'altro potrebbe essere?

Sì, la condizione sembra essere chiara, anche se non è davvero rilevante. Cioè, il prezzo si è mosso di 30 punti, la condizione ha funzionato (tsena+30*Point).

Abbiamo impostato perenos=true una volta; queste condizioni sembrano effettivamente funzionare.

Io stesso non so pensare.

In realtà lo indossiamo una volta perenos=true; Queste condizioni non hanno funzionato, perché non ha funzionato nemmeno questo.


bool napravlenieCCI=false;
 if( CCI_50S<100&&CCI_50>100 ||CCI_50S<0&&CCI_50>0|| CCI_50S<-100&&CCI_50>-100  )napravlenieCCI=true;// if( CCI_50S>CCI_50&& )napravlenieCCI=false;
 
 bool wishseLMA=false;//Свеча закрывается или находится выше LMA
 if (Bid>LMA_100) wishseLMA=true;Print ("до условияsrabotka    " ,srabotka );Alert("до условияsrabotka    " ,srabotka );
 
 if (EMA_20S>EMA_10S&&EMA_20<EMA_10&&napravlenieCCI&&wishseLMA&&!srabotka) {/// нашли пирисечение сверху вниз и направление CCI вверх
 RefreshRates();
           int tacket=OrderSend (Symbol( ), OP_BUY, lot,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (35*Point),Digits), 
           NormalizeDouble( Ask+( 45*Point),Digits), NULL, 450, 0, CLR_NONE);
           int Error=GetLastError();if (Error==0){  
           Sleep(2000); RefreshRates(); double profit = NormalizeDouble( Ask+( 45*Point),Digits); tsena=Ask; perenos = false;
           int tucket=OrderSend (Symbol( ), OP_BUY, lot,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (35*Point),Digits),
           0, NULL, 450, 0, CLR_NONE); 
           if (Error==0)   
           srabotka= true; }}
           
           if (Error!=0){ string errorcomment = "Ошибка открытия  ордера OP_BUY"  + " " + Symbol() +  " " + ErrorDescript(Error); 
            Print (errorcomment);}
 
 
 if(tsena+30*Point<Ask&&!perenos){ 
 OrderModify(  tacket, OrderOpenPrice(), tsena-10*Point, OrderTakeProfit(), 0, CLR_NONE);
 Error=GetLastError();if (Error==0){  
 OrderModify(  tucket, OrderOpenPrice(), tsena-10*Point, OrderTakeProfit(), 0, CLR_NONE);
 Error=GetLastError();if (Error==0){  
 perenos=true;}}} 
 
 if (Error!=0){  errorcomment = "Ошибка модификайции ордера OP_BUY"  + " " + Symbol() +  " " + ErrorDescript(Error); 
            Print (errorcomment);BreakPoint();} 
 

C'è un parametro importante: il tucket. Tuttavia, lo assegno a una variabile così int tacket=OrderSend e così int tucket=OrderSend,

e uso OrderModify( tacket, e insomma non ci vedo nessun errore formale!!!

 

Oh, cavolo... 2012.11.14 22:40:17 2012.08.16 15:30 Vasilypr EURGBP,M30: 1Errore 0 tacket 5 cioè l'ordine è stato aperto, il ticket è stato assegnato.

E inoltre è già uguale a zero! Cioè, all'interno della prossima sezione del codice, che si occupa della modifica.

2012.11.14 23:05:27 2012.08.17 11:03 Vasilypr EURGBP,M30: tacket 0 OrderOpenPrice() 0.7845 tsena-10*Point 0.7835 OrderTakeProfit() 0.789

Al di fuori dell'area del codice di cui sopra, la variabile non suona affatto!

Non posso cambiare il layout ucraino di qualsiasi combinazione di tasti, e scritto in russo!

 
Dimka-novitsek:

C'è un parametro importante: il tucket. Tuttavia, lo assegno a una variabile così int tacket=OrderSend e così int tucket=OrderSend,

e uso OrderModify( tacket, e insomma non ci vedo nessun errore formale!!!


A quanto pare, DC non accetta immediatamente con SL e TP. Dopo l'apertura modificare SL e TP. E la 2a posizione non dovrebbe essere aperta immediatamente, con il prossimo tick!
 
Sì, grazie. Ma c'è uno slittamento, e bene, si apre. Provo a modificare separatamente, stop, e porto solo uno stop, giusto?
 
Errore di modifica, vistas vistas.
 
Dimka-novitsek:
È un errore di modifica, è un errore di modifica.


Nel tester può funzionare, e anche su Demka, ma su Real no!

E lo slittamento non aiuta!

 

Perché, cosa non passerà?

Oh, ho capito, la frequente presentazione di due ordini contemporaneamente.

 
Dimka-novitsek:
Perché, cosa non passerà?

Non funzionerà per impostare lo SL e il TP contemporaneamente! E quando li modificate dovete mettere una condizione con uno scarto! Soprattutto in prossimità del prezzo!
 
Tornerò domani... ciao. Grazie!