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

 
granit77:

Dove sei stato prima? Hai ragione. L'ho aggiunto, funziona.


Grazie mille anche da parte mia! Ho "infastidito" con questa domanda su vari thread qui - eccone uno finalmente "fruttuoso" :)) !

Un'altra domanda da un altro punto di vista: se prescrivo un'apertura dell'ordine a Open[0] dopo l'attraversamento di МА il 40% delle posizioni non viene aperto - le ignoro completamente (più precisamente il 40%)) e se prescrivo un'apertura a Ask o Bid - apre molte posizioni "extra" che non dovrebbero essere aperte. Questo è particolarmente rilevante per le valute con grandi spread, come EURNZD, per esempio.

Puoi combatterlo? Se apro con Open[0] slippage uguale allo spread, si comporta come con l'apertura Ask - in altre parole, è un circolo vizioso.

//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void CheckForOpen()
  {
   double ma;
   int    res;
    
//---- go trading only for first tiks of new bar
   if(Volume[0]>1) return;
//---- get Moving Average 
   ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---- sell conditions
   if(Open[1]>ma && Close[1]<ma)  
     {
      res=OrderSend(Symbol(),OP_SELL,Lots,Bid,30,Bid+Stoploss*Point,Bid-Takeprofit*Point,"",MAGICMA,0,Red);
      return;
     }
//---- buy conditions
   if(Open[1]<ma && Close[1]>ma)  
     {
      res=OrderSend(Symbol(),OP_BUY,Lots,Ask,30,Ask-Stoploss*Point,Ask+Takeprofit*Point,"",MAGICMA,0,Blue);
      return;
     }
//----
  }

	          
 
obla4ko:

Grazie mille anche da parte mia! Ho "infastidito" con questa domanda su vari thread qui - eccone uno finalmente "fruttuoso" :)) !

Un'altra domanda da un altro punto di vista: se prescrivo un'apertura dell'ordine a Open[0] dopo l'attraversamento di МА il 40% delle posizioni non viene aperto - le ignoro completamente (più precisamente il 40%)) e se prescrivo un'apertura a Ask o Bid - apre molte posizioni "extra" che non dovrebbero essere aperte. Questo è particolarmente rilevante per le valute con grandi spread, come EURNZD, per esempio.

Puoi combatterlo? Se imposto lo slippage all'apertura Open[0] uguale allo spread, si comporta come sull'apertura Ask - in altre parole, è un circolo vizioso.


Avete provato a controllare il numero di posizioni aperte?
 
artmedia70:
Ben fatto, Victor!
E la nuvola è silenziosa... :))
non silenzioso :)) ... ha solo risposto nel posto sbagliato - :))
 
Vinin:

Avete provato a controllare il numero di posizioni aperte?
Sì, è così. Solo una posizione per uno strumento è attiva.
 
obla4ko:

Grazie mille anche da parte mia! Ho "infastidito" con questa domanda su vari thread qui - eccone uno finalmente "fruttuoso" :)) !

Un'altra domanda da un altro punto di vista: se prescrivo un'apertura dell'ordine a Open[0] dopo l'attraversamento di МА il 40% delle posizioni non viene aperto - le ignoro completamente (più precisamente il 40%)) e se prescrivo un'apertura a Ask o Bid - apre molte posizioni "extra" che non dovrebbero essere aperte. Questo è particolarmente rilevante per le valute con grandi spread, come EURNZD, per esempio.

Puoi combatterlo? Se apro con Open[0], lo slippage è uguale al valore dello spread, quindi funziona come con l'apertura Ask - in altre parole, è un circolo vizioso.

Per aprire una posizione di acquisto, si dovrebbe usare il prezzo Ask e aprire una posizione di vendita usando il prezzo Bid.

È necessario controllare il risultato restituito dalla funzione OrderSend(). Se la posizione viene aperta, bisogna tener conto che il segnale di acquisto/vendita è passato e non ripetere la richiesta di apertura, ma aspettare il prossimo segnale.

 
PapaYozh:

Devo aprire una posizione di acquisto al prezzo Ask e una posizione di vendita al prezzo Bid.

Dovete controllare il risultato restituito dalla funzione OrderSend(). Se si apre un ordine, si deve tener conto che il segnale di acquisto/vendita è andato e non si deve ripetere la richiesta di apertura, ma aspettare il prossimo segnale.

In effetti, non posso scrivere correttamente quanto segue:

- Se sulla barra data la posizione è stata chiusa allo StopLoss, ed è adatta dai parametri per aprire una nuova posizione, allora non dovreste MAI aprire una posizione su di essa! In altre parole -

StopLoss - (1)

OPEN - (0) per la barra corrente.

Allora l'Expert Advisor funziona in modo ottimale - un minimo di posizioni "inutili".

E ottengo sempre una specie di abracadabra.

 
obla4ko:

Sì! In realtà, non riesco a capire bene quanto segue:

- Se una posizione ha chiuso su una data barra allo StopLoss, ed è adatta ad aprire una nuova posizione secondo i parametri, allora non dovreste MAI aprire su di essa! In altre parole -

StopLoss - (1)

OPEN - (0) per la barra corrente.

Allora l'Expert Advisor funziona in modo ottimale - un minimo di posizioni "inutili".

E ottengo sempre una specie di abracadabra... :((

Ti ho detto di impostare il timer per non aprire per 4 barre dopo l'attivazione dello stop
 
Techno:
Te l'ho detto, imposta il timer per non aprire per 4 barre dopo l'attivazione dello stop

Mi ricordo :), il tuo consiglio è buono, ma "è tutta una questione di sfumature", come dice PapaYozh!

Quando si lavora con le medie, ogni barra conta - la statistica, si sa! :)) - quindi bisogna cercare altre soluzioni più sottili....

 
Puoi impostare il divieto a 1 o 2 bar. non può diventare più sottile di così
 

Buon pomeriggio a tutti i membri del forum!

Non ho trovato risposte alle seguenti domande.

1. Due terminali sono in esecuzione su macchine diverse (il primo al lavoro, il secondo a casa), sullo stesso account reale.

Se un Expert Advisor su una e la stessa coppia di valute è in esecuzione su questi terminali, sulla stessa coppia di valute,

è equivalente a eseguire lo stesso EA sulla stessa coppia in diverse finestre dello stesso terminale?

2. Se si disabilita il funzionamento degli EA in uno di questi terminali (utilizzando l'apposito pulsante), come farà questo

influire su un altro terminale?

(Grazie in anticipo!)

Motivazione: