Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 197
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ho guardato il video sul lavoro con l'indicatore esterno, ho scritto un po' di codice per vedere i valori dei buffer nel tester:
void OnTick()
{
double Buf1=iCustom(NULL,0, "Shved-Supply-and-Demand-e600",0,1);
double Buf2=iCustom(NULL,0, "Shved-Supply-and-Demand-e600",1,1);
double Buf3=iCustom(NULL,0, "Shved-Supply-and-Demand-e600",2,1);
double Buf4=iCustom(NULL,0, "Shved-Supply-and-Demand-e600",3,1);
Comment("Buf1=",Buf1,"\n", "Buf2=",Buf2,"\n","Buf3=",Buf3,"\n","Buf4=",Buf4);
}
Le zone appaiono e scompaiono in modalità di visualizzazione. Ma il valore dei buffer è comunque sempre zero. Non c'è modo di formalizzare queste zone nel codice?
Forse c'è una funzione, diversa da iCustom, che sarebbe adatta a tali indicatori? Forse qualcuno ha scritto gufi con tali indicatori?
Non c'è modo di usare i buffer degli indicatori, memorizzano valori frattali.
Nelle proprietà dell'indicatore fractals_show = true; li vedrete sul grafico
Zone, oggetto grafico OBJ_RECTANGLE
Potete ottenere il valore di queste zone usando
ObjectGet
Restituisce il valore di una proprietà dell'oggetto specificato.
doppioObjectGet(
stringaobject_name,// nome dell'oggetto
intindex// identificatore di proprietà
);
Si passa in rassegna tutti gli oggetti, si trova quello giusto e si trova il percorso.
Approssimativamente, appare così
Sai, proprio in questo thread ho postato un template per un trawl che usa il valore dell'indicatore inviatogli nei suoi calcoli. Cercate, non siate pigri.
Ho bisogno di un trailing stop corretto sulle posizioni aperte. Alla fine ce ne sono 1 o 3 e sono legate da un valore Step, cioè sistema stop/reverse. Da qui la complessità. O forse è più facile seguire tutti gli ordini usando la funzione CalculateProfit(). Ora non riesco a capire come il valore dell'indicatore in questo schema di gestione degli ordini possa essere collegato al trailing del profitto totale delle posizioni aperte.
Ho bisogno esattamente del corretto trailing stop sul profitto delle posizioni aperte. Alla fine ce ne sono 1 o 3 e sono legati dal valore Step, cioè è un sistema stop and reverse. Da qui la complessità. O forse è più facile seguire tutti gli ordini usando la funzione CalculateProfit(). Ora non riesco a capire come il valore dell'indicatore in questo schema di gestione degli ordini possa essere collegato al trailing del profitto totale delle posizioni aperte.
L'indicatore, il suo valore, può essere un valore diverso, per esempio, dal MAK sulla barra desiderata. Il valore del prezzo calcolato per spostare lo stop totale delle posizioni può essere inviato al trawl.
Tuttavia, non è chiaro che tipo di pesca a strascico ha sulle posizioni aperte - cosa e quando esattamente pesca a strascico.
Tutti i sentieri sono qui. Dal file TrailingFuncLib.mq4 prendo la funzione TrailingStairs - STANDARD-STANDARD Trailing. Ogni ordine è seguito in modo indipendente.
L'indicatore, il suo valore, può essere un valore diverso, per esempio, dal MAK sulla barra desiderata. Il valore del prezzo calcolato per spostare lo stop totale delle posizioni può essere inviato al trawl.
Tuttavia, non è chiaro che tipo di pesca a strascico ha sulle posizioni aperte - cosa e quando esattamente pesca a strascico.
In linea di principio, sì, una volta mi è stato offerto uno strascico per prezzo medio. Tutto sembra logico, ma cosa significa - prezzo medio? È (prezzo di 1 ordine + Step*Point + (prezzo di 2 ordini + Step*Point) + prezzo di 3 ordini) / 3? Quindi è un sacco di parametri - devi richiamare le posizioni aperte e il prezzo corrente di ogni posizione. Comunque, questo trailing stop mi preoccupa meno del fatto che l'EA perde valore durante i test. Cosa succederà nel trading reale? Può essere impostato, ma di nuovo non sappiamo che piega prenderà il grafico delle valute tra una settimana o un mese, quindi c'è una debolezza - se vengono aperti 3 ordini e c'è un contro-movimento nel mercato, l'Expert Advisor fallirà a causa del drawdown. Quindi, dovremmo pensare a limitare il drawdown e a chiudere le posizioni prima che il deposito si azzeri. Per farla breve, è Fox che mi interessa di più)))
Non riesco a capirlo da solo e non ho nemmeno trovato informazioni specifiche(( L'idea è di segnare i confini dei prezzi nel codice, le zone più vicine costruite dall'indicatore. Ho iniziato a scrivere il codice, ma sono confuso e non so se lo sto facendo bene o no. Non so se lo faccio bene o male.
int obj_total=ObjectsTotal();
string name;
for(int i=0;i<obj_total;i++)
{
name = ObjectName(i);
if(ObjectType(name)==OBJ_RECTANGLE)
{
pr1=ObjectGet(name,OBJPROP_PRICE1);// верхняя цена зоны
pr2=ObjectGet(name,OBJPROP_PRICE2);// нижняя цена зоны
}
}
L'ho capito - apparentemente il terminale non aveva abbastanza memoria - ho chiuso un paio di grafici e ha funzionato.
Grazie - in effetti, i calcoli hanno luogo.
E se le variabili non sono di tipo int, ma bool, cosa fare?
Scusa, ma questo codice è diverso dall'ultimo?
Le differenze sono minime. Una delle variabili è logica.
L'output dirà vero o falso
Le differenze sono minime. Una delle variabili è logica.
L'output dirà vero o falso