[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 147
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
I professionisti non passano, hanno bisogno del tuo aiuto. Il bot sta aprendo una posizione di vendita, quindi questa posizione dovrebbe essere chiusa di seguito, vedere il codice e dove la posizione di vendita dovrebbe essere chiusa, la posizione di acquisto dovrebbe essere aperta, il numero di posizioni aperte dovrebbe essere 1 (OrdersTotal()). La domanda è, come fare qualcosa come una coda di esecuzione degli ordini: prima una posizione di vendita dovrebbe chiudersi e poi una posizione di acquisto dovrebbe aprirsi e il numero di posizioni aperte dovrebbe essere uguale a 1?
Voglio dire che è impostato solo su un buffer e non su una variabile esterna
quindi usa questo indicatore_coloreN
Voglio dire che è impostato solo su un buffer, non su una variabile esterna
Non si può fare in MQL. Ma se è MOLTO, MOLTO necessario, allora certamente può essere fatto ))))
non sai nemmeno di cosa hai bisogno...
Sono sicuro che le esigenze di Eddy possono essere risolte con MQL
Non sai nemmeno di cosa hai bisogno...
Sono sicuro che i bisogni di eddy sono risolti da MQL
No, ho capito... ha bisogno di ottenere il colore di disegno dal buffer dell'indicatore programmaticamente nel codice dell'indicatore (giusto, Eddy?). Per quanto ne so, questo non è possibile in MQL.
basta usare il parametro indicator_colorN. Si può dire che è la stessa variabile.
forse.
basta usare il parametro indicator_colorN. Si può dire che questa è la stessa variabile.
noooooo.
Supponiamo di avere un indicatore che disegna una linea. Supponiamo di voler disegnare un cerchio con questo indicatore. Ma vogliamo renderlo verde se la linea dell'indicatore è verde, e rosso se è rosso.
Signori programmatori, per favore consigliate come chiudere correttamente tutti gli ordini. Di seguito il problema da risolvere e ciò che è stato consigliato di fare. Tutto sommato, tutto funziona, tranne gli ordini di chiusura e l'impostazione di bandiere per vietare il trading.
Sono sicuro che ci sono programmatori esperti tra di voi. Per favore aiutatemi a scrivere le seguenti condizioni nel mio Expert Advisor:
1) С+=Profitto sull'ordine(1)+Profitto sull'ordine(2)+...+Profitto sull'ordine(n) - profitto totale su tutti gli ordini aperti nel tempo corrente.
2) C-=(c+)perdita su ordine(1)+perdita su ordine(2)+...+perdita su ordine(n) - somma delle perdite su tutti gli ordini aperti al momento attuale.
3) X=(c+)/(c-) - l'attuale rapporto profitti/perdite
4) Se il capitale (S) moltiplicato per il rapporto profitti/perdite (X) è superiore al valore impostato specificato (K), sei pronto a fare trading. (Se S*X>K, OK)
5) Se l'Equity (S) moltiplicato per il rapporto Profit/Loss (X) è inferiore al Target definito (K), allora tutti gli ordini aperti alle quotazioni correnti saranno chiusi e l'Expert Advisor sarà disabilitato fino a quando non sarà abilitato di nuovo manualmente. (S*X<K, chiudere tutti gli ordini e via)
Mi sembra che questa sarebbe una buona protezione contro le perdite di denaro.
Sembra così. Creiamo due funzioni che contano profitti e perdite:
double CalculateProfitTotal()
{
double Result = 0;
for(int i = 0; i < OrdersTotal(); i++)
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if(OrderProfit() > 0)
Result = Result + OrderProfit();
return(Result);
}
double CalculateLossTotal()
{
double Result = 0;
for(int i = 0; i < OrdersTotal(); i++)
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if(OrderProfit() < 0)
Result = Result + MathAbs(OrderProfit());
return(Result);
}
Nella funzione start(), scrivete le vostre condizioni.
Per esempio:
X = CalculateProfitTotal() / CalculateLossTotal();
if(AccountEquity() * X < K)
{
//Chiude tutti gli ordini e
//imposta il flag che vieta il commercio
return(0);
}
Supponiamo di voler disegnare un cerchio come indicatore. Ma vogliamo renderlo verde se la linea dell'indicatore è verde
quindi voglio creare un oggetto in blu)
sergeev, quindiindicator_color1 è una variabile di colore?