il t/p non funziona correttamente - pagina 2

 
krishna_gopal_2:
Bene. Ora cosa dovrei fare per ottenere più o meno 100pips. C'è qualche formula per calcolare lo spread?
Ask - Bid è lo spread.
 
krishna_gopal_2:
Bene. Ora cosa dovrei fare per ottenere più o meno 100pips. C'è qualche formula per calcolare lo spread?
Se imposti correttamente il tuo TP, otterrai 100 pip (più o meno perché i tick sono emulati) per il tuo trade vincente nello Strategy Tester.
  • Se apri una VENDITA al prezzo X (offerta) allora imposta il tuo TP al prezzo BID - 100 pip.
  • Se apri un'ACQUISTO al prezzo Y (ask) allora imposta il tuo TP al prezzo ASK + 100 pips.

Riguardo al tuo post iniziale:

  • o non imposti un TP di 100 pip
  • o quello che pubblichi non è un trade vincente
  • o hai calcolato male il tuo profitto (pip)
  • o i tuoi trade non sono chiusi dal TP.
 
<br / translate="no">
  • Se apri una VENDITA al prezzo X (offerta) allora imposta il tuo TP al prezzo BID - 100 pip.
  • Se apri un BUY al prezzo Y (ask) allora imposta il tuo TP a ASK + 100 pip.


Penso che questo abbia un piccolo errore, non sono sicuro ...

Come ho detto prima, con un OP_SELL, apri al prezzo bid, poi chiudi al prezzo ask...quindi se il TP è bid - 100, il tuo profitto sarà di 100 pip meno lo spread.

Inoltre, qualsiasi TP che si basa sul Bid e Ask al momento dell'apertura presuppone che lo spread sia costante. Ho fatto molte ricerche al riguardo di recente e lo spread non è mai completamente costante. Questo non si vedrà nel backtesting perché MT4 non salva il prezzo di Ask (penso??? Usa il prezzo di chiusura + lo spread attuale???), ma bisogna considerare anche il mondo reale.

 
alladir:


  • Se apri un SELL al prezzo X (bid), imposta il tuo TP al prezzo BID - 100 pip. usa OrderOpenPrice()
  • Se apri un BUY al prezzo Y (ask) allora imposta il tuo TP a ASK + 100 pips.

Penso che questo abbia un piccolo errore, non sono sicuro...

Come ho detto prima, con un OP_SELL, apri al prezzo di offerta, poi chiudi al prezzo di domanda... quindi se il TP è offerta - 100, il tuo profitto sarà di 100 pips meno lo spread.

Inoltre, qualsiasi TP che si basa sul Bid e Ask al momento dell'apertura presuppone che lo spread sia costante. Ho fatto molte ricerche al riguardo di recente e lo spread non è mai completamente costante. Questo non si vedrà nel backtesting perché MT4 non salva il prezzo di Ask (credo??? Usa il prezzo di chiusura + lo spread attuale???), ma bisogna considerare anche il mondo reale.


far aprire prima il trade e poi modificarlo usando il suo orderopenprice( ) lo farà funzionare su tutti i conti
 
deVries:

far aprire prima il trade poi modificarlo usando il suo orderopenprice( ) lo farà funzionare su tutti i conti


No, questo non è ancora corretto.

per gli ordini brevi, lo spread viene preso quando l'ordine viene chiuso, non prima, quindi usando OrderOpenPrice si ottiene comunque un profitto di: 100 pips meno lo spread al momento della chiusura.

Ottenere un TP di 100 pips per gli ordini lunghi è facile.

Per gli ordini corti, bisogna fare il TP come OrderOpenPrice + 100 pips + spread

(e sperare che lo spread sia quasi costante).

 
alladir:


Penso che questo abbia un piccolo errore, non sono sicuro...

Come ho detto prima, con un OP_SELL, apri al prezzo di offerta, poi chiudi al prezzo di domanda... quindi se il TP è bid - 100, il tuo profitto sarà di 100 pip meno lo spread.


Inoltre, qualsiasi TP che si basa sul Bid e Ask al momento dell'apertura presuppone che lo spread sia costante. Ho fatto molte ricerche al riguardo di recente e lo spread non è mai completamente costante. Questo non si vedrà nel backtesting perché MT4 non salva il prezzo di Ask (credo??? Usa il prezzo di chiusura + lo spread attuale???), ma devi considerare anche il mondo reale.

  • No. Per una VENDITA, commercio aperto a offerta (BID_OPEN), chiuso a tp, quindi quando chiedere = BID_OPEN-100. Profitto = prezzo di apertura - prezzo di chiusura = BID_OPEN - BID_OPEN + 100 = 100.
  • Per un BUY, trade aperto a ask (ASK_OPEN), chiuso a tp, quindi quando bid = ASK_OPEN+100. Profitto = Prezzo di chiusura - Prezzo di apertura = ASK_OPEN + 100 - ASK_OPEN = 100.

Spread fluttuante o no, questo rimane vero.

MA

  • Per una vendita il prezzo deve muoversi dall'offerta al momento dell'apertura all'offerta al momento della chiusura, quindi da BID_OPEN a BID_OPEN - 100 - SPREAD_CLOSE. Il movimento è 100 + spread al momento della chiusura. Se lo spread si allarga in prossimità della chiusura, la probabilità di chiudere l'operazione si riduce.
  • Per un acquisto il prezzo deve muoversi da ASK_OPEN - SPREAD_OPEN a ASK_OPEN + 100, quindi qui si sa fin dall'inizio quanto il prezzo deve muoversi (100 + spread all'apertura).

Hai ragione sullo spread non è mai completamente costante, devi controllarlo e scegliere un broker che fornisce ciò che ha promesso (controlla).

 
deVries:

fargli aprire prima il trade poi modificarlo usando il suo orderopenprice( ) lo farà funzionare su tutti i conti
Hai ragione, questo è il modo più semplice per programmare. Ma non sto parlando di nessun linguaggio di programmazione, prima di programmare, è meglio capire come funziona.
 
angevoyageur:
  • No. Per una VENDITA, commercio aperto all'offerta (BID_OPEN), chiuso al tp, quindi quando ask = BID_OPEN-100. Profitto = prezzo di apertura - prezzo di chiusura = BID_OPEN - BID_OPEN + 100 = 100.


Sono ancora un noob quindi scusatemi se ho sbagliato tutto questo tempo. Ma ero certo che per un ordine breve, il TP veniva attivato quando il prezzo BID raggiunge il livello TP, ma il trade viene chiuso usando ASK price.... è il fine settimana ora quindi non posso testare ma davvero..... non è questo il caso? I TP vengono attivati dal prezzo ASK nelle operazioni brevi e dal prezzo BID nelle operazioni lunghe? E se è così, cosa succede nel backtesting quando i prezzi ASK non sono disponibili?

Per quanto riguarda lo spread, ho scritto un raccoglitore di tick che poi traccia gli spread di vari broker su un grafico per il confronto. Ho scoperto che alcuni di loro sono esattamente costanti, tranne quando vengono rilasciate le notizie, ma alcuni di loro hanno spread abbastanza variabili... alcuni di loro sembrano addirittura che il prezzo Ask sia ritardato di circa 100ms (cioè lo spread è troppo grande quando il prezzo scende improvvisamente, e troppo piccolo quando il prezzo sale improvvisamente)....

 
angevoyageur:
  • No. Per una VENDITA, il trade è aperto all'offerta (BID_OPEN), chiuso al tp, quindi quando ask = BID_OPEN-100. Profitto = prezzo di apertura - prezzo di chiusura = BID_OPEN - BID_OPEN + 100 = 100.
  • Per un BUY, trade aperto a ask (ASK_OPEN), chiuso a tp, quindi quando bid = ASK_OPEN+100. Profitto = Prezzo di chiusura - Prezzo di apertura = ASK_OPEN + 100 - ASK_OPEN = 100.

Spread fluttuante o no, questo rimane vero.

No, questo non è corretto. Prendiamo un esempio ipotetico in cui un trade viene aperto e poi immediatamente chiuso, la perdita è dovuta allo spread. Usando il tuo calcolo sopra per il SELL Profit = Open price - Close price = BID_OPEN - BID_OPEN + 0 = 0. ma questa non è la risposta corretta perché lo Spread deve essere pagato.

Dovrebbe essere questo . . . Profitto = Prezzo di apertura - Prezzo di chiusura = BID_OPEN - ASK_OPEN + 0 = -Spread. . . . . ma questo presuppone che lo spread sia lo stesso dall'ora di apertura all'ora di chiusura.

 
alladir:


Sono ancora un noob quindi scusatemi se ho sbagliato tutto questo tempo. Ma ero certo che per un ordine breve, il TP veniva attivato quando il prezzo BID raggiunge il livello del TP, ma il trade viene chiuso usando il prezzo ASK.... è il fine settimana ora quindi non posso testare ma davvero..... non è questo il caso? I TP usano il prezzo ASK sulle operazioni brevi e il prezzo BID sulle operazioni lunghe? E se è così, cosa succede nel backtesting quando i prezzi ASK non sono disponibili?

Non preoccupatevi, abbiamo tutti da passare per questa fase, testate ancora e ancora, è il modo migliore per imparare. Cos'è la chiusura di un trade SELL ? È un COMPRARE! Quindi questo BUY è preso a prezzo di domanda, quale prezzo di domanda? Il TP della vendita.

Ilbacktesting nel fine settimana ti dà lo spread quando la sessione di trading è chiusa il venerdì sera. Ask è sempre un semplice Bid+Spread. Questo può darti un grande spread quando fai il baktesting nel fine settimana perché generalmente lo spread si allarga alla fine della sessione.