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

 
snowman647 писал(а) >>
suggerire se qualcuno ha visto un consulente che commercia solo da render - qualsiasi implementazione... (dovrebbe solo drenare lentamente a scapito della diffusione)

Controlla questa opzione. http://vinin.ucoz.ru/forum/10-38-1

Ultimo messaggio

 

Cittadini, che hanno collegato MT4 a Matlab via DDE, potete dirmi perché la connessione non viene inizializzata?

Scrivo canale = ddeinit('MT4','BID');

in risposta - canale = 0

Metatrader è in funzione, semmai.

 

Buon pomeriggio.

Potresti dirmi per favore.

Cosa devo cambiare nell'indicatore MA, in modo che la linea sia disegnata dall'altra parte del prezzo? Per esempio, se il prezzo scende, la linea dell'indicatore viene disegnata a destra e se sale, viene disegnata a sinistra.

Come fare il contrario?

 
smogsam писал(а) >>

Buon pomeriggio.

Potresti dirmi per favore.

Cosa devo cambiare nell'indicatore MA, in modo che la linea sia disegnata dall'altra parte del prezzo? Per esempio, se il prezzo scende, la linea dell'indicatore viene disegnata a destra e se sale, viene disegnata a sinistra.

Come fare viceversa?

Probabilmente, è necessario spostare l'indicatore per un periodo al passato, ma quanto dovrebbe essere spostato dipende dal periodo di ritardo dell'indicatore. La SMA ha mezzo periodo.

Quindi, spostando la SMA per un periodo all'indietro, sarà possibile vedere sulla storia ciò che si vuole.

 
Chemist >> :

Cittadini, che hanno collegato MT4 a Matlab via DDE, potete dirmi perché la connessione non viene inizializzata?

Scrivo canale = ddeinit('MT4','BID');

in risposta - canale = 0

metatrader è in funzione.

Avete abilitato Service-Settings-Server-Enable DEE Server?

Dovresti.

 
Urain >> :

Avete abilitato Service-Settings-Server-Enable DEE Server?

O dovrebbe esserlo.


Ecco, questo problema è risolto. Il canale ha preso il valore giusto. ora sto cercando di ottenere i dati

rc = ddeadv(channel, 'EURUSD','disp(x)','x',[1 1]); - cercando di emettere il valore del tick in arrivo alla console,

ma non funziona, anche se rc=1. cosa c'è che non va, puoi dirmelo?

 


Salve. Sono alle prese con il codice di un indicatore personalizzato, basato sulla teoria di DeMark. L'essenza dell'indicatore - il modo passato dal prezzo (Close[i]-Open[i])/(High[i]-Low[i]) per unità di tempo, per esempio un giorno, viene moltiplicato per il volume dello stesso periodo. Se il prezzo sale, il valore di quel valore moltiplicato per il volume viene aggiunto al valore precedente. Se il prezzo scende, il valore di quel giorno viene sottratto dal valore del giorno precedente. In altre parole, i valori positivi vengono aggiunti al valore del giorno precedente e i valori negativi vengono sottratti dal valore del giorno precedente. Il rapporto tra i valori positivi e negativi di un periodo è il valore percentuale della pressione acquirente/venditore, in altre parole, l'accumulazione/distribuzione di un titolo.

Do solo il codice della funzione di avvio speciale, perché non ci sono problemi con l'inizializzazione delle variabili. Quando eseguo il codice - a zero i iterazioni la curva dell'indicatore "va" al soffitto/metà della finestra dell'indicatore.

Cosa faccio di sbagliato? Come dovrebbe essere fatto? Grazie per l'aiuto.


int start()
{
int i,j,nCountedBars;
double V,X,Y,Z;

if(Bars<=Fi) return(0);

nCountedBars=IndicatorCounted();
//----
i=Bars-Fi-1;
if(nCountedBars>Fi)
i=Bars-nCountedBars-1;
while(i>=0)
{
V=(Close[i]-Open[i])/(High[i]-Low[i]);
if(V>0)
X+=V*Volume[i];
else
Y+=V*Volume[i];



Alert("V=",V," X=",X," Y=",Y," i=",i);


ExtDMFiBuffer[i]=100-100/(1+MathAbs(X/Y));


i--;
}
return(0);
File:
demarkrf.mq4  2 kb
 
Laven писал(а) >>

Salve. Sono alle prese con il codice di un indicatore personalizzato, basato sulla teoria di DeMark. L'essenza dell'indicatore - il modo passato dal prezzo (Close[i]-Open[i])/(High[i]-Low[i]) per unità di tempo, per esempio un giorno, viene moltiplicato per il volume dello stesso periodo. Se il prezzo sale, il valore di quel valore moltiplicato per il volume viene aggiunto al valore precedente. Se il prezzo scende, il valore di quel giorno viene sottratto dal valore del giorno precedente. In altre parole, i valori positivi vengono aggiunti al valore del giorno precedente e i valori negativi vengono sottratti dal valore del giorno precedente. Il rapporto tra i valori positivi e negativi di un periodo è il valore percentuale della pressione acquirente/venditore, in altre parole, accumulo/distribuzione di questo strumento finanziario.

La divisione per zero risulta.

Se prima di qualsiasi divisione aggiungiamo il controllo sullo zero, inizia a disegnare.

Ma sarebbe necessario modificare la logica dell'indicatore. Ad ogni nuovo tick le variabili X e Y assumono un valore pari a zero. Funziona correttamente sulla storia.

File:
 
Laven писал(а) >>

Grazie. Darò un senso al TUO editoriale. Ma

Ancora la curva del grafico va verso il "pavimento". Prova il tuo.

Ho corretto il post precedente. Ho anche cambiato il file.

Potete modificare l'indicatore. Ma avrà bisogno di buffer aggiuntivi per i calcoli intermedi.

 
Vinin >> :

La divisione per zero funziona.

Se si aggiunge un controllo zero prima di qualsiasi divisione, inizia a disegnare.

Ma sarebbe necessario rielaborare la logica dell'indicatore. Ad ogni nuovo tick le variabili X e Y assumono valori uguali a zero. Funziona correttamente sulla storia

Sulla storia? Così, si scopre che oggi dovrebbe essere escluso dai calcoli. Cominciamo da ieri e...?

Motivazione: