Buy stop Sell stop Grid advisor come classe

 

Sto aprendo un progetto

Bozza Buy stop Sell stop Grid advisor come classe

Per testare una strategia per lavorare con ordini di stop pendenti.

L'essenza del commercio: all'inizio mettiamo due ordini pendenti stop (Buy stop e Sell stop). Se uno è scattato, allora cancella il secondo (lo modificheremo più tardi, ma per ora, cancellalo semplicemente) e ancora due ordini pendenti di stop.

Il significato: un insieme di posizioni in accordo con la tendenza.

Screenshot (risultato quando c'è una tendenza e diversi ordini pendenti sono scattati):

Comprare stop Vendere stop Griglia

(un po' più tardi...).


Come accedere al codice completo: SOLO attraverso la connessione al progetto, mentre i pezzi saranno ovviamente in discussione in questo thread. L'EA stesso sarà sotto forma di classe (*.mqh).


Aggiunto:

Quando l'EA è in esecuzione, i dati vengono scritti in un array in OnTradeTransaction. Il formato di registrazione è il seguente: se abbiamo una posizione Buy, registriamo '+1'; se abbiamo una posizione Sell, registriamo '-1'.

Verifichiamo l'idea di piramide (nel caso in cui una posizione sia stata aperta in direzione della precedente)

 
Vladimir Karputov:

Sto aprendo un progetto per testare una strategia per lavorare con ordini di stop in sospeso.

L'essenza del commercio: all'inizio mettiamo due ordini pendenti stop (Buy stop e Sell stop). Se uno è scattato, allora cancella il secondo (lo modificheremo più tardi, ma per ora, cancellalo semplicemente) e ancora due ordini pendenti di stop.

Il significato: un insieme di posizioni per tendenza.

Immagine:

(un po' più tardi...).


Come accedere al codice completo: SOLO attraverso la connessione al progetto, mentre i pezzi saranno ovviamente in discussione in questo thread. L'Expert Advisor stesso sarà sotto forma di una classe (*.mqh).


Attualmente sto facendo qualcosa di simile all'ordine, solo più complicato

 

Seguirò il progetto con interesse...

 
Vasily Bykov:

Seguirò il progetto con interesse...


Per favore chiarisci, vuoi essere collegato al progetto(Progetti - MetaEditor) ?

Проекты - Справка по MetaEditor
Проекты - Справка по MetaEditor
  • www.metatrader5.com
MetaEditor позволяет программистам вести совместную разработку приложений на MQL4/MQL5 удаленно. Специально для этих целей в нем предусмотрены...
 

Ciao!


Tali robot sono conosciuti e disponibili. E qual è lo scopo del suo progetto?
 
Alexander Ivanov:

Ciao!


Tali Expert Advisors sono noti per esistere. E qual è lo scopo del suo progetto?

Gli obiettivi principali sono descritti sopra:

  • è creare un EA come una classe separata
  • sviluppo di progetti(Progetti - MetaEditor)
  • testare una strategia di trading su ordini pendenti stop

Проекты - Справка по MetaEditor
Проекты - Справка по MetaEditor
  • www.metatrader5.com
MetaEditor позволяет программистам вести совместную разработку приложений на MQL4/MQL5 удаленно. Специально для этих целей в нем предусмотрены...
 

Trovo l'argomento interessante. Prima di tutto, la condizione "come classe".

Il mio "puramente come classe" non ha funzionato. L'architettura del sistema include il Main Template, che contiene le funzioni standard OnInit(), OnTick(), ecc. Inoltre, dichiara un oggetto di classe CExpert - che ha funzioni - membri di classe, che sono gestori di tutti questi eventi. Nel template Main - le funzioni membro sono chiamate da funzioni standard.

Quindi, abbiamo già "non puramente sotto forma di classe", perché ci sono funzioni standard, da cui vengono chiamati i gestori di eventi della classe EA.

E in questa architettura, se vogliamo sostituire questa classe EA, dovremo riscrivere l'intero file template. L'Expert Advisor come classe" dovrebbe essere così: dichiariamo una classe EA (tutta la sua descrizione è nei file di inclusione), includiamo un modello - e questo è tutto.

In altre parole, si scopre che nel template, ci dovrebbero essere funzioni standard, un oggetto hub che collega l'EA a queste funzioni standard, e poi il file principale può essere ridotto alla "struttura corretta" - dichiarando un oggetto EA e collegando il template. In questo caso, nel file principale, dichiariamo un oggetto EA, colleghiamo il template principale, l'oggetto hub registra un oggetto e collega le sue funzioni handler nel template principale alle funzioni evento standard.

È anche possibile implementare molti TC in un solo EA - per questo, vengono dichiarati diversi oggetti EA e la classe Hub li collega tutti alle funzioni principali, e lavorano indipendentemente l'uno dall'altro (naturalmente, quando si collegano, si deve controllare la differenza dei maghi, e gli stessi EA devono selezionare le posizioni dei loro maghi).


A proposito di "collegami al progetto" - sono pronto a collegarmi in modalità di sola lettura - è improbabile che scriva qualcosa, ma posso guardare, suggerire qualcosa, segnalare errori.

 
George Merts:

***

E inoltre, in questa architettura, se vogliamo sostituire proprio questo consigliere di classe, dovremo riscrivere l'intero file template. L'"EA come classe" dovrebbe essere così: dichiariamo una classe EA (tutta la sua descrizione - nei file include), colleghiamo il modello - e questo è tutto.

***

... collegare il modello e passare i parametri di input alla classe Expert Advisor


George Merts:

***

A proposito di "collegami al progetto" - pronto a connettermi in modalità di sola lettura - è improbabile che io scriva qualcosa, ma per guardare, per offrire qualcosa, per indicare gli errori - posso.


Fatto, collegato.

 
Vladimir Karputov:

... collegare il modello e passare i parametri di input alla classe EA



Fatto, collegato.

О ! Ce l'ho. Ho i file. Quando avrò tempo, vedrò cosa c'è.

 
Ibragim Dzhanaev:

Chi non sa programmare, non può partecipare?


Chiunque può partecipare, ma solo chi vuole unirsi al progetto(Progetti - MetaEditor) avrà accesso al codice COMPLETO. Ci sarà una discussione sul progetto, quindi l'opinione di chiunque (programmatore o utente) sarà preziosa.

Проекты - Справка по MetaEditor
Проекты - Справка по MetaEditor
  • www.metatrader5.com
MetaEditor позволяет программистам вести совместную разработку приложений на MQL4/MQL5 удаленно. Специально для этих целей в нем предусмотрены...
 
Ibragim Dzhanaev:

Non so programmare, ma ho costruito la tua idea per il 4.



Qui c'è solo mql5. Il vecchio terminale non cita.