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

 
Probabilmente ho una domanda stupida, ma se il terminale usa le virgolette a cinque cifre, anche le variabili globali dovrebbero essere specificate con zeri extra? Per esempio TP = 500 invece di 50?
 
artmedia70:

...Prova a formulare la stessa domanda in modo diverso, in modo che nessuno se la prenda... ;)


Perché dovrei formulare una domanda di cui conosco la risposta.
 
alsu:
Significa che per calcolare l'indicatore sulla barra corrente abbiamo bisogno di una certa quantità di valori di prezzo precedenti, in questo caso PeriodSMA. Se non diminuiamo l'indice della barra iniziale, avremo diversi valori di indicatori calcolati in modo errato all'estremità sinistra del grafico.

alsu se non ti dispiace, potresti farmi un piccolo esempio? Non capisco bene il senso di questo "spostamento". Dopo tutto, l'intera serie di barre sarà calcolata in ogni caso, allora perché questo spostamento? E perché scegliere PeriodSMA e non qualsiasi

e non qualsiasi altro valore che differisce da esso? Non riesco a trovare nessuna descrizione o spiegazione di questo problema da nessuna parte. Grazie!

 
skyjet:
Probabilmente ho una domanda stupida, ma se il terminale usa le virgolette a cinque cifre, anche le variabili globali dovrebbero essere specificate con zeri extra? Per esempio TP = 500 invece di 50?
new_sl = NormalizeDouble(MathMax(order_open_price + MathMax(STOP_LOSS*coef,stop_level)*Point, Ask + stop_level*Point), Digits)
 
Fox_RM:

alsu se non ti dispiace, potresti farmi un piccolo esempio? Non capisco bene il senso di questo "spostamento". Dopo tutto, l'intera serie di barre sarà calcolata in ogni caso, allora perché questo spostamento? E perché scegliere PeriodSMA e non qualsiasi

e non qualsiasi altro valore che differisce da esso? Non riesco a trovare nessuna descrizione o spiegazione di questo problema da nessuna parte. Grazie!

Per esempio, dovete calcolare una media mobile semplice con PeriodSMA. Per calcolare la SMA devi aggiungere i valori delle ultime barre PeriodSMA e dividere per il PeriodSMA. È ovvio che per le barre con numeri Bars-1, Bars-2, ..., Bars-PeriodSMA+1 non funzionerà, perché semplicemente non abbiamo la quantità necessaria di barre per il calcolo (la barra più a sinistra ha indice Bars-1). Pertanto, dobbiamo iniziare il calcolo dell'indicatore non con l'ultima barra del grafico, ma con la barra con l'indice Bars-PeriodSMA.

Perché scrivono questo valore e non uno arbitrario? È perché questo spostamento dell'inizio del calcolo ci permette di calcolare la quantità massima di barre senza pregiudicare la correttezza del calcolo.

Ma tenete presente che questo è il caso più semplice. A volte può non essere immediatamente chiaro dal codice di quante barre passate il programma ha bisogno per il calcolo e da dove viene esattamente questo spostamento. Beh, probabilmente dovreste chiedere allo sviluppatore che ha scritto il codice. Ma in generale, c'è un modo universale - basta guardare il codice, ciò che in linea di principio l'indice massimo della barra può essere ottenuto utilizzando i dati di prezzo e i dati dei buffer di indice durante il funzionamento del programma, di solito già in questa fase diventa chiaro...

 
YOUNGA:
new_sl = NormalizeDouble(MathMax(order_open_price + MathMax(STOP_LOSS*coef,stop_level)*Point, Ask + stop_level*Point), Digits) sente questa costruzione
Se aveste menzionato che la variabile "coef" è uguale a 10 per un numero a 5 cifre e a 1 per uno a 4 cifre lo sentirei anch'io.

E a proposito, nella domanda l'esempio era previsto per TP e voi avete "new_sl = ".
Dovreste essere più attenti, i principianti dopo tutto..., la risposta dovrebbe essere intelligente, non astrusa.
 
prorab:
Se tu avessi menzionato che la tua variabile "coef" è 10 per 5 cifre e 1 per 4 cifre, l'avrei sentito anch'io, ma altrimenti...

E a proposito, nella domanda l'esempio era previsto per TP e voi avete "new_sl = ".
Si dovrebbe essere più attenti, i principianti dopo tutto ..., la risposta dovrebbe essere intelligente.
Vorrei che qualcuno mi dicesse una strategia di lavoro (la lacrima di un uomo cade a terra...)
 
YOUNGA:
Vorrei che qualcuno mi dicesse una strategia di lavoro (la lacrima di un uomo cade a terra...)


Se ho capito bene, questo costrutto può essere inserito dopo start()?

Anche la variabile coef, come faccio a darle i valori del commento precedente? Intendo 10 per una quinta cifra e 1 per una quarta cifra?

 
skyjet:


Se ho capito bene, questo costrutto può essere inserito dopo start()?

Anche la variabile coef, come darle i valori del commento precedente? Cioè 10 per un 5 simboli e 1 per un 4 simboli?

Gli Expert Advisors che uso hanno approssimativamente la stessa costruzione:

if (Digits==4 || Digits==2) coef=1; else coef=10; // moltiplicatore per diversi tipi di conto 4/2 e 5/3


 
Oboltus:

Gli EA che uso hanno più o meno questo design:

if (Digits==4 || Digits==2) coef=1; else coef=10; // moltiplicatore per diversi tipi di conto 4/2 e 5/3



Grazie per il chiarimento!

E solo per chiarire, se aggiungo meccanicamente 0, TP e SL funzioneranno in questo tipo di terminale?

Motivazione: