[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 23

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
Il mio codice rende più facile determinare il numero di iterazioni tramite ArrayRange.
Perché ottengo 0 quando scrivo xDelH[countDH][0]=HBar[countH][0]; (anche se HBar[countH][0] è già pieno e ha il suo valore)? Posso fare tutto questo?
Per favore, ditemi quale funzione ricorda il prezzo Take Profit dell'ultimo ordine aperto
Se avete bisogno di ricordare esattamente, basta salvare il valore diTakeProfit in una variabile ogni volta che aprite un ordine.
Ho solo bisogno di
//media calcolando il prezzo medio
double averageprice = NormalizeDouble(sum/allots, Digits);
//modifica tutti gli ordini della serie spostando lo stesso TakeProfit per ogni ordine aperto
for ( trade = OrdersTotal() - 1; trade >= 0; trade-- )
{
if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
{
//prendere profitto per un ordine BUY
if ( OrderType() == OP_BUY) tp = averageprice + TP * Point;
//prendere profitto per un ordine SELL
if ( OrderType() == OP_SELL) tp = averageprice - TP * Point;
//modifica l'ordine appartenente alla serie
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow);
}
}
}
ha modificato i vecchi ordini, cambiato il loro TakeProfit con il TakeProfit del nuovo ordine aperto (se il prezzo chiude l'ultimo ordine a Stop allora anche tutti gli ordini precedenti saranno chiusi)
Ho solo bisogno di
//una media calcolando il prezzo medio
double averageprice = NormalizeDouble(sum/allots, Digits);
//modifica tutti gli ordini della serie spostando lo stesso TakeProfit per ogni ordine aperto
for ( trade = OrdersTotal() - 1; trade >= 0; trade-- )
{
if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
{
//Profitto per ordine BUY
if ( OrderType() == OP_BUY) tp = averageprice + TP * Point;
//prendere profitto per un ordine SELL
if ( OrderType() == OP_SELL) tp = averageprice - TP * Point;
//modificare un ordine che appartiene alla serie
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow);
}
}
}
modificare i vecchi ordini, cambiare il loro TakeProfit in TakeProfit di un nuovo ordine aperto (se il prezzo chiude l'ultimo ordine allo stop, si chiuderanno anche tutti gli ordini precedenti)
I precedenti si chiudono se si imposta un unico stoploss per tutta la serie. Questo aiuterà a salvare il profitto ottenuto con questi ordini, o a ridurre la perdita se il prezzo è cambiato. Se si lascia lo stop loss diverso per ogni ordine (senza cambiarlo), allora solo un ordine sarà chiuso. Il valore di TakeProfit per gli altri ordini della serie dovrà essere ricalcolato o impostato uguale al valore precedente.
Come controllate il valore di xDelH[countDH][0] dopo questa operazione di assegnazione?
Tramite stampa
Buona giornata!!! Sapete, faccio due ordini con questo posto - per progetto, uno con una fermata e uno senza. Nel tester, entrambi sono cancellati!!!!
Non ho assolutamente idea di cosa stia succedendo qui.
Buona giornata!!! Sapete, faccio due ordini con questo posto - per progetto, uno con uno stop e uno senza. Nel tester, entrambi sono cancellati!!!!
Non ho assolutamente idea di cosa stia succedendo qui.
Guarda bene, hai impostato lo stoploss per entrambi e il takeprofit per uno solo. Quindi è come hai scritto: entrambi saranno chiusi allo stoploss e solo uno sarà chiuso al takeprofit.
Buona giornata!!! Sapete, faccio due ordini con questo posto - per progetto, uno con uno stop, l'altro senza. Nel tester, entrambi sono cancellati!!!!
Non ho assolutamente idea di cosa stia succedendo qui.