
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
grazie per la tua risposta.
ma questo non funziona se c'è stato uno slippage quando la posizione è stata chiusa, giusto?
Ciao a tutti,
Ho un problema con l'EA di RSI e MA...
Ho l'indicatore che funziona correttamente... Tutto quello che voglio è convertirlo in EA...
Ho provato un paio di cose. IndicatorCounted() non funziona nell'EA, quindi ho provato a codificare i valori del ciclo for (bar=0; bar<15; bar++), ho ottenuto un RSI corretto, ma lo SMA non sta dando valori corretti...
Allego il codice della SMA che incrocia la RSI...
Quindi qualcuno potrebbe aiutarmi a convertire questo indicatore in EA.
***************************************************************************************************************************************
#proprietà indicator_separate_window
#proprietà indicator_buffers 2
#proprietà indicator_color1 PratoVerde
#proprietà indicator_color2 DarkBlue
doppio ExtMapBuffer1[];
doppio ExtMapBuffer2[];
int init()
{
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
SetIndexBuffer(1,ExtMapBuffer2);
return(0);
}
int deinit()
{
return(0);
}
int start()
{
int bar, limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit=Bars-IndicatorCounted();
for(bar=0; bar<limite; bar++)
ExtMapBuffer1 = iRSI(NULL,0,14,PRICE_TYPICAL,bar);
for(bar=0; bar<limit; bar++)
ExtMapBuffer2=iMAOnArray(ExtMapBuffer1,Bars,14,0,MODE_SMA,bar);
return(0);
}
***************************************************************************************************************************************
Grazie e saluti,
GaneshGanesh,
Prova a fare le barre in ordine temporale.
Invece di for(bar=0; bar<limit; bar++)
Usa for(bar=limit-1; bar>=0; bar--)
Chazzmoney
Ciao
Grazie per la risposta rapida... Ho provato, ma non fa alcuna differenza...
Anche se usiamo Bars nel ciclo, deve calcolare i valori interi (per tutte le barre) per ogni tick... e potrebbe esserci un ritardo. Anche il valore SMA sarebbe zero.
Nell'indicatore calcoleremmo RSI e EMA solo per la nuova barra usando IndicatorCounted(), ma non possiamo usarlo nell'EA.
Il punto esatto del problema è il 2° ciclo for e i valori per iMAOnArray.
Il primo ciclo for funziona perfettamente anche quando lo codifichiamo...
Grazie per la tua risposta. Ma questo non funziona se c'è stato uno slippage quando la posizione è stata chiusa, giusto?
Alcuni broker scrivono [sl] e [tp] nel campo dei commenti. Puoi usarlo anche tu.
Grazie, ci proverò.
come è possibile selezionare l'ultimo ordine chiuso con il giusto numero magico?
grazie. ci proverò. come è possibile selezionare l'ultimo ordine chiuso con il giusto numero magico?
Se lo trovi nella lista della storia, questo è un ordine chiuso, se nella lista totale - ancora aperto.
Richiesta di codice Ea: Chiudere l'ordine precedente quando si apre una nuova posizione
Ciao, vorrei fare una richiesta di codice per quando la nuova posizione è aperta, automaticamente l'ordine precedente si chiuderà, cioè non voglio usare take profit o trailling.
Esempio:
Quando l'ordine buy è aperto, l'ordine precedente sell si chiude
Quando l'ordine di vendita è aperto, l'ordine precedente di acquisto si chiude
Ho trovato il codice è OrderCloseBy() ma non so esattamente dove mettere questo codice
grazie
Ciao, vorrei fare una richiesta di codice per quando la nuova posizione è aperta, automaticamente l'ordine precedente si chiuderà, cioè non voglio usare take profit o trailling.
Esempio:
Quando l'ordine di acquisto è aperto, l'ordine di vendita precedente si chiude
Quando l'ordine di vendita è aperto, l'ordine di acquisto precedente si chiude
Ho trovato il codice è OrderCloseBy() ma non so esattamente dove mettere questo codice
grazieIl problema si risolve
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // chiude la posizione
}
mettere dopo OrderSend SELL
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // chiudi posizione
}Altro codice che ho preso da ForexFactory grazie a (Fulltime247,magnumfreak)
extern double LOTSize=0.10;
extern string ORDERComment="Order Comment Text";
//conteggio del TOTALE..
int btotal=0; int stotal=0; int ticket=0; double closelots=0; bool xbool;
for( int cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
xbool=OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderMagicNumber()==MAGICTerminal && OrderSymbol()==Symbol()){btotal++; ticket=OrderTicket(); closelots=OrderLots();}
if(OrderType()==OP_SELL && OrderMagicNumber()==MAGICTerminal && OrderSymbol()==Symbol()){stotal++; ticket=OrderTicket(); closelots=OrderLots();}
}// FINE CONTEGGIO TOTALE..
if(Qualunque sia la vostra condizione per un acquisto)
{
if(btotal>0){OrderClose(ticket,closelots,Bid,3,CLR_NONE);}
ticket=OrderSend(Symbol(),OP_BUY,LOTSize,Ask,3,0,0,0,ORDERComment,MAGICTerminal,0,Magenta);
}
if(QUALSIASI CONDIZIONE DI VENDITA)
{
if(stotal>0){OrderClose(ticket,closelots,Ask,3,CLR_NONE);}
ticket=OrderSend(Symbol(),OP_SELL,LOTSize,Bid,3,0,0,0,ORDERComment,MAGICTerminal,0,Lime);
}Sono nuovo di MT4.
Voglio calcolare il numero di barre dopo che shortMA ha attraversato longMA, qualcuno sa come codificare questa funzione?
Grazie in anticipo!