[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 46
Se conoscete la funzione per calcolare il saldo totale delle perdite delle posizioni CHIUSE per SL e il saldo totale dei trade redditizi APERTI, scrivete per favore.
Il calcolo del saldo delle perdite deve partire dall'ultimo valore massimo del deposito
Ciao, il mio Expert Advisor mette degli stop in sospeso. Quando controllo nel tester solo SELL_STOP funziona, invece di BUY_STOP appare un errore Order Send error/ Error opening Buy order:130.
externint TrailingStop=30;
//-----------------------------------------------------------------------------------------------+for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELLSTOP && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
if(OrderType()==OP_BUY) // long position is opened
{
// check for trailing stopif(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
else// go to short position
{
// check for trailing stopif(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
return(0);
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELLSTOP && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
if(OrderType()==OP_BUY) // long position is opened
{
Come faccio a sapere se gli ultimi ordini 1-2-3 sono stati perdenti?
E in generale, come faccio a sapere qual è stato l'ultimo ordine?
Recentemente ho scritto una funzione che, nel caso dell'ultimo ordine perdente, restituisce il tipo di questo ordine. In altre parole, se fHistory() == 0, l'ultimo ordine perdente era Comprare, fHistory() == 1, l'ultimo ordine perdente era Vendere. Se vogliamo tracciare gli ordini redditizi, allora cambiate il segno nella linea in questo modo: if(OrderProfit() > 0 ).
//+----------------------------------------------------------------------------+// Прибыльно или убыточно закрылся последний ордер, и возврат типа такого ордераint fHistory(){
for(int i=OrdersHistoryTotal(); i >= 0; i--){ // Выборка в историиif (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true){ // Если есть следующий в историиif(OrderMagicNumber()!=magN) continue; // Ордера не нашего экспертаif(OrderProfit() < 0 ) return (OrderType()); // Если убыток по посл.ордеру вернем тип ордера
}
}
return(-1);
}
La variabile magN è l'ordine magico dichiarato globalmente.
Se conoscete la funzione per calcolare il saldo totale delle perdite delle posizioni CHIUSE per SL e il saldo totale dei trade redditizi APERTI, scrivete per favore.
Il calcolo del saldo delle perdite deve partire dall'ultimo valore massimo del deposito
Buon pomeriggio!!! La mia funzione è imprecare con quaranta parolacce - evidentemente non ne sapevo molto, e ho anche dimenticato come inventare
Buon pomeriggio!!! La mia funzione è imprecare con quaranta parolacce - evidentemente non ne sapevo molto, e ho anche dimenticato come inventare
Diman! Buona notte! Hai bisogno di riposo, non per una funzione, ma per qualche stronzata che hai scritto...
Ti dico che non mi ricordo. Lo scriverò. Ordini. Cosa non piace al compilatore?
Non è così che si scrivono le f-i. Leggere il libro di testo.
Ciao, il mio Expert Advisor mette degli stop in sospeso. Quando controllo nel tester solo SELL_STOP funziona, invece di BUY_STOP appare un errore Order Send error/ Error opening Buy order:130.
Aiutami a trovare la ragione!
La ragione è la mancanza di logica!
Come capire? Se CELLSTOP, cosa c'entra BAI?Come faccio a sapere se gli ultimi ordini 1-2-3 sono stati perdenti?
E in generale, come faccio a sapere qual è stato l'ultimo ordine?
Recentemente ho scritto una funzione che, nel caso dell'ultimo ordine perdente, restituisce il tipo di questo ordine. In altre parole, se fHistory() == 0, l'ultimo ordine perdente era Comprare, fHistory() == 1, l'ultimo ordine perdente era Vendere. Se vogliamo tracciare gli ordini redditizi, allora cambiate il segno nella linea in questo modo: if(OrderProfit() > 0 ).
La variabile magN è l'ordine magico dichiarato globalmente.