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

 
Diubakin:
Quindi... COME FUNZIONA? se non è un segreto...
Un modo c'è, ma non dirlo a nessuno. Questo è un terribile segreto.
Fai una ricerca su google sul sito - trading su TF non standard sito:mql4.com e varianti come "advisor su grafico equi (stand-alone), ecc.
Oppure aspetta che Junko non lo sopporti e te lo spieghi personalmente :))
 
Diubakin:
Quindi... COME FARE?

Non è un segreto. C'è molto scritto al riguardo. Non importa quale strumento sia stato usato per creare la storia. Il punto è aggiornare il grafico in modo che l'Expert Advisor lavori su di esso.

Questo può essere fatto per mezzo di WinAPI. È stato descritto qui molte volte. Ho scritto una biblioteca. L'ho pubblicato qui.

Contiene funzioni per controllare l'aggiornamento autonomo del grafico. Non richiede alcuno script o esperto. Ma non è per tutti. Ci sono anche funzioni disponibili per tutti per aggiornare il grafico da un Expert Advisor, uno script o un indicatore. È più difficile usarli. Perché dovete pensare a quale dei vostri programmi aggiornerà il grafico. Gli esempi sono nello script di test.

 

Cari programmatori.

Potete consigliarmi come configurare i valori dei livelli di media mobile visualizzati sulla barra corrente?

Non intendo il valore della media mobile stessa, ma i valori dei suoi livelli (deviazioni da essa verso l'alto e verso il basso, che sono impostati nella scheda "Livelli" del menu МА).

Questi valori seguiranno i livelli di MA e cambieranno da soli.

La figura è una delle possibili varianti.

Grazie in anticipo.



 
Diubakin:


Ho già capito il mistero). Ho letto gli articoli, ho cercato nel forum e ho cercato nella ricerca. Non riesco a trovare la descrizione di come utilizzare i grafici non standard nello Strategy Tester, ma non ho trovato un esempio, cosa devo fare per permettere all'Expert Advisor di lavorare in tempo reale su un tale grafico.

WinAPI è una foresta oscura per me. C'è un modo per fare qualcosa in mql4 dentro il costruttore o il suo Expert Advisor, o per combinare il costruttore e l'Expert Advisor?

Non ho idea di come usarlo in futuro come Expert Advisor.

Quando ho detto mistero, intendevo il grande mistero della ricerca. Sta nel fatto che dovete LEGGERE il materiale che vi mostrerà. Ho paura di darvi i link, quindi vi darò solo il testo così com'è.

nickbilac 03.09.2007.

...Per far funzionare un Expert Advisor su un grafico autonomo, è necessario aggiungere:

all'inizio della partenza:

int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); //tick in arrivo per EAs

dopo il primo PostMessaggioA

PostMessageA(hwnd,MT4InternalMsg,2,1); //tick in arrivo per EAs

e in WinUser32.mqh nelle descrizioni delle funzioni di user32.dll:

int RegisterWindowMessageA(stringa lpString);

(questa soluzione è stata suggerita da Slava sul forum inglese)

 
Dalla corrispondenza con il broker - "I grafici sono usati per dare un'idea del mercato. Non può incolpare ..... per gli aggiornamenti perché questi sono impostati di default per tutti i broker che usano la piattaforma MT4. Di quale caratteristica di MT4 stiamo parlando? In quali casi il prezzo che è attualmente visualizzato sul grafico e nella panoramica del mercato non può essere contemporaneamente mercato ed eseguibile? Per favore, aiutatemi a capire l'essenza di questa affermazione. Sto prefigurando i link alla funzione OrderSend e citando il codice di MTS usato per aprire un trade:

RefreshRates();

ticket=OrderSend(Symbol(),OP_SELL,0.1,NormalizeDouble(Bid,Digits),0,NormalizeDouble(Ask+15*Point,Digits),0, "test",8,0, red);

Sarei molto grato ai commenti degli sviluppatori.
 

granit77:
Когда я говорил о тайне, то имел в виду великую тайну поиска. Она заключается в том. что надо ПРОЧИТАТЬ материалы, на которые он покажет. Ссылки уже боюсь давать, привожу готовый текст.

nickbilac 03.09.2007

... per far sì che gli esperti lavorino su un programma indipendente, è necessario aggiungere:

all'inizio della partenza:

int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); //tick in arrivo per EAs

dopo il primo PostMessaggioA

PostMessageA(hwnd,MT4InternalMsg,2,1); //tick in arrivo per EAs

E in WinUser32.mqh nelle descrizioni delle funzioni user32.dll aggiungere:

int RegisterWindowMessageA(stringa lpString);

Nella mia libreria c'è una funzione al posto di questo codice.
 
RefreshRates();; prima di un tick aiuterebbe a ridurre anche leggermente le requote?
 
Shniperson:
RefreshRates(); prima del biglietto aiuterà a ridurre un po' le requote?


Dipende dalla situazione. Se avete due ordini in fila, ha senso chiamare RefreshRates() prima di impostare il secondo ordine. Guarda, tu mandi un ordine al server per aprire un ordine. Una certa quantità di tempo passerà mentre il server reagisce. Durante questo tempo, le quotazioni possono cambiare, quindi non appena il server ha risposto, dobbiamo chiamare RefreshRates(), che aggiorna i dati nel terminale. Ora possiamo dare un ordine per aprire il prossimo ordine. Se controlliamo semplicemente un segnale e piazziamo immediatamente un ordine, non c'è motivo di chiamare RefreshRates(). La ragione è che la funzione start viene chiamata all'arrivo di un nuovo tick e potremmo trascurare il tempo fino a quando l'EA controlla il segnale.

Cosa c'entra il biglietto? Il biglietto è il numero d'ordine sul server...

 
Beh, volevo dire ticket=OrderSend(......)
 
Shniperson:
Beh, volevo dire ticket=OrderSend(......)

E cosa ti hanno detto? ...
Motivazione: