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
Versione Ema Cross?
Ciao,
Il mio test in avanti da EMACross D1 TF
Saluticiao SpecII,
Grazie mille per averci condiviso!
Qual è la versione di EMA_CROSS che hai usato?
Coppie multiple!
Ciao Codersguru
Sto usando la versione no SL ma ho modificato il codice per le coppie multiple e ho creato un bug per i doppi lotti.
Risolverò il bug per i doppi lotti più tardi.
GrazieGrazie ancora ! Potrei vedere il tuo codice per coppie multiple?
Grazie ancora ! Potrei vedere il tuo codice per coppie multiple?
Ciao, sto postando il codice, è giusto?
Grazie
//| EMA_CROSS.mq4 |
//| Coders Guru |
//| https://www.forex-tsd.com |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| TODO: Add Money Management routine |
//+------------------------------------------------------------------+
#property copyright "Coders Guru"
#property link "https://www.forex-tsd.com"
//---- input parameters
extern double TakeProfit=130;
extern double Lots=1;
extern double TrailingStop=20;
extern int ShortEma = 10;
extern int LongEma = 80;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
int Crossed (double line1 , double line2)
{
static int last_direction = 0;
static int current_direction = 0;
//Don't work in the first load, wait for the first cross!
static bool first_time = true;
if(first_time == true)
{
first_time = false;
return (0);
}
if(line1>line2)current_direction = 1; //up
if(line1<line2)current_direction = 2; //down
if(current_direction != last_direction) //changed
{
last_direction = current_direction;
return (last_direction);
}
else
{
return (0); //not changed
}
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int OrdersPerSymbol=0;
//----
int cnt, ticket;
double SEma, LEma;
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0); // check TakeProfit
}
OrdersPerSymbol=0;
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() )
{
OrdersPerSymbol++;
}
}
SEma = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0);
LEma = iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,0);
static int isCrossed = 0;
isCrossed = Crossed (LEma,SEma);
// total = OrdersTotal();
if(OrdersPerSymbol < 1)
{
if(isCrossed == 1)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"EMA_CROSS",12345,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
if(isCrossed == 2)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"EMA_CROSS",12345,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
//OrderPrint();
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY) // long position is opened
{
// should it be closed?
/* REMOVED - Trailling stop only close
if(isCrossed == 2)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
return(0); // exit
}
*/
// check for trailing stop
if(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else // go to short position
{
// should it be closed?
/* REMOVED - Trailling stop only close
if(isCrossed == 1)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
return(0); // exit
}
*/
// check for trailing stop
if(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
return(0);
}
//+------------------------------------------------------------------+Ciao SpecII,
Grazie mille per averci condiviso!
Qual è la versione di EMA_CROSS che hai usato?Ciao Codersguru
sto usando la versione no SL ma ho modificato il codice per le coppie multiple e ho fatto il bug per i doppi lotti hehe.
Risolverò il bug per i doppi lotti più tardi.
Saluti
Inverso
A me sembra un inverso.
Il codice è impostato per comprare quando l'EMA lungo diventa maggiore dell'EMA corto
e per vendere quando l'EMA lungo si muove sotto l'EMA corto.
Suppongo che questo sia il motivo per cui ha successo, dato che altrove si insegna a fare l'esatto contrario.
Sto anche ottenendo trade multipli, sulla prima versione dell'EA, devo ancora provare la seconda versione. Questo è dovuto a dati storici errati?
Lo testerò stasera.
Grazie
così
quindi si compra quando il Sema si muove sotto il Lema
e vende quando il Sema si muove sopra il Lema
O sono di nuovo confuso?
quando attacco l'ea
Quando attacco l'ea a un grafico ottengo una 'X' - nessuna faccia sorridente - sull'ea o su di me.
L'ho fatto funzionare - ho dovuto premere il pulsante play experts.
Salve,
Sono spirito di testare questo EA con un conto dimostrativo. Le prime impressioni sono molto buone. Per il momento apre solo una coppia nonostante 4 diagrammi aperti. Ma con ogni apertura di Trades è nella buona direzione positiva e si riposa. Vi allego la dichiarazione di ieri.
Ciao, sono lo spirito per testare questo EA con un conto dimostrativo. Le prime impressioni sono molto buone. Per il momento apre solo una coppia nonostante i 4 diagrammi aperti. Ma con ogni apertura di Trades è nella buona direzione positiva e si riposa. Vi allego la dichiarazione di ieri.
Ho modificato questo EA per utilizzare il numero magico. Questo fornirà il commercio su più coppie in una sola volta. Cambia il parametro maigc per essere diverso per ogni coppia.
Ciao Kalenzo,
Grazie per questa modifica, sempre anche veloce ed efficace, tifo