[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 569
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
rigonich,
per essere precisi (OrderProfit()+OrderCommission()+OrderSwap()
Quindi, come posso prendere informazioni da ordini chiusi?
Seleziono gli ordini usando OrderSelect() e MODE_HISTORY tra quelli chiusi, ma come posso selezionare quelli necessari?
Se posso prendere dalla storia quelli che hanno chiuso dopo la mia condizione, allora naturalmente prenderò e riassumerò quello che mi serve. Ma non capisco come farlo, purtroppo.
Di cosa avete bisogno? Per esempio, ricorda la data di apertura del primo ordine sullo strumento da parte del tuo EA e seleziona tutti quelli aperti dopo di esso, reimposta il valore della variabile dopo la chiusura per condizionee ricorda il nuovo valore (attuale).
Si prega di avvisare.
Nel mio EA, il calcolo dell'uscita si basa sul profitto accumulato. Per esempio, se in un certo momento equity=balance, allora l'EA chiuderà tutti i trade quando l'equity attuale supera questo iniziale. Chiuderà tutte le transazioni, non importa quante ce ne siano.
Nel tester è semplice, dato che c'è una sola coppia di valute.
Tuttavia, il trading viene realisticamente effettuato con diverse valute e ognuna deve essere considerata separatamente. Per esempio: se non ci sono operazioni aperte su una coppia di valute, allora la variabile==0. E dovremmo tracciare anche i trade chiusi di questo simbolo e aspettare fino a quando il profitto accumulato supera la perdita degli ordini aperti di questo simbolo del valore specificato.
Non riesco a trovare nel tutorial una funzione che possa essere utilizzata per separare la contabilità dei profitti accumulati per diverse valute. Si prega di avvisare. Grazie.
https://www.mql5.com/ru/forum/131859/page3#434223 qui, e anchehttps://www.mql5.com/ru/forum/131859/page3#434222
Non posso scrivere una condizione aggiuntiva per aprire una posizione secondo la mia idea.
Se chiudo una posizione con TP o SL dovrebbe riaprire con la posizione opposta.
Esempio: se una posizione Sell, diciamo SL, è chiusa, riaprirà una posizione Sell insieme ad essa e Buy
Ecco 2 condizioni dall'Expert Advisor:
condizione per comprare
if (BUY)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)OPENORDER ("Buy");
}
sell condition
if (SELL)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_SELL,Magic)<MaxOrders)OPENORDER ("Sell");
}
Chi capisce questo, per favore mi aiuti a scrivere la condizione aggiuntiva
Per spostare a sinistra -- F12, a destra -- non lo so.
RigonichGrazie, è un ottimo consiglio! Proprio quello di cui ho bisogno!
Non ci ho fatto niente, ancora non funziona ((((
Funziona solo se il prezzo va in una direzione allora si apre e se il prezzo gira non si apre((
Aiutami a scrivere una condizione per aprire una posizione.
Non posso scrivere una condizione aggiuntiva per aprire una posizione secondo la mia idea.
Se chiudo una posizione con TP o SL, voglio che si apra una nuova posizione con il valore opposto.
Esempio: se una posizione Sell è stata chiusa da SL, riaprirà una posizione Sell insieme ad essa e Buy.
Ecco 2 condizioni dell'EA:
Acquista condizione
se (COMPRA)
{
se (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); altrimenti TP=0;
se (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); altrimenti SL=0;
se(NumeroOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)
}
Vendere condizione
se (VENDERE)
{
se (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); altrimenti TP=0;
se (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); altrimenti SL=0;
se(NumeroPosizioni(Simbolo(),OP_SELL,Magic)<MaxOrdini)
}
Chi capisce questo, per favore mi aiuti a scrivere condizioni aggiuntive
Mi dispiace, ma nei file allegati hai un file compilato, non il file sorgente. Non è possibile visualizzarlo. Per favore invia il file con l'estensione .mq4