Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1842

 
Buongiorno, vorrei provare le mie forze e scrivere un "semplice" Expert Advisor per una posizione impostata. L'idea è abbastanza semplice: essenzialmente gli ETF non salgono molto, ma non scendono neanche molto, e le fluttuazioni dei prezzi passano attraverso strette gamme due o tre volte all'anno. Inizialmente abbiamo una posizione in ETF e vogliamo ottenere un profitto target del 12,5% sulla posizione acquistata. L'operazione dell'esperto si riduce a impostare una parte insignificante della posizione immediatamente nell'ordine di vendita, per esempio un cinquantesimo di essa di mezzo punto percentuale in più, la parte successiva di un altro mezzo punto percentuale in più, ecc. Dividendo l'intera posizione per il 25% dell'aumento di prezzo (raggiungendo così l'obiettivo del 12,5% per la posizione nel suo complesso). Dopo ogni vendita, piazzate immediatamente un ordine di acquisto per una percentuale minore. Nel tempo, una volta che l'intera posizione è passata attraverso diversi round, il suo prezzo medio di acquisto (effettivo) sarà più basso, e l'obiettivo sarà raggiunto prima. Naturalmente, se il prezzo dell'intero asset scende sotto il prezzo di acquisto, la posizione viene riempita usando lo stesso principio, ma in ordine inverso, prima comprando, poi vendendo. Poiché le fluttuazioni non si verificano durante il giorno, l'ordine dovrebbe essere spostato al prossimo giorno di negoziazione tra un mese o due.
Domanda per le persone competenti su come implementare al meglio? Forse c'è un posto dove si può scrivere parte del codice?
 
Кирилл Якимов ordine di vendita, per esempio un cinquantesimo di essa di mezzo punto percentuale in più, la parte successiva di un altro mezzo punto percentuale in più, ecc. Dividendo l'intera posizione per il 25% dell'aumento di prezzo (raggiungendo così l'obiettivo del 12,5% per la posizione nel suo complesso). Dopo ogni vendita, piazzate immediatamente un ordine di acquisto per una percentuale minore. Nel tempo, una volta che l'intera posizione è passata attraverso diversi round, il suo prezzo medio di acquisto (effettivo) sarà più basso, e l'obiettivo sarà raggiunto prima. Naturalmente, se il prezzo dell'intero asset scende sotto il prezzo di acquisto, la posizione viene riempita usando lo stesso principio, ma in ordine inverso, prima comprando, poi vendendo. Poiché le fluttuazioni non si verificano durante il giorno, l'ordine dovrebbe essere spostato al prossimo giorno di negoziazione tra un mese o due.
Domanda per le persone competenti su come implementare al meglio? Forse c'è un posto dove si può scrivere parte del codice?

Un sacco di "acqua" inutile...

Prima scrivi un "semplice EA" che piazza solo un ordine, poi chiedi aiuto per perfezionarlo.

Così com'è, il tuo testo sembra "scrivimi"!

 
Tretyakov Rostyslav #:

Perché non usare iLowest?

In questo caso, puoi fare anche questo.

 

Кирилл Якимов #:
Доброго дня, хочу попробовать свои силы и написать "простого" эксперта ...

...

Domanda per le persone competenti su come implementare al meglio? Forse c'è un posto dove si può scrivere parte del codice?

Esperto semplice:https://www.mql5.com/ru/code/103

Altri risultati

Simple MA Expert Advisor
Simple MA Expert Advisor
  • www.mql5.com
Простой эксперт для тех, кто хочет попробовать новый тестер стратегий.
 
Tretyakov Rostyslav #:

Un sacco di "acqua" inutile...

Prima scrivi un "semplice esperto" che metta solo un ordine, e poi chiedi aiuto per perfezionarlo.

Così com'è, il tuo testo sembra "scrivimi"!

Fare un ordine, fare un ordine secondo un certo schema non è affatto una raffinatezza. Non so come tenere traccia degli ordini effettuati e chiusi. Il prezzo cambia, non è detto che con l'apertura di un nuovo giorno il prezzo non salti qualche ordine. E ci sono molte altre sfumature. La tabella delle operazioni non permette di confrontare il numero di titoli comprati e venduti allo stesso prezzo.
 

Buona giornata

Ecco un semplice codice che imposta una linea verticale che mostra l'inizio dello scambio per la visualizzazione

ObjectCreate(0,"Начало торговли",OBJ_VLINE, 0, Time[0] + (StartTime*3600), 0);
ObjectSetInteger(0,"Начало торговли",OBJPROP_COLOR, clrBlue);
extern int                  StartTime                      = 2;         // Начало торговли

Non riesco a capire perché la linea verticale è impostata secondo - (StartTime - il valore di una barra)


 
Кирилл Якимов #:
Non so come tenere traccia delle voci e delle chiusure.

Beh, è una lunga spiegazione https://www.mql5.com/ru/docs/trading

Документация по MQL5: Торговые функции
Документация по MQL5: Торговые функции
  • www.mql5.com
Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
EVGENII SHELIPOV #:

Buona giornata

Ecco un semplice codice che imposta una linea verticale che mostra l'inizio dello scambio per la visualizzazione

Non riesco a capire perché la linea verticale è impostata secondo - (StartTime - il valore di una barra)


Prova questo e mostra uno screenshot del risultato
extern int nBars = 10;

...
ObjectCreate(0,"Начало торговли",OBJ_VLINE, 0, Time[0] + PeriodSeconds(PERIOD_CURRENT) * nBars, 0);
 
Кирилл Якимов #:
Fare un ordine e basta, fare ordini secondo un certo schema non è affatto un risultato. Non so come tenere traccia degli ordini effettuati e chiusi. Il prezzo cambia, non significa necessariamente che con l'apertura di un nuovo giorno il prezzo non salti diversi ordini. E ci sono molte altre sfumature. La tabella delle operazioni non permette di confrontare il numero di titoli comprati e venduti allo stesso prezzo.

Per piazzare gli ordini secondo un certo schema, bisogna fondamentalmente sapere come si fanno gli ordini. E poi si forma una condizione per piazzare gli ordini.

Bisogna risolvere il problema passo dopo passo e ci sono molte sfumature.

 
Mihail Matkovskij #:

Beh, ci vuole molto tempo per spiegare https://www.mql5.com/ru/docs/trading

Se vuoi imparare a scrivere robot, inizia con uno semplice:

Mihail Matkovskij #:

Esperto semplice:https://www.mql5.com/ru/code/103

Altri risultati