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
La funzione isCloseLastPosByStop().
Questa funzione restituisce una bandiera per chiudere l'ultima posizione per stop. La bandiera è alzata - Vero - StopLoss è scattato. Flag abbassato - Falso - la posizione è stata chiusa per un altro motivo. Una selezione più accurata delle posizioni da prendere in considerazione è impostata utilizzando parametri esterni:
Funzione OpenPosition() per l'online.
2008.05.20 04:47:41 !OBLD_EUR_S EURUSD,M30: le chiamate di funzioni esperte non sono consentite; 'stdlib'-'ErrorDescription'
Ho collegato la funzione OpenPosition() nel mio Expert Advisor sul reale, l'errore 4059
L'errore 4059 significa che la funzione non è disponibile in modalità test. L'identificatore di errore è ERR_FUNCTION_NOT_ALLOWED_IN_TESTING_MODE. Le seguenti funzioni generano l'errore: MarketInfo, MessageBox, SendFTP, SendMail, WindowIsVisible, WindowFind, WindowHandle.
ha cambiato NULL in Symbol(), è scomparso, poi è apparso un messaggio
2008.05.20 04:47:41 !OBLD_EUR_S EURUSD,M30: le chiamate di funzioni esperte non sono consentite; 'stdlib'-'ErrorDescription'
La funzione isCloseLastPosByTake().
Questa funzione restituisce una bandiera per chiudere l'ultima posizione al Take Profit. La bandiera è su - Vero - TakeProfit è scattato. Flag abbassato - Falso - la posizione è stata chiusa per un altro motivo. Una selezione più accurata delle posizioni da considerare è specificata utilizzando parametri esterni:
La funzione isLossLastPos().
Questa funzione restituisce il flag di perdita dell'ultima posizione chiusa. Flag up - True - l'ultima posizione è stata chiusa con una perdita. Flags down - Falso - l'ultima posizione è stata chiusa a zero o con un profitto. Questa funzione non considera gli swap e le commissioni. La selezione delle posizioni è definita da parametri esterni:
La funzione isTradeToDay().
Questa funzione restituisce la bandiera commerciale per oggi. Flag è su - Vero - c'erano posizioni aperte oggi. Flag down - Falso - nessuna posizione aperta oggi. La selezione delle posizioni da prendere in considerazione è impostata da parametri esterni:
La funzione isCloseLastPosByStop().
Questa funzione restituisce una bandiera per chiudere l'ultima posizione per stop. La bandiera è alzata - True - StopLoss è scattato. Flag abbassato - Falso - la posizione è stata chiusa per un altro motivo. Una selezione più accurata delle posizioni da prendere in considerazione è impostata utilizzando parametri esterni:
().Pomeriggio . Quando si implementa il codice con questa funzione, è apparsa un po' di confusione. Ho applicato questa funzione in questo modo:
Fino a questo punto tutto funziona bene! Tutte le posizioni BUY sono chiuse e le posizioni BUY sono cancellate, come l'ho definito! Ma poi l'Expert Advisor reimposta gli ordini pendenti secondo i suoi segnali di entrata. Come previsto.
Ma questi ordini vengono immediatamente cancellati! A quanto pare, la bandiera è ancora appesa lì. Ma perché è lì? Le ultime posizioni non sono state chiuse da uno Stop Loss ma dalla forza!
Come devo affrontare questa situazione? Come posso fare in modo che il mio Expert Advisor visualizzi i suoi prossimi ordini normalmente dopo l'esecuzione del comando di chiusura di questo algoritmo?
Cosa devo fare in questa situazione? In modo che l'EA possa piazzare i suoi prossimi ordini normalmente dopo il comando di chiusura?
Questa domanda deve essere affrontata nel contesto dell'intero compito, perché non è solo una singola azione, ma un'interazione, e in un certo ordine. Perciò, descrivete il compito per intero. Non hai bisogno di un codice. Basta descrivere il compito a parole.
Domanda di riscaldamento. Perché devi cancellare gli ordini e rimetterli a posto? Penso che sia preferibile modificare.
I miei ordini e le mie posizioni sono raggruppati in array secondo i profitti, le perdite, gli ordini stop e limit, e altre ragioni.
In questo caso particolare, sto chiudendo l'array di posizioni BUY che sono state aperte con ordini stop e che hanno accumulato un determinato profitto. E cancello tutti gli altri ordini di stop che non hanno funzionato.
//---------------------------------------------------------------------------------------------
Ora ho messo una funzione di commento - Comment (isCloseLastPosByStop());
Guardando. Inizialmente, la funzione =0. Dopo la prima chiusura di uno Stop Loss Comment (isCloseLastPosByStop()); cambia a uno, e poi - dopo la chiusura forzata di altre posizioni, non ritorna a zero, ma continua ad essere uno!