Competizione. Scriverò un esperto gratuitamente. - pagina 11

 
OZ0 писал (а) >>

Sergey, devi aver inteso su questo thread (non sul forum).

Sono d'accordo. Questa è la vostra condizione, dato che siete voi a stabilire le regole qui.

Ecco perché ho aperto un thread separato su MEM.

Per quanto ho capito, si tratta della possibilità tecnica di scrivere un messaggio privato utilizzando le strutture del forum (qualcosa come la posta interna). In molti forum questa possibilità è disponibile, nel forum di mql4.com no.

E chi si connette con chi usando le loro credenziali - è un affare privato di ciascuno e non ho in alcun modo intenzione di regolamentarlo in alcun modo, anche in questo thread.

 
SK. писал (а) >>

Per quanto ho capito, si tratta della possibilità tecnica di scrivere un messaggio privato sul forum (qualcosa come la posta interna).

È esattamente quello che chiedevo. Grazie, pensavo di averlo perso di nuovo :)

 
SK. писал (а) >>

Funziona bene con il tuo programma su un account reale. Finora tutto bene - apro su movimenti veloci e grazie alla visibilità e

strumenti eccellenti, reagisco rapidamente ai movimenti del mercato. Durante l'ultima settimana il trading con il vostro programma è stato redditizio.



Ho alcune domande quando sto studiando la modalità AT.

Per ottenere tutte le risposte vi propongo di implementare l'algoritmo qui sotto, se l'offerta è ancora valida.



L'algoritmo è il seguente:
___________________________________________________________________________________________
1. Le distanze tra i livelli sono impostate come variabili esterne, per esempio:
0)Lev0 = 0;
1)Lev1 = 40; (cioè questo livello è a 40 punti dal precedente, ecc.)
2)Lev2 = 40
3)Lev3 = 45
4)Lev4 = 55;

5)Lev5 = 60;
6)Lev6 = 65;
7)Lev7 = 75;
8)Lev8 = 80;
9)Lev9 = 85;

2. I volumi degli ordini aperti ad ogni livello sono impostati come variabile esterna, per esempio:
0)Lot0 = 0,01;
1)Lot1 = 0,01;
2)Lot2 = 0,01;
3)Lot3 = 0,03;
4)Lot4 = 0,06;

5)Lot5 = 0,12;
6)Lot6 = 0,24;
7)Lot7 = 0,48;
8)Lot8 = 0,96;
9)Lot9 = 1,92;
3. Sotto forma di una variabile esterna, viene impostato il numero di livello, che chiameremo - il livello di inclusione della protezione, per esempio come segue:

Protect_Lev = 5; (Protect_Lev >= 1 & Protect_Lev <= 9)

4. Criteri di apertura:

4.1. NEW TRADING CYCLE (ТC)
4.1.1. Secondo il valore dell'indicatore (qualsiasi indicatore a vostra discrezione) e il valore della variabile esterna:
Trade_Type = +1 - TP aperto solo verso l'alto
Trade_Type = -1 - TP aperto solo verso il basso
Trade_Type = 0 - nessun nuovo TP,
ordine aperto a
Lev (0):
- volume Lot (0)
- TP = valore variabile esterna
- SL = 0
4.1.2. Per tutti i i = 1 a i = Protect_Lev: ordini limite
- volume = Lotto (i)
- TP = a Lev(i-1)
- SL = 0
4.1.3. Al livello Lev(Protect_Lev), un ordine stop è impostato in modo che scatti simultaneamente all'ordine limite
dello stesso livello
- volume = SUMM(i=0 a i = Protect_Lev):Lot (i)
-TP = 0
-SL = al livello Lev(Protect_Lev - 1) in modo che l'ordine stop scatti simultaneamente al TP dell'ordine limite
dello stesso livello

5. Criteri di modifica:
5.1. Quando uno qualsiasi degli ordini limite scatta ai livelli
Lev (i) (da i = 1 a i = Protect_Lev),
si eseguono le seguenti modifiche degli ordini:
Per tutti j = 0 a j = i - 1: TP(j) = OP(i - 1)
5.2. Movimento "manuale" degli ordini limite
5.2.1 Quando si spostano "manualmente" gli ordini limite impostati secondo 4.1.2. ai livelli Lev (i) (da i = 1 a i = Protect_Lev-1)
TP(i) non deve cambiare e la posizione di TP(i+1) deve cambiare in sincronia con la posizione dell'ordine limite che si sposta.
5.2.2 Quando si sposta "manualmente" l'ordine limite impostato secondo 4.1.2. al livello Lev (Protect_Lev)
1. La posizione TP(Protect_Lev) non deve cambiare
2. L'ordine stop impostato secondo 4.1.3 si muove sincronicamente con l'ordine limite, e il suo livello stop
non cambia
5.3. Spostamento "manuale" di un ordine di arresto
Quando si sposta "manualmente" un ordine di arresto impostato secondo 4.1.3. al livello Lev (Protect_Lev)
1. La posizione di stop di questo ordine non cambia
2. Un ordine limite impostato in conformità con 4.1.2. si muove in modo sincrono con l'ordine stop, e il livello del suo TakeProfit
non cambia
5.4. La posizione di takeprofit dell'ordine del livello Lev (i)(i = 1 a i = Protect_Lev) scattato per ultimo nella direzione del TP
può cambiare dinamicamente in qualsiasi momento a seconda del valore della variabile esterna int Last_Order_TP.
La variabile esterna int_Order_TP imposta la percentuale (<=100%) di distanza tra i livelli Lev (i) e Lev (i-1)
di un takeprofit positivo dell'ordine di Lev (i)(i = 1 a i = Protect_Lev).
Il valore int Last_Order_TP = 100% significa la posizione iniziale dell'ordine take profit del livello Lev (i)(i = 1 a i = Protect_Lev):
TP(i) = OP(i - 1)
5.5. La posizione dello stop (o di un ordine già aperto al TP opposto) del livello Lev(Protect_Lev)
può cambiare dinamicamente in qualsiasi momento a seconda del valore della variabile esterna int Protect_Order_SL.
La variabile esterna int Protect_Order_SL imposta lo stop dell'ordine stop dei livelli Lev(Protect_Lev) e Lev(Protect_Lev-1) in percentuale (<=100%) della distanza
Lev (Protect_Lev).
Il valore di int Protect_Order_SL = 100% significa la posizione iniziale dello stop al livello di Lev(Protect_Lev), quando
SL(Protect_Lev) è al livello di Lev(Protect_Lev - 1), quando l'ordine stop deve essere chiuso dallo stop
allo stesso tempo dell'ordine limite di livello Lev(Protect_Lev - 1) al takeprofit, a condizione che questo ordine dimit
TP(Protect_Lev - 1) = OP(Protect_Lev - 1)
5.6. L'ultimo ordine al livello TP(i) (da i = 1 a i = Protect_Lev-1) può essere chiuso in qualsiasi momento
quando raggiunge qualsiasi profitto. In questo caso, tutti gli ordini limite ai livelli j = i+1 a j = Protect_Lev e
stop order al livello Protect_Lev sono cancellati e tutti gli ordini limite ai livelli
j = i a j = Protect_Lev sono reimpostati secondo le regole della clausola. 4.1.2. e la reimpostazione dell'ordine stop al livello Protect_Lev secondo le regole della clausola 4.1.3. 4.1.3.
5.7. L'ordine stop può essere chiuso in qualsiasi momento quando raggiunge un qualsiasi profitto. In questo caso è necessario impostare
un nuovo ordine stop con le caratteristiche di volume, TakeProfit e Stop Loss secondo la clausola 4.1.3. alla distanza pari al valore della variabile esterna
int Protect_Order_DS dal suo prezzo di chiusura. Poi il suo "tirare su" seguendo il prezzo dovrebbe essere organizzato.
Tirando su l'ordine di stop, monitorare l'Equity e Balance. Se l'Equity supera il Balance, tutti gli ordini aperti devono essere chiusi
e l'ordine stop deve essere rimosso.



NOTA: 1. L'algoritmo è abbastanza fattibile. Ho un Expert Advisor funzionante basato su di esso; alcune delle funzioni di cui sopra
sono fatte manualmente. La direzione del ciclo di trading è anche selezionata manualmente in base alle letture V.T.E.
Le impostazioni di livelli e lotti di cui sopra forniscono fino a 20 sterline al giorno sul simbolo NZDUSD.
Il punto critico dell'algoritmo è descritto in 5.7. La cosa principale qui è non avere fretta e aspettare un appartamento.
E in generale, è necessario "prendere la mano"
2. Naturalmente, quando si implementa questo algoritmo nel sistema SK, sono possibili alcune modifiche per quanto riguarda

Per impostare i valori delle variabili esterne.

______________________________________________________________________________________________________________________

Sinceramente - S.D.

 
SK, Sergey, abbiamo bisogno di un'istruzione semplice e chiara sulla programmazione di funzioni con segnali di trading. Solo senza un sacco di link a cose incomprensibili. L'intero manuale può essere al massimo una dozzina di frasi. La gente chiede, e il prodotto è tuo, devi essere direttamente interessato ad esso.
 
Integer писал (а) >>
SK, Sergei, abbiamo bisogno di un'istruzione semplice e chiara per programmare funzioni con segnali di trading. Ma non fornire molti link a cose incomprensibili. L'intero manuale può essere al massimo una dozzina di frasi. Chiedono alla gente, e il prodotto è tuo, devono essere direttamente interessati ad esso.

Capisco perfettamente il significato di ciò che sta scrivendo. Ma non funziona così.

--

In acque neutrali vicino a un incrociatore americano, un sottomarino senza equipaggio si immerge.

Esce Bosun: "Ehi, sull'incrociatore, dammi indicazioni per l'Africa".

Dall'incrociatore: "Nord Nord Ovest 234... longitudine..."

Bosun: "No, mi mostri con la mano dove sta andando".

--

Non funzionerà.

=============================

Per quanto riguarda i codici personalizzati per AutoGraf 4.

Ci sono due funzionalità.

.
1. L'utente trasferisce l'algoritmo in MQL4 dal suo EA alla funzione di trading automatico con nome predefinito AG_AT.ex4

Come funziona è molto facile da capire. Date un'occhiata allo schema su http://autograf.dp.ua/Pages/2/26/267/2671.htm

La freccia blu inferiore va dalla funzione AT auto-trade personalizzata al server. Significa che il codice scritto da un utente in questa funzione viene eseguito semplicemente dalle regole di esecuzione dei codici MQL4. Questo significa che tutto ciò che può essere fatto in MQL4 è disponibile lì: gli ordini possono essere aperti, chiusi e modificati, gli oggetti grafici possono essere impostati, gli indicatori tecnici e personalizzati possono essere utilizzati.

In questa parte il programmatore non ha bisogno di alcun consiglio da parte mia. Tutte le funzioni di MQL4 sono al vostro servizio.

L'unica cosa da tenere a mente è che AG_exp.ex4 expert è in loop, e viene applicato circa 200 volte al secondo. Ad ogni iterazione, viene chiamata la funzione AG_AT.ex4. Cioè, non ogni zecca, ma tra una zecca e l'altra.

.

2. è possibile controllare gli strumenti di AutoGraf 4 dalla funzione personalizzata AG_AT.ex4.

Come farlo è impossibile da descrivere in una parola.

L'applicazione utilizza un array 4-dimensionale che è disponibile per l'analisi nella funzione di trading automatico definito dall'utente AG_AT().

Le peculiarità di installazione e rimozione di ogni strumento sono descritte sul sito web. Per ogni strumento, viene dato un esempio di come usarlo. Ci sono commenti dettagliati nei codici. Gli esempi sono installati sul PC dell'utente durante l'installazione. Per vedere come funziona l'esempio, devi solo prendere un file dalla sottodirectory \experts\libraries\Example_AT e metterlo nella directory \experts\libraries invece di quello che c'è già. E poi accenderlo e vedere come funziona. Puoi farlo nel tester in modalità visualizzazione.

==

Sono molto interessato a comunicare ad ogni utente-programmatore come funziona.

Per quanto riguarda il suggerimento di Sart, devo pensarci. Finora, è chiaro che non può essere implementato in questa forma - nessuno ci capirà niente. Abbiamo bisogno di qualcosa di più semplice. Ci penserò per un po'.

 

La battuta era Zuid-Zuid-West e la risposta corretta era - Don't zuid me, point your finger. Qualcosa è stato scoperto:

Нижняя синяя стрелка идёт от пользовательской функции автоматической торговли АТ на сервер. Это значит, что код, прописанный пользователем в этой функции, исполняется просто по правилам исполнения MQL4 - кодов. Это значит, что там можно всё, что можно в MQL4 - открывать, закрывать и модифицировать ордера, выставлять графические объекты, использовать технические и пользовательские индикаторы.

In questa parte il programmatore non ha bisogno di alcun consiglio da parte mia. Tutte le caratteristiche di MQL4 sono al vostro servizio.

Non è chiaro, allora qual è il coinvolgimento del vostro programma in questo?


Forse, mi interessa la freccia superiore che va all'unità analitica. Quali sono le funzioni del blocco analitico? Quali sono le funzioni del blocco commerciale? Le descrizioni del blocco analitico e di trading nella pagina non sono state trovate, ho trovato alcuni link attraverso il JavaScript, ma sono glitchati nel mio browser per qualche motivo.

Ci può essere solo una funzione di trading automatico? Come è possibile cambiare i suoi parametri? Dove deve trovarsi il file AG_AT.ex4?

Come farlo è impossibile dirlo in una parola.

Allora scrivi un manuale o suggerisci che devi necessariamente installare AutoGraf sul tuo computer, e rastrellare tutto il codice delle sue migliaia di file?

Le peculiarità di installazione e rimozione di ogni strumento sono descritte sul sito.

A cosa ti serve? (per me). Avete bisogno di una descrizione concreta e concisa dell'interfaccia di questi strumenti per interagire con loro da AG_AT.

 

>> Poco chiaro, allora, qual è il coinvolgimento del vostro programma in questo?

Il coinvolgimento è ovvio:

1. L'utente a sua discrezione può abilitare o disabilitare l'esecuzione dell'algoritmo AT in qualsiasi momento.

2. L'utente può interferire manualmente nel processo di trading allo stesso tempo con l'esecuzione dell'algoritmo AT.

3. L'utente può installare e rimuovere strumenti che verranno eseguiti contemporaneamente all'esecuzione di AT.

.

>>Credo di essere interessato alla freccia superiore che va all'unità analitica. Quali sono le funzioni del blocco analitico? Quali sono le funzioni del blocco commerciale?

I blocchi analitici e commerciali sono mostrati in modo condizionato nello schema solo per mostrare il ruolo delle modalità di AutoGraf 4.

Il gruppo di funzionianalitiche è destinato a sostenere il funzionamento del programma. In particolare, lo scopo di alcuni di essi è:

1. far rispettare le regole dei requisiti e dei permessi quando vengono installati gli strumenti. Per esempio, su StopLoss è impossibile impostare gli strumenti 1, 2 (Pull Up e Pull Down) per funzionare simultaneamente. Questo non è tecnicamente fattibile. Se l'utente cerca di farlo, viene impostato un nuovo strumento e quello vecchio viene cancellato.

2. Analizzare la necessità di visualizzare messaggi all'utente.

3. Analisi delle azioni degli utenti. Rifiuto di eseguire azioni errate dell'utente.

4. Esecuzione di azioni di controllo di un utente.

5. Formare ordini di compravendita in base alle condizioni di trading correnti.

Le funzioni di un blocco commerciale sono anche ovvie:

1. Mantenimento delle operazioni commerciali - invio di ordini al server e analisi degli errori.

2. In generale, il blocco di trading implementa il trading sulla base delle priorità di trading qui descritte:

http://autograf.dp.ua/Pages/2/26/264.htm, qui http://autograf.dp.ua/Pages/2/26/262.htm e qui http://autograf.dp.ua/Pages/2/26/263.htm.

.

>> ha trovato alcuni link via javascript, ma sono glitch nel mio browser per qualche motivo.

Per favore, datemi un link alla pagina con il problema (il sito è stato controllato con IE, Opera e FF).

.

>>Può esserci solo una funzione di trading automatico?

Sì. Ci sono piani per espandere il numero di funzioni utilizzate.

.

>>Come si possono cambiare i parametri di questa funzione?

I parametri di una singola funzione non possono essere cambiati durante il funzionamento. I parametri sono scelti nella fase di progettazione.

Questa domanda deve essere discussa. Tecnicamente, potete inserire i parametri come variabili esterne di AutoGraf e passarli a AG_AT() tramite array. Ma questo approccio ha degli svantaggi - quanti di questi parametri dovrebbero esserci non è molto chiaro. Un'altra opzione è personalizzata: si possono inserire modifiche ai parametri tramite uno script e variabili globali del cl.terminal.

Comunque, bisogna tener conto che è impossibile visualizzare il pannello delle impostazioni di una funzione separata usando gli strumenti MQL4.

.

>>Dove si trova il file AG_AT.ex4?

È scritto qui http://autograf.dp.ua/Pages/2/26/267/2672.htm. Basta leggerlo.

.

>>Poi scrivi l'istruzione.

>>E' così che si fa. L'intero sito è le istruzioni dettagliate. In particolare:

1. Ogni strumento è presentato su una pagina separata. Per ogni strumento, ci sono regole per i permessi, le restrizioni e i requisiti. (per esempio, un livello sonoro intrumentale non può essere messo su un ordine; un tiro della linea d'ordine non può essere messo sul campo da gioco; uno strumento limitante richiede un tiro di accompagnamento - uno strumento limitante). Sezione AutoGraf 4 >Strumenti.

2. L'intero contenuto di AutoGraf 4 > Gestisci ordini > funzione AT è esattamente quello che ti interessa.

3. Per ogni strumento potete trovare un esempio del suo utilizzo AutoGraf 4 > Gestione ordini > Funzione AT > Esempi di funzioni AG_AT.

.

>>Perché? (a me). Avete bisogno di una descrizione concreta e concisa delle interfacce di questi strumenti per interagire con loro da AG_AT.

Senza questo, non si può comporre il codice per controllare gli strumenti da una funzione utente.

 
Integer писал (а) >>

La battuta era Zuid-Zuid-West e la risposta corretta era - Don't zuid me, point your finger. Qualcosa è venuto fuori:

Non è chiaro, allora, qual è il coinvolgimento del vostro programma in questo?

A cosa serve? (a me). Avete bisogno di una descrizione concreta e concisa dell'interfaccia di questi strumenti per interagire con loro da AG_AT

Sembri essere molto energico...
Secondo me, tutto è abbastanza semplice in linea di principio:
I
lvostro programma riceve queste variabili come input -
int Parol_AT,
double Order[][],
string Object[],
double Instrument[][][],
int Ddraw_Object[][],
double& Tuning[],
double& Manager[][],
string& Message[] )
Qui le variabili senza impersand sono input - visualizzano lo stato attuale del trading,
con impersand - output e con il loro aiuto si formano comandi di gestione degli ordini (piuttosto macro) per l'autografo,
che esegue.
Così, il ruolo dell'autografo è il seguente:
1. Invia lo stato attuale del commercio al vostro programma in una forma molto conveniente per l'analisi
2. Voi analizzate questo stato attuale nel vostro programma e formate dei comandi di lavoro (macro) - azioni di controllo per l'autografo,
che l'autografo compie non appena riceve il controllo dal vostro programma.


Per esempio, un autografo
trova indipendentemente tutti gli ordini e registra tutte le loro caratteristiche in una forma di matrice digeribile doppio Order[][].
Ogni riga di questa matrice rappresenta un ordine. Le colonne in quella linea rappresentano le caratteristiche dell'ordine.
Puoi trovare, per esempio, un ordine che ti interessa dalla sua colonna Magic_Number e, se necessario,
, per esempio, impostare un trailing stop (con le caratteristiche necessarie) per quell'ordine.
Per farlo usate la funzione
int AG_Set_Instr(double& Manager[][], int ii, double v1, double v2, double v3,
doppio v4, doppio v5, doppio v6, int Ticket , int ih)
È necessario impostare lo strumento richiesto per questo ordine e l'auth lo rintraccerà da solo. Tutti questi strumenti hanno i numeri 1, 2,...

Naturalmente, per lavorare è necessario:
1. Studiare gli strumenti che ti interessano
2. studiare la struttura di tutti gli array di input

In linea di principio, è vero che Autograf, eseguendo strumenti e tracciando lo stato attuale del trading, prende su di sé tutta la parte tecnica della scrittura di un Expert Advisor.

Si può parlare di strutture di dati complesse, ma, secondo me, queste strutture sono progettate in modo molto intelligente e naturale.

Quando scrivo gli EA da zero, per così dire, io stesso, per esempio, mi avvicino spesso alla progettazione di tali strutture di dati, e non sono l'unico.

Saluti - S.D.

 

Sart:

На:


Anch'io penso che sia semplice, ma così tanta retorica che non si riesce a vedere la foresta per gli alberi. Una domanda e un mucchio di riferimenti in risposta.

SK:

I parametri di una funzione individuale non possono essere cambiati durante il funzionamento. I parametri sono selezionati nella fase di progettazione.

Oltre la lode!!! E dove metterlo? .... "Gli ussari fanno silenzio!" (© Tenente Rzhevsky)

Il blocco analitico e commerciale è mostrato sul diagramma convenzionalmente

C'è qualcosa di specifico, non convenzionale?

In generale, così tanto testo, e così poco senso, forse si dovrebbe comprare un espansore di mani - per allungare le dita per scrivere solo sull'essenza. Di nuovo, per la 555esima volta avete elencato tutte le funzioni. La persona che non ha nulla a che fare con questo sviluppo, e poi ha risposto, in modo chiaro e conciso (Sart). Ovunque ti giri, vedi quasi lo stesso testo.

Per cancellare o chiudere uno o più ordini definiti dall'utente, bisogna evidenziare con il mouse le linee d'ordine interessate e premere il tasto Canc.

Come funziona? Basta cancellare la linea e l'ordine sarà chiuso immediatamente? Sto facendo un errore? Forse sarebbe meglio sedersi sulla bomba allora?

 
Integer писал (а) >>

Come funziona? Basta rimuovere la linea e l'ordine si chiude immediatamente? Sto facendo un errore? Non sarebbe meglio sedersi sulla bomba allora?

Mercoledì, come se, volessi cancellare la linea verticale e ho erroneamente evidenziato la linea di ordine di vendita per l'euro. Premuto Delet, l'ordine si è chiuso e la linea è stata cancellata.

L'ordine era in piccola perdita, ho rinunciato e sono andato a fumare. Sono tornato dopo 10 minuti e l'euro era già sceso di 100 p.


Ma in generale, devo dire onestamente e francamente, penso che il toolkit SK sia fantastico. Con un po' di mani addosso è semplicemente impossibile perdere.

Ho anche iniziato a sviluppare una nuova tattica di gioco, che è impossibile da implementare senza questo tipo di toolkit reagendo molto rapidamente ai movimenti del mercato.


Non sto dicendo nulla sulla modalità AT, non l'ho studiata in dettaglio. Anche se la prima cosa che ho notato (e lo farete anche voi):

"I parametri di una singola funzione non possono essere cambiati a runtime. I parametri sono selezionati in fase di progettazione".

La password viene trasmessa, ma i parametri no. Potresti almeno fornire una variabile stringa, e non è un problema capire la stringa,

soprattutto perché viene fornito il dialogo del commerciante con il programma AT.