Rilevamento di 5 cifre - pagina 5

 
jjc:
...Se stai costruendo un sistema per altre persone da usare, non solo per te stesso, allora la capacità di inserire valori in pip è una considerazione importante per la facilità d'uso. Il punter medio sa cosa intende per 50 pips, ma deve pensare parecchio, e ricontrollare, se intende un valore di 0.005 piuttosto che 0.0005 o 0.05 o qualsiasi altra cosa....

Sì, è quello che ho detto "La definizione sembrerebbe importante per uno sviluppatore che vuole programmare un programma standard commerciale e vuole che l'utente abbia la flessibilità di imputare esattamente quanti dollari vuole rischiare". Mi permetto di dissentire sul fatto che il punter medio sappia cosa si intende per 50 pips. IMO alla gente piace pensare in dollari o in unità standard della loro valuta di base. Vorrei elencare la mia esperienza personale di come sono andato avanti e indietro sulla definizione di un pip/punto ma questo potrebbe diventare lungo.

Se non sei un SUPER programmatore con ANNI di esperienza nel Forex sotto la cintura, non ha senso cercare di codificare un programma commerciale universale applicabile agli utenti finali. Quando qualcuno acquista un EA, si aspetta soprattutto che sia redditizio. Poi, in secondo luogo, si aspettano che il programma sia flessibile oltre ogni immaginazione. Come il comando di chiudere tutti gli ordini entro il fine settimana e che mi permetta di specificare quanti soldi voglio rischiare, ecc. Come tutti sappiamo, è abbastanza difficile programmare un EA redditizio senza renderlo statico a un solo Time-frame o valuta, ecc.

Ma qui si sta cercando di programmare un EA commerciale per gli Average Joe's che hanno sentito parlare del 2% di rischio e di "non fare trading nei fine settimana". E vogliono specificare esattamente 20$ di perdita su GBP/JPY mentre la loro valuta di base è in USD. Il sistema è stato progettato per utilizzare una percentuale di ATR qualsiasi pip/punti o dollari che possa essere. Ora l'intero sistema è rotto in quanto non soddisferà l'aspettativa dell'utente finale #1 redditizio. Se qualcuno sta comunque facendo uno strumento per gli utenti finali di giocare con, che è una storia diversa.

IMO, se io/me stesso/personalmente stava per fare un sistema che volevo la mia zia o Lil Brother al commercio. Lo renderei il meno flessibile possibile in quanto l'unica cosa che potrebbero specificare sarebbe il Risk% e qualsiasi altro perimetro con cui il programma non è progettato per lavorare verrebbe rifiutato, ad esempio se si specifica il time frame o la valuta sbagliata. Per quanto sia vero che la maggior parte dei sistemi commerciali là fuori permette agli utenti di specificare in Pips. Il programmatore non può essere ritenuto responsabile se l'utente finale commette errori come "oh volevo solo $100 di rischio ma ho finito con $1000". Ha inserito 100 pip stop ma ha fatto leva a 1000:1. A meno che tu non abbia intenzione di allertare ogni colpo di scena e avvertimento all'interno della tua programmazione, non c'è speranza.

 
andydcoles:

L'unica cosa per cui MQL4 usa i pip è nella codifica del valore dello spread nelle richieste di ordini. Tutto il resto è specificato in termini di tasso. Un'alternativa da considerare è quella di utilizzare le differenze di tasso di cambio come parametri di input per T/P, S/L ecc. Per esempio, specificare 0.0050 per un S/L di 50 pip. Questo funziona indipendentemente dalle cifre, e ha solo bisogno di scalare di 100 quando si rileva "JPY" in Symbol() come valuta di quotazione. Questo è fattibile per tutte le 21 coppie principali (tutte le combinazioni USD, EUR, GBP, JPY, CHF, CAD, AUD) e probabilmente anche per le coppie minori (che pochi scambiano a causa degli spread più alti). Se sei davvero preoccupato di "essere a prova di proiettile", potresti fornire una stringa di valuta e un moltiplicatore come parametri di ingresso (come JPY e 100). Questo può essere esteso anche per le esotiche con diversi broker.

Penso davvero che questo sia in gran parte un punto morto con la maggior parte dei codificatori MQL4; quando implementano e debuggano con successo un algoritmo di trading redditizio, lo useranno sul proprio conto Live. Pochi vorranno venderlo o darlo via perché il mercato probabilmente si adeguerà per contrastare l'algoritmo.

Grazie per la tua risposta Andy. Ma ora ho risolto le funzioni. Guardando indietro ai miei ultimi post so che ero un po' ossessionato dalla cosa della diga in quel momento :). Credo che stessi cercando più il calcolo sottostante di Point, TickSize, ecc. piuttosto che il mio codice "a prova di proiettile". 7bit ha iniziato il thread cercando un modo per rilevare programmaticamente il prezzo a 5 cifre. E di conseguenza è cresciuto per trovare/esplorare le definizioni delle variabili predefinite di MarketInfo-s. Ancora grazie per il tuo contributo.
~cameo

 

If you are building a system for other people to use, not just for yourself, then the ability to enter values in pips is a major ease-of-use consideration. The average punter knows what they mean by 50 pips, but has to think quite a lot, and double-check, whether they mean a value of 0.005 rather than 0.0005 or 0.05 or whatever. The ability to enter parameters in pips matches how most end-users think in the forex world, and reduces errors. It also offers the prospect of being able to use the same parameter values on 2/3 and 4/5 digit symbols. I don't have much exposure to the mass-market commercial EAs, but I've never seen one where such parameters were entered as a price differential rather than a pip value.

@Jjc : Sono contento che qualcuno sia sulla stessa pagina con me su questo :). Andrei con la facilità d'uso e la riduzione degli errori in qualsiasi momento della giornata :)

Questo. Personalmente non lavoro in pip, ma in punti. Tutti i dati di prezzo sono dati in punti. La differenza tra due valori di prezzo è in punti. Il mio stoploss e il mio punto di uscita sono tutti in punti... sono un prezzo di mercato specifico. La nozione di pip è interessante, ma come molti qui possono testimoniare, una volta che si cerca di collegare la nozione di pip a quella di punti, si perde rigore e robustezza, e per cosa? [...]

@Phil : Posso apprezzare i tuoi e altri modi diversi di calcolare i parametri di prezzo. Abbiamo le nostre preferenze perché cambiarle se non ne sentiamo il bisogno... Il mio obiettivo, come forse sai, è quello di esplorare i calcoli sottostanti di MarketInfo da utilizzare in diversi strumenti e broker. Il tuo metodo di usare il prezzo è certamente un modo robusto e praticabile.

Se non sei un SUPER programmatore con ANNI di esperienza nel Forex sotto la cintura, non ha senso cercare di codificare un programma commerciale universale applicabile agli utenti finali. Quando qualcuno acquista un EA, si aspetta soprattutto che sia redditizio. Poi, in secondo luogo, si aspettano che il programma sia flessibile oltre ogni immaginazione. Come il comando di chiudere tutti gli ordini entro il fine settimana e che mi permetta di specificare quanti soldi voglio rischiare, ecc. Come tutti sappiamo è abbastanza difficile programmare un EA redditizio senza renderlo statico ad un solo Time-frame o valuta ecc.

@Ubzen : Lols! Non hai bisogno di essere un 'SUPER programmatore'. Fidati di me. E anche se è una possibilità, per me la soluzione non era quella di essere usato per un programma commerciale o di essere 'flessibile oltre ogni immaginazione'. Voglio solo testare le mie strategie su diverse piattaforme e strumenti senza la necessità di regolare e ricontrollare i parametri.

Per quanto riguarda i pip rispetto al dollaro, posso offrire un'analogia che probabilmente ti sarà familiare:

Diciamo che voglio giocare d'azzardo in un nuovo casinò. Ho portato con me 5000 dollari di capitale e sono disposto a rischiare il 2% del mio capitale. Ma la casa fornisce fiches in punti! I dollari in gioco sono convertiti in fiches in punti, sono denominati in 0.0001, 0.0005, 0.001 ecc. Non solo, il tavolo successivo richiede 10 volte la quantità di fiches denominate a un decimo del tavolo precedente, e aggiungere a questo il colore delle fiches non è così facile da fare! Ok... sto esagerando un po' :)) ma avete capito il mio punto (gioco di parole non voluto). Dollari o valuta base non è universale IMO mentre i pip sono. I pip sono più facili coz non è una frazione e guardando qualsiasi tipo di grafici e strumenti se vediamo x pip di guadagno / perdita possiamo rapidamente IMHO valutare e confrontare.

PS: Ho modificato e aggiunto questo post molto.... perché rileggere alcuni dei miei post a volte mi fa schifo?

 

Ora uso le funzioni qui sotto, ed è utilizzabile su diversi broker e strumenti.

double vPoint; 
if(Digits == 2 || Digits == 4) vPoint = Point; else
if(Digits == 3 || Digits == 5) vPoint = Point*10; // I use this for my indies; call once on init() & use where Point supposed to be used in start() 

double Poin() 
{ 
   int d = Digits;
   switch(d){
   case 2 : {return(Point); break;}
   case 4 : {return(Point); break; }
   case 3 : {return(Point*10); break;}
   case 5 : {return(Point*10); break:}
   default : return;
} // I just come up with this. Untested but should be ok/robust. To be used to replace Point for trade parameters calculations. 

saluti, ~ cameo

 

Recentemente ho avuto bisogno di questo e l'ho codificato. ecco la mia soluzione:

//la mia osservazione è che l'1% del sottostante è circa 100 pips.

//a 'Punto' è la più piccola unità incrementale.

//quindi, calcolo semplicemente il numero di punti che è di potenza 10 per l'1% del sottostante.

//quella quantità di punti è 100 pips.

doppio AmountPer100Pips()

{

int k=3;

while (MathRound((Bid*0.01)/(Point*MathPow(10, k)))==0)

{

k--;

}

//Commento("1%=", DoubleToStr(Bid*0.01, 5), "-", DoubleToStr(Point*MathPow(10, k), 5), " per 100 pips");

return(Punto*MathPow(10, k));

}

 
ubzen:

...Gli Average Joe's che hanno sentito parlare di "2% di rischio" e "non fare trading durante il fine settimana"...


Hai dimenticato "il trend è tuo amico" - prova a inserirlo in una strategia di trading...!

Hai ragione, gli add-on o le funzioni (percepite) "belle da avere" possono non aiutare e spesso danneggiare la strategia che l'EA deve seguire per fare soldi

-BB-

 
jesuscheung:

recentemente ho avuto bisogno di questo e l'ho codificato...


Questo codice in realtà funziona solo per le valute quotate più piccole di 0.01 Ticks. Mettere Dow (TickSize 1) o Ger30 (TickSize 0.5) non funziona.
 

cameofx: Diciamo che voglio giocare in un nuovo casinò. Ho portato $5000 di capitale e sono disposto a rischiare il 2% del mio capitale. Ma la casa fornisce fiches in punti! I dollari in gioco sono convertiti in fiches in punti, sono denominati in 0.0001, 0.0005, 0.001 ecc. Non solo, il tavolo successivo richiede 10 volte la quantità di fiches denominate a un decimo del tavolo precedente, e aggiungere a questo il colore delle fiches non è così facile da fare! Ok... sto esagerando un po' :)) ma avete capito il mio punto (gioco di parole non voluto). Dollari o valuta base non è universale IMO mentre i pip sono. I pip sono più facili coz non è una frazione e guardando qualsiasi tipo di grafico e strumenti se vediamo x pip di guadagno / perdita possiamo rapidamente IMHO valutare e confrontare.

Woah, un'analogia con il casinò. Mi era totalmente sfuggita quella lol. Ok, posso capirlo. Diciamo che Average Joe entra in un nuovo casinò, invece di $5000 rendiamo la matematica semplice e diciamo $100. Consegna al bellissimo croupier 100 dollari Benjamin Franklin e l'adorabile croupier gli chiede gentilmente "Signore, come li vorrebbe indietro? In rosso, verde o metà e metà? Average Joe è totalmente confuso. La sua prossima domanda è "quanto costa il rosso, il verde e cosa intende per metà e metà". A questo punto lei sorride, si butta i capelli di lato e abbassa le spalle con un sospiro perché sa di avere a che fare con un noob. Se sono seduto accanto all'Average Joe, mi guardo intorno per cercare le cameriere con la coda di cazzo. Lei inizia ad allungare la mano nel vassoio e solleva una fiche proclamando "questa è una fiche rossa, vale 0.0001 punti"..... (cosa!!! è un vero casinò, ma assecondiamolo).... Average Joe è ancora confuso, e lo sarei anch'io. Esclama: "Sì, ma quanto è in dollari". E lei risponde, "sono 5 dollari, signore" "e i verdi sono 25 dollari" e "Half-n-Half significa 2 verdi e 10 rossi".

Ora i punti vanno completamente fuori dalla finestra, l'Average Joe è fissato con i colori. È così che la casa ti prende, anche una scimmia può distinguere i colori. L'Average Joe, volendo sembrare figo, dice: "Beh... dammi metà e metà allora... bella mamma". Io, accanto a questo tizio, ho il sorriso più smagliante per non scoppiare a ridere. Comunque, è il momento di scommettere e Average Joe sta pensando al 2% che vuole rimanere a questo tavolo il più a lungo possibile. O_o, ha bisogno di 2$, così chiede alla croupier "ci sono fiches da 2$" e lei dice "sì, quelle bianche sono da 1$ e quelle rosa sono da 2.50$, ne vuoi qualcuna? Lui dice "Sì". Lei dice: "Passami 2 rossi e ti darò 10 bianchi" (non sta per darti tutti i bianchi nel suo vassoio... ha bisogno di quelli per convertire... ma spera che tu inizi a dare la mancia).

Ok, torniamo a scommettere di nuovo. A questo punto Average Joe mette 2 fiches bianche sul tavolo. Questo fa sì che il mazziere si blocchi. Lei lo guarda, gira il cartello in un angolo visibile e dice "è un tavolo minimo da 5 dollari, signore". "Il tavolo minimo che offriamo in questo casinò è il tavolo da 3 dollari dove" continua "è proprio lì dove il ragazzo Buff sta dando le carte". Average Joe ci pensa per un secondo, (2$ vs 3$....Gorgeous vs Fabillio laggiù) "nah, giochiamo un po' di carte, esclama" tira indietro i suoi 2 bianchi e butta 2-Red lì dentro.

Se questo fosse stato un casinò giapponese, il formato sarebbe stato lo stesso, solo che ci sarebbe voluto più tempo per spiegare quanto vale un punto.

 
1005phillip:

Questo. Personalmente non lavoro in pip, ma in punti. Tutti i dati di prezzo sono dati in punti.

Questo significa che ogni volta che cambi broker, (o se il broker cambia improvvisamente come ha fatto IBFX diversi mesi fa) devi ricordarti di cambiare tutti i parametri del tuo EA di conseguenza. Come lo slippage, 3 o 30 punti.

E quanto perderai se ne dimentichi uno o peggio lo cambi nel modo sbagliato.

Molto più facile definire i parametri di tipo non percentuale in pip e convertire in punti o doppi dove necessario.

 
WHRoeder:

Questo significa che ogni volta che cambiate broker, (o se il broker cambia improvvisamente come ha fatto IBFX diversi mesi fa) dovete ricordarvi di cambiare tutti i parametri del vostro EA di conseguenza. Come lo slippage, 3 o 30 punti.

E quanto perderai se ne dimentichi uno o peggio lo cambi nel modo sbagliato.

Molto più facile definire i parametri di tipo non percentuale in pip e convertire in punti o doppi dove necessario.


In realtà è l'esatto contrario. I miei EA sono codificati per essere abbastanza generici da poterli inserire fondamentalmente in qualsiasi broker MT4 con qualsiasi combinazione di cifre, ecc, e la meccanica del trading e la strategia sono indifferenti ai parametri specifici del broker sottostante. È quando si inizia a programmare con parametri mal definiti come "pips" che si apre la porta ai problemi.

Quello che trovo interessante è che se avete già una strategia che si basa su indicatori o qualche calcolo matematico che coinvolge i prezzi di mercato per la determinazione di stoploss e take profit - sia esso ATR o RSI o livelli di resistenza, ecc - fondamentalmente qualsiasi cosa diversa dal banale "voglio un trailing stop fisso di 30 pip" allora non avete assolutamente bisogno di lavorare con i pip in primo luogo.

Fare le cose con i pip fissi - ad esempio 25 pip takeprofit o 50 pip stoploss - per me è semplicemente stupido perché il mercato semplicemente non funziona in quel modo, quindi non si può davvero aspettare di essere redditizio cercando di prendere soldi da esso operando una strategia di trading in quel modo. È tutto sopra i movimenti percentuali, i livelli di resistenza, ecc. Cose che sono definite dal prezzo, non dai pip.

Solo la mia opinione, potrebbe essere totalmente errata.

(PS - il tuo esempio dei cambiamenti di IBFX è un caso perfetto, il mio EA non si è preoccupato che IBFX abbia fatto i suoi cambiamenti. Un altro è FXDD che recentemente quest'estate ha cambiato a 5 cifre su uno dei loro server demo, non mi sono nemmeno reso conto di questo o sapere che è successo fino a quando stavo rivedendo i numeri trimestrali e ho notato che i feed dei prezzi erano cambiati)