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
double BU1=iMA(Symbol(),0,ShortSma,0,MODE_SMA,PRICE_CLOSE,i+1);
double BL1=iMA(Symbol(),0,LongSma,0,MODE_SMA,PRICE_CLOSE,i);
stringa SBUY="false";stringa SSEL="false";
if(BU1<Close[1]&&BL1<Close[1])SBUY="true";if(BL1>Close[1]&&BU1>Close[1])SSEL="true";
Ora funziona, qualcosa era sbagliato con Trade dopo TP.....
Grazie per il tuo aiuto Mladen.
ciao signor mladen
come potrebbe tradurre questa parola:
http://forexsystemsru.com/1075962-post327.html
Analisi dei cluster
per quanto riguarda
signor mladen:
potrebbe fare MTF di esso
migliore considerazione
Ciao cari codificatori,
Ho probabilmente una domanda semplice, ma mi sono bloccato al momento su:
Il mio EA apre e compra e vende ordini senza problemi, ma quando arriva
a SIGNAL_CLOSEBUY o SIGNAL_CLOSESELL non chiude gli ordini.
Qui uso un RSI_Filter come trigger per chiudere gli ordini di acquisto o vendita.
Ho copiato il mio codice, sarei molto felice se qualcuno potesse dare un'occhiata.
Grazie in anticipo!
#define SIGNAL_NONE 0
// Signal Begin(Exit Buy)#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
extern int MaxShortTrades = 1;
extern int MaxLongTrades = 1;
int Order = SIGNAL_NONE;
// RSI Filter
double RSIfilter=iRSI(Symbol(),0,RSIPeriod,PRICE_CLOSE,BarShift);
// Trade Signal Indicator
double NLD1,NLD2;
NLD1 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,1);
NLD2 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,2);
// Amount of long / short trades
int longs = 0;
int shorts = 0;
double j;
for(j=OrdersTotal()-1;j>=0; j--)
{
if(OrderType()==OP_BUY) longs++; // Check # of long trades.
if(OrderType()==OP_SELL) shorts++; // Check # of short trades
}
// place orders
if(longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter>55) Order = SIGNAL_BUY;
if(shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter<45) Order = SIGNAL_SELL;
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if(Order==SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage*PipMultiplier,MediumSeaGreen);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
// Signal Begin(Exit Sell)
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage*PipMultiplier,DarkOrange);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
Ciao cari codificatori,
Ho probabilmente una domanda semplice, ma mi sono bloccato al momento su:
Il mio EA apre e compra e vende ordini senza problemi, ma quando arriva
a SIGNAL_CLOSEBUY o SIGNAL_CLOSESELL non chiude gli ordini.
Qui uso un RSI_Filter come trigger per chiudere gli ordini di acquisto o vendita.
Ho copiato il mio codice, sarei molto felice se qualcuno potesse dare un'occhiata.
Grazie in anticipo!
#define SIGNAL_NONE 0
// Signal Begin(Exit Buy)#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
extern int MaxShortTrades = 1;
extern int MaxLongTrades = 1;
int Order = SIGNAL_NONE;
// RSI Filter
double RSIfilter=iRSI(Symbol(),0,RSIPeriod,PRICE_CLOSE,BarShift);
// Trade Signal Indicator
double NLD1,NLD2;
NLD1 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,1);
NLD2 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,2);
// Amount of long / short trades
int longs = 0;
int shorts = 0;
double j;
for(j=OrdersTotal()-1;j>=0; j--)
{
if(OrderType()==OP_BUY) longs++; // Check # of long trades.
if(OrderType()==OP_SELL) shorts++; // Check # of short trades
}
// place orders
if(longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter>55) Order = SIGNAL_BUY;
if(shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter<45) Order = SIGNAL_SELL;
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if(Order==SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage*PipMultiplier,MediumSeaGreen);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
// Signal Begin(Exit Sell)
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage*PipMultiplier,DarkOrange);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
due problemi che devi risolvere prima di procedere:
due questioni che devi risolvere prima di procedere:
Caro Mladen,
ti ringrazio molto per i tuoi utili suggerimenti.
Se ho capito bene ho bisogno di implementare qualcosa come il codice qui sotto
per selezionare un "buy_ticket" l'EA deve chiudere. Il codice non è ancora testato, e una sorta di "pseudo stato".
int buy_ticket=0;
int sell_ticket=0;
int ticket;
// Iterate through tickets
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
{
if(OrderType()== OP_BUY)
buy_ticket=OrderTicket();
else
if(OrderType() == OP_SELL)
sell_ticket=OrderTicket();
}
}
// Close Ticket with trigger
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==CLOSE_BUY && buy_ticket!=0)
{
if(OrderSelect(buy_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Buy #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
else
if(Order==CLOSE_SELL && sell_ticket!=0)
{
if(OrderSelect(sell_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Sell #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
Caro Mladen,
ti ringrazio molto per i tuoi utili suggerimenti.
Se ho capito bene ho bisogno di implementare qualcosa come il codice qui sotto
per selezionare un "buy_ticket" l'EA deve chiudere. Il codice non è ancora testato, e una sorta di "pseudo stato".
int buy_ticket=0;
int sell_ticket=0;
int ticket;
// Iterate through tickets
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
{
if(OrderType()== OP_BUY)
buy_ticket=OrderTicket();
else
if(OrderType() == OP_SELL)
sell_ticket=OrderTicket();
}
}
// Close Ticket with trigger
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==CLOSE_BUY && buy_ticket!=0)
{
if(OrderSelect(buy_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Buy #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
else
if(Order==CLOSE_SELL && sell_ticket!=0)
{
if(OrderSelect(sell_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Sell #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
Hai solo 1 ordine (stesso simbolo magico, intendo) aperto allo stesso tempo?
Se sì, allora funzionerà.
Cari amici,
L'ea allegato è costantemente aperto ordini a lotto fisso(è aperto tutti gli ordini 0,10)
Non cambio o controllo il valore del lotto degli ordini aperti!
Nelle impostazioni sono disponibili i valori "Lots" e "MaximumRisk" , ma non sono efficaci sui valori di lotto degli ordini!
Potete aiutarmi per favore?
ciao signor mladen
potresti fare una finestra secondaria vuota simile a questa immagine
per quanto riguarda
Ciao Mladen, ho scaricato il tuo
stepma_pdf_4_4.ex4 così come l'istgramma,
li ho copiati in MT4. Trascinandoli nella finestra del grafico
Ottengo il seguente messaggio, vedi nell'immagine:
Potresti dirmi come posso usare il tuo indicatore?
Lea
ps. lo stesso è successo con: medie_-_mtf__alerts_7_4.ex4 e istogramma