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
Ciao Mladen, come sempre, u rock!
Terrance Usa Close[0] in questo caso. Quasi tutti gli EA usano close per questo scopo, quindi penso che funzionerà anche per te
...
Se il tuo EA viene eseguito solo all'inizio della barra, possono esserci un paio di ragioni:
Ho notato che il mio EA non funziona tra il movimento del prezzo nel time frame M1. So che l'EA verrà eseguito ogni tick in arrivo.
Ma ho visto che viene eseguito ogni volta che inizia una nuova barra.
Ho capito male?
C'è un modo per forzare l'ea ad attivare ogni tick in arrivo?
Cerco di controllare i miei profitti e le mie perdite utilizzando i profitti e le perdite non in pip. Quando si verifica un picco l'EA non chiude l'ordine quando raggiunge l'impostazione dei profitti o delle perdite fino a quando non si verifica una nuova barra.
Qualcuno mi aiuti a risolvere questo problema.
Sono nuovo per la codifica degli EA.
Grazie in anticipo.Grazie, mladen.
Proverò il tuo suggerimento.
Saluti dei codificatori,
Ho bisogno di assistenza per trovare una funzione EA che controlli l'esecuzione dell'ordine in modo che un ordine non possa essere aperto se esiste già un ordine allo stesso prezzo.
logica semplice: se il prezzo di apertura dell'ordine e il tipo di ordine = un prezzo di apertura dell'ordine esistente e il tipo di ordine, allora esci e cerca il prossimo criterio di entrata
Inoltre, ho bisogno di una funzione che impedisca l'esecuzione di un ordine se si trova a x pip di distanza da un prezzo già esistente.
logica semplice: se il prezzo aperto dell'ordine e il tipo sono < l'ultimo prezzo aperto dell'ordine e il tipo + x pips, allora esco e cerco il prossimo criterio di entrata
Grazie,
Pip
...
Provate queste 2 funzioniEntrambi restituiscono true se il prezzo è uguale o se la distanza dal prezzo di alcuni ordini attualmente aperti è compresa nella distanza specificata
{
for (int i=OrdersTotal()-1; i>=0 ; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderMagicNumber()!=magicNumber) continue;
if (CompareDouble(OrderOpenPrice(),price)) return(true);
}
return(false);
}
//
//
//
//
//
bool existsAtApproximatePrice(int magicNumber, double price, double distance)
{
for (int i=OrdersTotal()-1; i>=0 ; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
if (OrderSymbol()!=Symbol()) continue;
if (OrderMagicNumber()!=magicNumber) continue;
if (MathAbs(OrderOpenPrice()-price)< distance) return(true);
}
return(false);
}
//
//
//
//
//
bool CompareDouble(double val1, double val2)
{
return(NormalizeDouble(val1,Digits)==NormalizeDouble(val2,Digits));
}
Saluti Dei Codificatori,
Ho bisogno di assistenza per trovare una funzione EA che controlli l'esecuzione dell'invio degli ordini in modo che un ordine non possa essere aperto se esiste già un ordine allo stesso prezzo.
logica semplice: se il prezzo di apertura dell'ordine e il tipo di ordine = un prezzo di apertura dell'ordine esistente e il tipo di ordine, allora esci e cerca il prossimo criterio di entrata
Inoltre, ho bisogno di una funzione che impedisca l'esecuzione di un ordine se si trova a x pip di distanza da un prezzo già esistente.
logica semplice: se il prezzo aperto dell'ordine e il tipo sono < l'ultimo prezzo aperto dell'ordine e il tipo + x pips, allora esco e cerco il prossimo criterio di entrata
Grazie,
PipPossono esserci un paio di ragioni, ma le più comuni sono:
Ciao!
Grazie per l'aiuto!
Quindi, se ho capito bene, se inserisco TakeProfit e StopLoss in OrderSend come "regole" esterne, questo EA funziona bene solo su broker Non-ECN?
scusate il mio inglese
...
Sì
Con ECN/STP come broker devi aprire un ordine con stop loss e/o take profit impostato a 0 e quando l'ordine è già aperto, solo allora puoi modificare stop loss e/o take profit
Ciao!
Grazie per l'aiuto!
Quindi, se ho capito bene, se inserisco TakeProfit e StopLoss in OrderSend come "regole" esterne, questo EA funziona bene solo su broker Non-ECN?
scusa per il mio ingleseSi Con ECN/STP come broker devi aprire un ordine con stop loss e/o take profit impostato a 0 e quando l'ordine è già aperto, solo allora puoi modificare stop loss e/o take profit
Grazie ancora, quindi... come posso risolvere questo problema?
...
Come ho detto, devi farlo in 2 passi:
Quindi, il codice deve essere modificato per fare il lavoro in 2 passi, invece che in uno
Grazie ancora, quindi... come posso risolvere questo problema? scusa
Nuovo per la codifica
Ciao a tutti,
Sono nuovo nella codifica e sto lentamente imparando il linguaggio e la sintassi, ma ho una domanda su come MT4 aggiorna le variabili.
Ho provato a codificare un semplice EA che mostra il profitto più alto che un trade attualmente aperto ha avuto e dovrebbe aggiornarsi solo se viene raggiunto un nuovo massimo, ma quello che sta succedendo è che l'importo si sta muovendo verso il basso e verso l'alto come fa il profitto, non riesco a vedere il mio errore nella logica del codice.
Controllo per assicurarmi che il trade selezionato sia ancora aperto
t_CloseTime=OrderCloseTime(); //restituisce 0 se l'ordine non è chiuso
if(t_CloseTime==0) //l'ordine è chiuso se non è zero.
{
if(OrderProfit() > LastProfitHigh) LastProfitHigh=OrderProfit();
if(LastProfitHigh >= MinProfit && MinProfitReached==false) MinProfitReached=true;
}//endif
Quindi se la logica è corretta perché questa variabile "LastProfitHigh" va su e giù....
Grazie per il vostro aiuto.