[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 66

 
vovan-gogan:

Qual è il punto? Il livello SL è corretto. Quando imposto la variabile SL a MA20 con uno spostamento di 3, faccio uscire il livello SL attraverso Alert ed è sempre al livello giusto. Non so perché lo SL viene rimosso prima di raggiungere il livello SL.

Beh, se per te è importante non risolvere il problema, ma comunicare, allora passo.
 
PapaYozh:

No, beh, se non si tratta di risolvere il problema, ma di comunicare, allora passo.

No, al contrario, seguirò il tuo consiglio. Vediamo cosa succede.
 
Sono confuso dal fatto che entrambi i tipi di ordini BUYSTOP / SELLSTOP sono cancellati dalla stessa condizione, almeno sono cose diverse. Suppongo che ci sia un altro frammento di codice simile e che cancellerà tutti gli ordini pendenti in serie.
 
splxgf:
Sono confuso dal fatto che entrambi i tipi di ordini BUYSTOP / SELLSTOP sono cancellati dalla stessa condizione, almeno sono cose diverse. Suppongo che ci sia un altro frammento di codice simile e tutti gli ordini pendenti saranno cancellati successivamente.

No, non di uno. Ho appena presentato una parte del frammento di codice che descrive il caso della cancellazione degli ordini SellStop per renderlo più chiaro.
 
vovan-gogan:

No. Non da uno.
   if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP)

Uno dei tipi di ordine è sotto il prezzo, l'altro è sopra il prezzo... e la condizione per chiuderli è la stessa Bid>SL... La domanda è dove sia la logica qui.

Raccomando di rimuovere un tipo di ordine dalla condizione, o si può semplicemente smussare ulteriormente.

 
vovan-gogan:

gente, aiutatemi a capire cosa diavolo è questo! Il mio Expert Advisor è progettato per mettere fuori un oplot, e se il prezzo non lo raggiunge, ma inverte al livello del suo stop, l'oplot dovrebbe essere cancellato. ma sul tester a volte un oplot viene messo fuori e immediatamente cancellato prima ancora di raggiungere lo stop. Qual è il problema? Ecco uno screenshot e il codice di cancellazione.

Ecco il codice:

Qual è l'errore qui?

Nella primissima riga (tacciamo il resto)... Se il Bid è sotto lo StopLoss del tuo ordine...
E l'ordine è impostato sotto il Bid e il suo StopLoss è anche sotto il Bid. La prima linea di codice lo elimina immediatamente.
 
Ciao, una domanda piuttosto nubile... credo. Nelle schermate vedo spesso sui livelli standard (strumenti nativi di MT4) i livelli Fibo e le estensioni Fibo, dopo il numero Fibo c'è un prezzo su cui il livello è ...... La mia domanda è: come faccio ad abilitarlo?
 
Vinin:

Adattato da



Ciao, aiuto per favore... Qui c'è un indicatore. È possibile allegare un segnale sonoro quando si disegna un nuovo segmento? ZigzagFr_v1.mq4 (4,4 Kb) Visualizza
 
Buon pomeriggio, non capisco una cosa. Ho deciso di attaccare un trailing stop al mio EA ma continua a mostrare l'errore 130. Non riesco a capire niente, e ieri non ci riuscivo nemmeno io.
  } }
   
   
  //+------------------------------------------------------
  double JUN;int tiktik;
   for ( i=0; i<OrdersTotal(); i++) {   OrderSelect(i,SELECT_BY_POS );if(( OrderMagicNumber( )==1000 &&OrderSymbol()==Symbol())) { 
      if( OrderType( )!=OP_BUY ) continue;
     if (price-OrderOpenPrice( )>30*Point) {JUN= price-OrderOpenPrice( );tiktik=OrderTicket();} }} 
     
     Alert("Позиция с тикетом #",tiktik," имеет JUN, ",JUN);Alert("JUN",JUN,"JUNpomnim",JUNpomnim);
    if (JUN>0){if (JUN>JUNpomnim){Alert("JUN",JUN,"JUNpomnim+++++++++++++++++++++++++",JUNpomnim);
      OrderModify(tiktik,OrderOpenPrice(),price-15*Point,OrderTakeProfit(),0,0);     JUNpomnim=JUN;
      Alert("OrderModify-BAY", GetLastError()); }}
      
      
      
  double BAN;int tiktAk;
   for ( i=0; i<OrdersTotal(); i++) {   OrderSelect(i,SELECT_BY_POS );if(( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol())) { 
      if( OrderType( )!=OP_SELL ) continue;
     if (OrderOpenPrice( )-price>30*Point) {BAN= OrderOpenPrice( )-price;tiktAk=OrderTicket();} }} 
     
     Alert("Позиция с тикетом #",tiktAk," имеет BAN, ",BAN);Alert("BAN",BAN,"BANpomnim",BANpomnim);
    if (BAN>0){ if (BAN>BANpomnim){Alert("BAN",BAN,"BANpomnim++++++++++++++++++++++++++++",BANpomnim);
      OrderModify(tiktAk,OrderOpenPrice(),price+15*Point,OrderTakeProfit(),0,0);  BANpomnim=BAN;
       Alert("OrderModify-SELL", GetLastError()); }}
    

  
   return(0);
  }
//+------------------------------------------------------

Si prega di vedere la linea con la modifica, c'è un errore in essa. Quindi, lo stop loss è impostato 15 pip più in alto per Bai, e viceversa per Sell.

In generale, un trailing stop inizia a scendere quando il Buy Stop e il Sell Stop sono aperti e poi il prezzo si muove di 30 pip più in alto (o più in basso per un Sell), si noti che lo stop non è sotto l'open; in altre parole, non vedo errori logici.

Calcolo il prezzo ad ogni tick e va così

int X,Y; double price=NormalizeDouble((Ask+Bid)/2,4); 

La cosa principale è controllare se i valori di input sono corretti.

Anche se ho scritto un frammento di codice senza un piano e non ci ho pensato bene, l'ho redatto comunque.

 
Dimka-novitsek:
Buon pomeriggio, non capisco una cosa. Ho deciso di attaccare un trailing stop al mio EA ma continua a mostrare l'errore 130. Non riesco a capire niente, non potevo neanche ieri.

Si prega di vedere la linea con la modifica, c'è un errore in essa. Quindi, lo stop loss è impostato 15 pip più in alto per Bai, e viceversa per Sell.

In generale, un trailing stop inizia a scendere quando il Buy Stop e il Sell Stop sono aperti e poi il prezzo si muove di 30 pip più in alto (o più in basso per un Sell), si noti che lo stop non è sotto l'open; in altre parole, non vedo errori logici.

Calcolo il prezzo ad ogni tick e va così

Cos'altro dovrei scrivere? In generale, stavo pensando, beh, tutto è corretto.

Ho scritto una parte del codice senza un piano, senza pensarci, ma è ancora corretto.

In un tale casino è difficile suggerire qualcosa.

Beh, per cominciare:

1) non scrivere 2-3 operatori per riga, si confonde tutto e si legge male

2) Variabile JUNpomnim. Dove viene "dato" un valore iniziale? È lo stesso per tutti gli ordini aperti?

Per un esempio semplice, avete 2 ordini, basta spostare lo SL del primo, cambiare questa variabile ed è tutto. Il secondo non sarà spostato perché JUN = JUNpomnim.

3) Quando si usa OrderModify(), normalizzare tutti i prezzi

Motivazione: