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
Puoi sempre scrivere int crossTime = Time[0] quando hai avuto un cross, e poi usare la funzione iBarShift usando la variabile crossTime per controllare quante barre sono passate.
Ciao Kalenzo,
Puoi sempre scrivere int crossTime = Time[0] quando hai avuto un cross, e poi usare la funzione iBarShift usando la variabile crossTime per controllare quante barre sono passate.
Come scriveresti questo codice per includere solo le "Bear Bars" nel conteggio?
Capisco l'ibarshift ma questo includerebbe tutte le barre dal cross. Avresti ancora bisogno di usare un sistema di conteggio come ho fatto io per contare le "Bear Bars" e credo che questo sia il mio problema.
Ho originariamente testato il mio codice con questo codice .... Che ha funzionato bene.... ma non si è tradotto nel codice di cui sopra che sarebbe stato effettivamente elencato nel mio EA
{
//----
double f=iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,0);
double s=iMA(NULL,0,7,0,MODE_SMA,PRICE_CLOSE,0);
double fp=iMA(NULL,0,3,0,MODE_SMA,PRICE_CLOSE,1);
double sp=iMA(NULL,0,7,0,MODE_SMA,PRICE_CLOSE,1);
static bool CrossedUP,CrossedDn;
static int Count=0;
if(f>s && fp<=sp)
{
CrossedUP=true;
CrossedDn=false;
Alert(Symbol()," Crossed UP");
Count=0;
}
else
if(f=sp){
CrossedUP=false;
CrossedDn=true;
Alert(Symbol()," Crossed Down");
Count=0;
}
if(NewBar()==true && f>s || f<s) Count++;
Comment("Crossed UP: ",CrossedUP," Crossed Down: ",CrossedDn," Bars since Cross: ",Count);
//----
return(0);
}Qualsiasi altro pensiero sarebbe apprezzato.
Grazie,
SaxMan
Scusa Omelette,
Anche questo non funziona
Grazie,
SaxMan
Ciao, prova questo.
{
if(MAFastC=MASlowP){
CrossedUp=false;
CrossedDn=true;
BarCount=0;
}
else
if(MAFastC>MASlowC && MAFastP<=MASlowP)
{
CrossedUp=true;
CrossedDn=false;
BarCount=0;
Alert("Crossed Down");
}
if(CrossedDn==true && NewBar()==true && Candle3mP=="Bear")
BarCount++;
if(BarCount>=2 && Candle3mC=="Bear")
{
Alert("Close Long Position");
return(true);
}
else return(false);limite di tempo con codice EA
Non riesco a mettere un limite di tempo sul mio EA
La linea di codice è la seguente:
OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point, "timetest",16384,0,Green)
Ho provato a cambiare lo ZERO in un 1 o in un 12 e non riesco a fermare il trade ... vorrei far scadere il trade in 12 ore come posso fare?
Sto usando un backtesting per essere sicuro che funzioni... la funzione expire funziona con questo, giusto?
Prova questo....
{
string expire_date = "2007.10.22
datetime expirevar = StrToTime(expire_date);
if ( CurTime() >= expirevar )
{
Alert ("Versione scaduta");
return(0);
}
// codice
return(0);
}
Dave
Non riesco a mettere un limite di tempo sul mio EA
La linea di codice è la seguente:
OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point, "timetest",16384,0,Green)
Ho provato a cambiare lo ZERO in un 1 o in un 12 e non riesco a fermare il trade ... vorrei che il trade scadesse tra 12 ore come posso fare?
Sto usando un backtesting per essere sicuro che funzioni... la funzione expire funziona con questo, giusto?controllare il canale degli errori;
L'applicazione del tempo di scadenza dell'ordine pendente può essere disabilitata in alcuni server di trading. In questo caso, quando viene specificato un valore diverso da zero nel parametro expiration, viene generato l'errore 147 (ERR_TRADE_EXPIRATION_DENIED).
il parametro è una variabile 'datetime', non credo che il 12 rientri in quella dichiarazione di variabile.
Non riesco a mettere un limite di tempo sul mio EA
La linea di codice è la seguente:
OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,Ask+TakeProfit*Point, "timetest",16384,0,Green)
Ho provato a cambiare lo ZERO in un 1 o in un 12 e non riesco a fermare il trade ... vorrei far scadere il trade in 12 ore come posso fare?
Sto usando un backtesting per essere sicuro che funzioni... la funzione expire funziona con quello, giusto?Ciao, i timeout di scadenza funzionano bene con MT, l'unica avvertenza è che alcuni broker non li permettono - FXDD è uno di questi. Il tempo di scadenza deve essere in formato datetime per funzionare - cioè.
Ho provato questo.
extern int TradeLifeHour=12;
extern int TradeLifeMin=00;
datetime expirationtime; (non so cosa va qui)
poi all'interno di start()
expirationtime = CurTime()+TradeLifeHour*60*60+TradeLifeMin*60;
e usare expirationtime nell'area 0.
Ho l'ultimo codice ma non so come configurarlo per far scadere il trade in 12 ore
Prova questo....
{
string expire_date = "2007.10.22
datetime expirevar = StrToTime(expire_date);
if ( CurTime() >= expirevar )
{
Alert ("Versione scaduta");
return(0);
}
// codice
return(0);
}
DaveHo appena usato il codice che ti ho dato. Ho cambiato la data in 2006 e l'ho schiaffato in un posto a caso dentro Bipoler su un conto FXDD con soldi veri, e ha funzionato come una meraviglia.
O forse è troppo semplice? Non so
Dave
??
quel codice non fa scadere ogni trade che il mio EA apre a 12 ore dal momento dell'apertura...