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
matrixebiz, hai considerato la possibilità che un trade si apra e si chiuda nella stessa candela prima che la candela si sia chiusa? probabilmente dovresti controllare anche la lista della cronologia.
Ho sempre portato questa piccola funzione che ho scritto in tutti i miei EAs, forse la puoi trovare utile anche tu.
bool DecideToOpenTrade()
{
int total = OrdersTotal();
if (total > 0)
{
for(int cnt=0;cnt<total;cnt++)
{
if(OrderSelect(cnt,SELECT_BY_POS))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber() == EA_MAGIC_NUM)
{
return (false);
}
}
}
}
// in case trades has already opened and closed within the candle
int histotal = OrdersHistoryTotal();
if (histotal > 0)
{
for(cnt=0;cnt<histotal;cnt++)
{
if(OrderSelect(cnt,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber() == EA_MAGIC_NUM)
{
if (Time[0] <= OrderOpenTime()) // don't open a new position if we're still on the same candle
{
return (false);
}
}
}
}
}
return (true);
}
int start()
{
// some time check codes first.. blah blah
// ...
// ...
// ...
// check signals
if (Should_Buy())
{
if (DecideToOpenTrade())
{
//... trade opening codes here
}
}
if (Should_Sell())
{
if (DecideToOpenTrade())
{
//... trade opening codes here
}
}
}
nota: questa funzione presuppone che tu abbia impostato un valore unico a EA_MAGIC_NUM. In questo modo il controllo non guarderà i trade aperti da altri EA.
Should_Buy() e Should_Sell() sono funzioni che creo in tutti i miei EA per determinare se si è verificato un segnale di acquisto o di vendita.
Spero che questo aiuti. Scrivimi un PM se hai bisogno di ulteriori chiarimenti.
saluti,
ZenGrazie Zen Penso che questo andrà bene per me probabilmente ho solo bisogno di fare alcune modifiche perché il mio EA è un EA di trading multi valuta quindi questo è il motivo per cui non ero in grado di controllare una valuta specifica non sapendo con quale coppia di valute l'EA aveva negoziato, da qui il motivo per cui il codice che devo cambiare per cercare uno specifico OrderComment() invece di quello che hai OrderSymbol(). Stavo usando questo codice qui sotto per controllare se i trade esistevano già al momento, ma avevo problemi a controllare se i trade erano già chiusi sulla stessa barra.
for(int i=totalorders-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
if (OrderComment() == EA_Name + MagicNumber) GoOrders = false; }
if (GoOrders){orders();}
1 trade per segnale
Ciao a tutti quelli che possono aiutare
sono molto nuovo nel campo della codifica e sto avendo un problema con un'ea su cui sto lavorando, mi piacerebbe molto che questa ea piazzasse un trade e poi aspettasse un altro segnale prima di entrare in un altro trade
in questo momento piazza un trade e appena questo trade si chiude rientra in un altro trade senza aspettare il prossimo segnale ora vorrei sapere se qualcuno conosce il codice che uso per aspettare il prossimo segnale prima di entrare di nuovo
grazie per qualsiasi aiuto in anticipo
Per favore aiutatemi a cancellare questo errore
Sto lavorando su questo esperto di recente, ma ancora non riesco a cancellare questo errore, quindi spero davvero che qualcuno qui dentro possa aiutarmi a far sì che questo esperto chiuda un ordine quando la condizione è nella direzione opposta.
di seguito sono l'errore;
2009.01.07 08:46:58 2008.05.28 04:20 USDJPY,H1: ticket 197 sconosciuto per la funzione OrderClose
2009.01.07 08:46:58 2008.05.28 04:20 USDJPY,H1: OrderClose errore 4108
grazie in anticipo.
int start()
{
if( iMA(NULL,0,5, 0,MODE_EMA, PRICE_CLOSE, 0) <iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0)
)
{
OrderSend(Symbol( ),OP_SELL, Lots,Bid, 0,Bid+StopLoss* Point,Bid- TakeProfit* Point,"", SystemMagicNumbe r,0,Red);
return(0);
}
if( iMA(NULL,0,5, 0,MODE_EMA, PRICE_CLOSE, 0)>iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0)
)
{
OrderSend(Symbol( ),OP_BUY, Lots,Ask, 0,Ask-StopLoss* Point,Ask+ TakeProfit* Point,"", SystemMagicNumbe r,0,Blue) ;
return(0);
}
if (OrderType() ==OP_SELL)
{
if (iMA(NULL,0, 5,0,MODE_ EMA, PRICE_CLOSE, 0)>iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0))
{
OrderClose(SystemMa gicNumber, Lots,OrderCloseP rice(),0) ;
return(0);
}
}
if (OrderType() ==OP_BUY)
{
if (iMA(NULL,0, 5,0,MODE_ EMA, PRICE_CLOSE, 0)<iMA(NULL,0,30, 0,MODE_EMA, PRICE_CLOSE, 0))
{
OrderClose(SystemMa gicNumber, Lots,OrderCloseP rice(),0) ;
return(0);
}
}
Come creare un oggetto linea finita
È possibile creare un oggetto trendline_object che è infinito. Ma come posso disegnare una linea finita da un punto all'altro? Grazie per qualsiasi risposta.
È possibile creare trendline_object che è infinito. Ma come posso disegnare una linea finita da un punto all'altro? Grazie per qualsiasi risposta.
impostare OBJPROP_RAY su false
L'EA invia l'ordine ogni tick dopo il segnale. AIUTO.
In questo momento sto studiando per creare un EA.
come far capire all'EA che voglio solo inviare un ordine ad ogni singolo segnale che appare.
La logica è
prima di dare il segnale, rimane calmo,
immediatamente dopo l'apparizione del segnale, invia l'ordine, una volta.
e aspetta un altro segnale.
Il problema è
questo Ea dovrebbe essere in grado di inviare l'ordine indipendentemente dal fatto che l'ordine precedente sia stato liquidato o meno.
Quindi, non posso codificarlo per inviare l'ordine solo dopo che l'ordine precedente è stato chiuso.
Grazie.
aiuto per ea base su indicatore
--------------------------------------------------------------------------------
cari tutti
ho indicatore (3ma cross con segnale) ho bisogno di cambiarlo in ea, posso copiare ind init() a expert init() e ind start() a expert start() e poi mettere funzione sell e buy quando la freccia mi dà il segnale?
lo faccio ma non funziona
aiuto con problema di codifica
Ciao
Sto cercando di scrivere un EA molto semplice che apre un certo numero di ordini pendenti a intervalli fissi. In uso apre gli ordini ma poi continua ad aprirli all'infinito. Come posso codificarlo in modo che gli ordini si aprano solo una volta, e anche se un ordine diventa live e colpisce il TP o lo SL, allora viene sostituito con un nuovo ordine pendente dalla lista originale?
Molte grazie per qualsiasi aiuto offerto,
Dan
Un trade per numero magico?
Sto scriptando un EA che aprirà automaticamente un trade basato su decisioni di trading manuali. Per esempio, guarderò il grafico e determinerò a quale prezzo voglio che l'ordine sia aperto, quale sia lo stop e il take, ecc. Poi imposterò l'EA e quando il prezzo sarà raggiunto aprirà il trade.
Devo fare in modo che l'EA apra solo un trade per numero magico. Imposterò manualmente il numero magico e ogni numero sarà unico. In questo modo, se il trade viene aperto e poi fermato, l'EA non proverà ad aprire un altro trade se il prezzo del trade viene raggiunto di nuovo.
Qualche idea sul modo migliore per ottenere questo risultato? Sarebbe utile anche qualche esempio di codice
...
Sto scriptando un EA che aprirà automaticamente un trade basato su decisioni di trading manuali. Per esempio, guarderò il grafico e determinerò a quale prezzo voglio che l'ordine sia aperto, quale sia lo stop e il take, ecc. Poi imposterò l'EA e quando il prezzo sarà raggiunto aprirà il trade.
Ho bisogno di fare in modo che l'EA apra solo un trade per numero magico. Imposterò manualmente il numero magico e ogni numero sarà unico. In questo modo, se il trade viene aperto e poi fermato l'EA non cercherà di aprire un altro trade se il prezzo del trade viene raggiunto di nuovo.
Qualche idea sul modo migliore per ottenere questo risultato? Sarebbe utile anche qualche esempio di codiceAvevo un tread su questo forum che aveva una soluzione per il numero magico...sfortunatamente davidke & walander odiavano le mie idee innovative e sollevavano il puzzo su tutto il forum...di conseguenza il mio tread fu cancellato...