[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 984

 
gyvenor:

Grazie.

È possibile aggiungere colonne con valore di indicatore a questa tabella? Per esempio il valore MA su una data barra. O c'è un frattale su/giù?

Puoi fare MA e frattale in Excel stesso, incollando la formula nella cella.
 

Salve. Potete dirmi se c'è una storia di transazioni pubblicamente disponibile di L.Williams dalla sua leggendaria vittoria del 1987 ai Campionati? Sarebbe interessante dare un'occhiata).

 
Techno:
Allegare un rapporto adeguato. Meglio ancora, un rapporto completo, vedrai.

Simbolo EURUSD (Euro contro Dollaro USA)
Periodo 30 Minuti (M30) 1999.01.06 15:30 - 2010.11.09 21:59
Modello In base ai prezzi di apertura (solo per Expert Advisors con controllo esplicito dell'apertura delle barre)
Parametri
Bar nella storia 143757 Zecche modellate 287336 Qualità della simulazione n/a
Errori di mancata corrispondenza dei grafici 0
Deposito iniziale 1000000.00
Utile netto 23885.09 Profitto totale 50787.58 Perdita totale -26902.49
Redditività 1.89 Payoff previsto 2.66
Dispersione assoluta 73.00 Massimo prelievo 355.90 (0.03%) Prelievo relativo 0.03% (355.90)
Totale scambi 8996 Posizioni corte (% vittoria) 0 (0.00%) Posizioni lunghe (% vittoria) 8996 (87.36%)
Operazioni redditizie (% di tutte) 7859 (87.36%) Operazioni in perdita (% di tutte) 1137 (12.64%)
Il più grande commercio redditizio 10.50 perdere l'accordo -40.40
Media affare redditizio 6.46 Perdita dell'affare -23.66
Massimo vittorie continue (profitto) 110 (730.00) Perdite continue (perdita) 5 (-125.00)
Massimo Profitto continuo (numero di vittorie) 730.00 (110) Perdita continua (numero di perdite) -125.00 (5)
Media vincite continue 9 Perdita continua 1
Grafico
Tempo Tipo Ordina Volume Prezzo S / L T / P
 

La differenza tra M1 tutte le zecche e M30 è minima.

Simbolo EURUSD (Euro contro Dollaro USA)
Periodo 1 minuto (M1) 1999.10.01 03:17 - 2010.11.09 21:06
Modello Tutte le zecche (metodo più accurato basato su tutti i più piccoli timeframe disponibili)
Parametri
Bar nella storia 3798097 Zecche modellate 37584894 Qualità della modellazione 25.00%
Errori di mancata corrispondenza dei grafici 0
Deposito iniziale 1000000.00
Utile netto 19436.09 Profitto totale 42746.64 Perdita totale -23310.55
Redditività 1.83 Payoff previsto 2.57
Dispersione assoluta 6.00 Massimo prelievo 254.80 (0.03%) Prelievo relativo 0.03% (254.80)
Totale scambi 7566 Posizioni corte (% vittoria) 0 (0.00%) Posizioni lunghe (% vittoria) 7566 (87.09%)
Operazioni redditizie (% di tutte) 6589 (87.09%) Operazioni in perdita (% di tutte) 977 (12.91%)
Il più grande commercio redditizio 10.50 transazione perdente -40.40
Media affare redditizio 6.49 Perdita dell'affare -23.86
Massimo vittorie continue (profitto) 62 (410.00) Perdite continue (perdita) 5 (-125.00)
Massimo Profitto continuo (numero di vittorie) 410.00 (62) Perdita continua (numero di perdite) -125.00 (5)
Media vincite continue 9 Perdita continua 1
Grafico

 

Buon pomeriggio!

Ho bisogno che questo EA funzioni su un conto, ma su coppie diverse. Ma purtroppo, se almeno un trade è aperto, l'EA non apre trade su altre coppie, anche se c'è un segnale. Qual è l'errore? Aiutami a capire!

E un'altra domanda, è necessario cambiare Magic nelle impostazioni quando si attacca l'EA al grafico, se è già stato applicato a un'altra coppia?

ecco il codice:

//////////////////////////////////////////////////////////////////////
// MUWINGS CROSSING //
//////////////////////////////////////////////////////////////////////
extern string Settings = "Main Settings"; ////////////////////////
extern int Magic = 227 ; //Numero individuale//.
extern double Lots =0.1 ;
extern int Slip = 5 ; //Slip/.


//dati per l'impostazione del tempo

extern string OpenTime = "01:05-23:05";

//------------------------------------------------------------------// //
//Indicatori // //
//------------------------------------------------------------------// //
extern string Indicator1 = "MA-Slow" ; // // //
extern int MAPeriod1 = 55 ; //periodo //
extern int int MA1_shift = 0 ;
extern string Indicator2 = "MA-Fast" ; // // //
extern int int MAperiod2 = 13 ; //Periodo //
extern inttern MA2_shift = 0 ;

//------------------------------------------------------------------/////////////
int tiket1 , tiket2 , cnt;
int start()
{
//---------------------------------------------------------------------------------------------------------------//
double MA1 =iMA(NULL,0,MAPeriod1,MA1_shift,MODE_LWMA,PRICE_MEDIAN,0); //calcolo indicatore MA //
//Print("ma1=====",MA1);
double MA2 =iMA(NULL,0,MAperiod2,MA2_shift,MODE_LWMA,PRICE_CLOSE,0); //calcolo indicatore MA //
//Print("ma2=====",MA2);

stringa OTA[];
stringa OTI[];
split(OTA, OpenTime, ";");

datetime tm0 = CurTime();
datetime tm1, tm2;

bool cond = false;

int cnt = ArraySize(OTA);
per (int i=0; i < cnt; i++) {
split(OTI, OTA[i], "-");
se (ArraySize(OTI) != 2) continua;

tm1 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " + OTI[0]);
tm2 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " " + OTI[1]);

cond = cond || (tm1 <= tm0 && tm0 < tm2)
}


se (cond)
{
se(OrdiniTotali()==0)
{
se((MA2>MA1)&&(Close[0]>MA2))
{
tiket1=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE)
}


se((MA2<MA1)&&(Close[0]<MA2))
{
tiket2=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE);
}
}

se(OrdiniTotali()==1)
{
se((MA2>MA1)&&(Close[0]>MA2 ))
{
OrderClose(tiket2,Lots,Ask,Slip,Red);
}

se((MA2<MA1)&&(Close[0]<MA2))
{
OrderClose(tiket1,Lots,Bid,Slip,Red);
}
}
}
}

void split(string& arr[], string str, string sym)
{
ArrayResize(arr, 0);
voce di stringa;
int pos, dimensione;

int len = StringLen(str);
per (int i=0; i < len;) {
pos = StringFind(str, sym, i);
se (pos == -1) pos = len;

item = StringSubstr(str, i, pos-i);
item = StringTrimLeft(item);
item = StringTrimRight(item);

dimensione = ArraySize(arr);
ArrayResize(arr, size+1);
arr[dimensione] = elemento;

i = pos+1;
}
}

 
marten82:

Buon pomeriggio!

extern string OpenTime = "01:05-23:05";

//------------------------------------------------------------------// //
//Indicatori // //
//------------------------------------------------------------------// //
extern string Indicator1 = "MA-Slow" ; // // //
extern int MAPeriod1 = 55 ; //periodo //
extern int int MA1_shift = 0 ;
extern string Indicator2 = "MA-Fast" ; // // //
extern int int MAperiod2 = 13 ; //Periodo //
extern inttern MA2_shift = 0 ;

//------------------------------------------------------------------/////////////
int tiket1 , tiket2 , cnt;
int start()
{
//---------------------------------------------------------------------------------------------------------------//
double MA1 =iMA(NULL,0,MAPeriod1,MA1_shift,MODE_LWMA,PRICE_MEDIAN,0); //calcolo indicatore MA //
//Print("ma1=====",MA1);
double MA2 =iMA(NULL,0,MAperiod2,MA2_shift,MODE_LWMA,PRICE_CLOSE,0); //calcolo indicatore MA //
//Print("ma2=====",MA2);

stringa OTA[];
stringa OTI[];
split(OTA, OpenTime, ";");

datetime tm0 = CurTime();
datetime tm1, tm2;

bool cond = false;

int cnt = ArraySize(OTA);
per (int i=0; i < cnt; i++) {
split(OTI, OTA[i], "-");
se (ArraySize(OTI) != 2) continua;

tm1 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " + OTI[0]);
tm2 = StrToTime(TimeToStr(CurTime(), TIME_DATE) + " " + OTI[1]);

cond = cond || (tm1 <= tm0 && tm0 < tm2)
}


se (cond)
{
if(OrdersTotal()==0)
{

se((MA2>MA1)&&(Close[0]>MA2))
{
tiket1=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE)
}


se((MA2<MA1)&&(Close[0]<MA2))
{
tiket2=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,0,0,NULL,Magic,0,CLR_NONE);
}
}

if(OrdersTotal()==1)
{
se((MA2>MA1)&&(Close[0]>MA2 ))
{
OrderClose(tiket2,Lots,Ask,Slip,Red);
}

se((MA2<MA1)&&(Close[0]<MA2))
{
OrderClose(tiket1,Lots,Bid,Slip,Red);
}
}
}
}

void split(string& arr[], string str, string sym)
{
ArrayResize(arr, 0);
voce di stringa;
int pos, dimensione;

int len = StringLen(str);
per (int i=0; i < len;) {
pos = StringFind(str, sym, i);
se (pos == -1) pos = len;

item = StringSubstr(str, i, pos-i);
item = StringTrimLeft(item);
item = StringTrimRight(item);

dimensione = ArraySize(arr);
ArrayResize(arr, size+1);
arr[dimensione] = elemento;

i = pos+1;
}
}


Credo che dove è evidenziato in rosso.
 
-marten82:

Buon pomeriggio!

Ho bisogno che questo EA funzioni su un conto, ma su coppie diverse. Ma purtroppo, se almeno un trade è aperto, allora l'EA non apre trade su altre coppie, anche se c'è un segnale. Qual è l'errore? Aiutami a capire!

E un'altra domanda, è necessario cambiare Magic nelle impostazioni quando si attacca l'EA al grafico, se è già stato applicato a un'altra coppia?

ecco il codice:


...
se(OrdiniTotali()==0)

....
Ecco la radice del male.
 
paukas:
Ecco la radice del male.
Ho tirato a indovinare. Potresti aiutarmi con la condizione giusta? Perché qualcosa non funziona per me.
 

Ho la sensazione che l'EA si rifiuti ostinatamente di registrare prima delle 21.45, anche se tutto è corretto nel codice e non ci sono restrizioni su di esso....see quale può essere la ragione plz? upd riavviato il computer, al primo giro erano record dall'inizio della giornata, e poi di nuovo tutto da capo... sembra che ci sia qualcosa nella cache, ma cos'è?



 
asc9:

Ho un buon presentimento, ma non sono sicuro di come usarlo... non sono sicuro di come usarlo... upd riavviato il computer, al primo giro erano record dall'inizio della giornata, e poi di nuovo tutto da capo... sembra che ci sia qualcosa nella cache, ma cos'è?




Penso che sia a causa della prima condizione. Provate con Hour()<=22.
Motivazione: