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

 
Melena:

Ciao, cari membri del forum, sperando vivamente nel vostro aiuto.....

Quindi la domanda è cosa ne pensate, cari esperti del settore, se sto pensando nella giusta direzione, e se no, per favore consigliate cosa si può fare con questi dati, come e dove applicare la regressione lineare? quali ipotesi si possono creare e poi confermare o negare? Io stesso sono lontano dall'essere un esperto in questo campo, non ho mai incontrato la statistica prima, tanto meno il metodo esplorativo((((.

Grazie in anticipo!

Sinceramente,

Milena.

Durante l'anno il numero di clienti cambia drasticamente (così mi sembra di capire), allora bisogna considerare la dinamica di cambiare il numero di persone in trattamento(la storia si ripete).

Attaccati al tempo, il 1 ° dicembre di ogni anno vado dove ...

E così su tutti i punti

Oppure c'è un buon metodo per minimizzare

http://www.google.com.ua/search?source=ig&hl=ru&rlz=1G1GGLQ_RUUA357&=&q=%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0+%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8+%D1%83%D0%BF%D1%83%D1%89%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9+%D0%B2%D1%8B%D0%B3%D0%BE%D0%B4%D1%8B&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&aq=f&oq=

Desktop_1.zip (2 871.41 KB) cancellare

 
granit77:

Print(iMA("EURUSD", PERIOD_D1, 14, 0, MODE_SMA, PRICE_CLOSE,0));

Questo è più preciso.
:) Dormire in movimento... :)
 
marker:

In linea di principio, questo è probabilmente ciò che accadrà. Un conto, 8 termini, 8 script ciascuno salverà i propri trade in una cartella separata (ordinata per magia). Perché voglio un solo conto, perché voglio guardare la curva di tutto il portafoglio....qualcosa del genere....sono ora appesi separatamente. Grazie per la risposta:)) Anche se sarebbe più conveniente se tutte le compravendite fossero memorizzate in un unico file, ma ordinate, sarebbe più conveniente, tutte ordinate in un unico file, si può fare?

Esiste una cosa del genere, ma tu non sei un codificatore ;))

https://www.mql5.com/ru/code/8051

 

Ciao!

Potete dirmi per favore qual è la redditività del 981? È possibile? È che la somma di tutti i profitti positivi è 981 volte la somma di tutte le perdite? (ma il profitto è 24 e il drawdown è 13... qualcosa che non capisco....). Ottimizzo in base al "fattore di profitto".

Dov'è il drawdown di 13 dollari qui...?


Ecco il rapporto del test:


 

Sì!!! Estremamente interessante. Il risultato è al di là di tutto, non sono bravo a testare me stesso.

Non capisco nulla!!!!!!!! ho deciso di prescrivere un trailing stop al mio Expert Advisor.

La variabile vzlet conta quanti punti il prezzo si è mosso verso l'alto, rispetto al momento in cui ho aperto l'ordine; la variabile newloss è una nuova perdita; è uguale alla dimensione di cui si muoverà quando si sposta, e all'interno dell'ordine-modify è molto semplicemente e chiaramente prescritto come Bid+newloss*PointX

Avendo ricevuto l'errore 130, per divertimento ho creato una variabile bylstop=Bid+stoploss*PointX; -bylstop, che ricorda quanto era grande lo stop quando l'ordine è stato aperto,

-Il risultato è sorprendente: la differenza tra newloss e bylstop a volte supera i 200 pips e di solito non meno di 100 pips. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Naturalmente, l'errore è 130! Ma come può essere!!!!!! Le formule sono estremamente semplici!!! Nessun errore!!!! O sono un completo idiota? Sono stato a guardare per tre giorni, non capisco!!!!

//+------------------------------------------------------------------+
//| mpm.mq4 |
//| Dimon |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#proprietà copyright "Dimon"
#proprietà link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'esperto |
//+------------------------------------------------------------------+

extern int BandsPeriod=20, i=1; extern int BandsShift=0;
extern double BandsDeviations=2.0;
extern double Lots=0.1, TakeProfit=60, stoploss=25; double PointX;


int init()
{ if(Digits==5 || Digits==3) PointX = Point * 10; // Punto di correzione per tre o cinque cifre
if(Digits==4 || Digits==2) PointX = Point;
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperto |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di inizio esperto |
//+------------------------------------------------------------------+
doppio ordine; int biglietto; doppio bylstop;
int start()
{double newloss=12; Alert ("ticket",ticket);
double vzlet= (Close[1]-order)/PointX;

Alert ("vzlet",vzlet); int total=OrdersTotal();// Comment(" total ",total); Alert (" total ",total);
Allarme ("PuntoX",PuntoX);


se (vzlet>=20)
{ for(int i = 0; i < totale; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol()&&OrderMagicNumber() == 16384 &&OrderType() == OP_BUY)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid+newloss*PointX,OrderTakeProfit(),0,Blue);
Alert ("Modification error",GetLastError());Alert ("newlossbuy",Bid+newloss*PointX);Alert ("bylstopbuy",bylstop);}


se (vzlet<=(-20))
{ for( i = 0; i < totale; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&&OrderType() == OP_SELL)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask-newloss*PointX,OrderTakeProfit(),0,Blue);
Alert ("Modification error",GetLastError()); Alert ("newlosssell",Ask-newloss*PointX); Alert ("bylstopsell",bylstop); } }



if ( totale !=0 ){return;}

doppio Media, Verhnyayaghranytsa, Nyzhnyayaghranytsa, newres, somma, deviazione;
stringa di testo; int err;
text="campione macd;
Media=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
int k,counted_bars=IndicatorCounted();

//----
//----
for( k = 0; k<BandePeriodo; k++)
{ newres=Close[k]-Average;//Alert (" Average ",Average);
sum+=((newres*100)*(newres*100))/10000;//Alert (" newres ",newres);
}




deviazione=BandsDeviations*MathSqrt(sum/BandsPeriod);
Verhnyayaghranytsa=Media+deviazione;
Nyzhnyayaghranytsa=deviazione media; //Alert (" sum ",sum);
// Allarme (" deviazione ",deviazione);
//----
se (Verhnyayaghranytsa<Close[i])
{ Comment(" boa ",Verhnyayaghranytsa );
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green);
Alert (" stoploss ",Ask-stoploss*PointX);order=Close[0];order=Close[0];bylstop= Ask-stoploss*PointX;Alert("Error",GetLastError());
}


se (Nyzhnyayaghranytsa>Close[i])
{ Comment(" sell! ",Nyzhnyayaghranytsa );

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+stoploss*PointX,Bid-TakeProfit*PointX, "macd sample",16384,0,Red);
Alert (" stoploss ",Bid+stoploss*PointX); bylstop=Bid+stoploss*PointX;
Alert("ErrorOrdersell",GetLastError()); order=Close[0]; }

}
ritorno(0);

//+------------------------------------------------------------------+

2010.12.22 14:22:09 2010.06.03 20:46 EURUSD,H1: Allarme: bylstopsell1.2247

2010.12.22 14:22:09 2010.06.03 20:46 Thu EURUSD,H1: Allarme: newlosssell1.2154

2010.12.22 14:22:09 2010.06.03 20:46 Thu Thunder EURUSD,H1: Allarme: Errore di modifica130

2010.12.22 14:22:09 2010.06.03 20:46 Thu Thunder EURUSD,H1: OrderModify errore 130

2010.12.22 14:22:04 2010.06.03 05:00 Thu EURUSD,H1: Allarme: ticket2

2010.12.22 14:22:04 2010.06.03 05:00 Thu EURUSD,H1: Allarme: PuntoX0.0001

2010.12.22 14:22:04 2010.06.03 05:00 Thu EURUSD,H1: Allarme: vzlet16

2010.12.22 14:22:04 2010.06.03 05:00 Thu EURUSD,H1: Allarme: ticket2

2010.12.22 14:22:04 2010.06.03 05:00 Thu EURUSD,H1: Allarme: PuntoX0.0001

2010.12.22 14:22:04 2010.06.03 05:00 Tuono EURUSD,H1: Allarme: vzlet16

Ho inventato questa costruzione a catena if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&&OrderType() == OP_SELL) per evitare di scrivere tre volte,

Ho messo OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES ); e ho messo OrderModify(OrderTicket(),OrderOpenPrice(),Bid+newloss*PointX,OrderTakeProfit(),0,Blue);

e c'è un errore in cui non può essere!!!!!!!!



Non solo, ho moltiplicato PointX0.0001 per 10, e poi diviso (ovviamente fuori dal ciclo), anche se questo è fondamentalmente sbagliato, senza capirne il motivo, e ho ottenuto non meno confusione

//+------------------------------------------------------------------+
//| mq4 |
//| Dimon |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#proprietà copyright "Dimon"
#proprietà link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'esperto |

//+----------------

--------------------------------------------------+

extern int BandsPeriod=20, i=1; extern int BandsShift=0;
extern double BandsDeviations=2.0;
extern double Lots=0.1, TakeProfit=60, stoploss=25; double PointX;


int init()
{ if(Digits==5 || Digits==3) PointX = Point * 10; // Punto di correzione per tre o cinque cifre
if(Digits==4 || Digits==2) PointX = Point;
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperto |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di inizio esperto |
//+------------------------------------------------------------------+
doppio ordine; int biglietto; doppio bylstop;
int start()
{double newloss=12; Alert ("ticket",ticket); PointX= PointX*10 ;
double vzlet= (Close[1]-order)/PointX;

Alert ("vzlet",vzlet); int total=OrdersTotal();// Comment(" total ",total); Alert (" total ",total);
Allarme ("PuntoX",PuntoX);


se (vzlet>=20)
{ for(int i = 0; i < totale; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol()&&OrderMagicNumber() == 16384 &&OrderType() == OP_BUY)

OrderModify(OrderTicket(),OrderOpenPrice(),Bid+newloss*PointX,OrderTakeProfit(),0,Blue);
Alert ("Modification error",GetLastError());Alert ("newlossbuy",Bid+newloss*PointX);Alert ("bylstopbuy",bylstop);}


se (vzlet<=(-20))
{ for( i = 0; i < totale; i++)
{ OrderSelect( ticket,SELECT_BY_TICKET,MODE_TRADES );
if(OrderSymbol() == Symbol() && OrderMagicNumber() == 16384&&&OrderType() == OP_SELL)

OrderModify(OrderTicket(),OrderOpenPrice(),Ask-newloss*PointX,OrderTakeProfit(),0,Blue);
Alert ("Modification error",GetLastError()); Alert ("newlosssell",Ask-newloss*PointX); Alert ("bylstopsell",bylstop); } }



if ( totale !=0 ){return;} PuntoX = PuntoX/10;

doppio Media, Verhnyayaghranytsa, Nyzhnyayaghranytsa, newres, somma, deviazione;
stringa di testo; int err;
text="campione macd;
Media=iMA(NULL,0,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i);
int k,counted_bars=IndicatorCounted();

//----
//----
for( k = 0; k<BandePeriodo; k++)
{ newres=Close[k]-Average;//Alert (" Average ",Average);
sum+=((newres*100)*(newres*100))/10000;//Alert (" newres ",newres);
}




deviazione=BandsDeviations*MathSqrt(sum/BandsPeriod);
Verhnyayaghranytsa=Media+deviazione;
Nyzhnyayaghranytsa=deviazione media; //Alert (" sum ",sum);
// Allarme (" deviazione ",deviazione);
//----
se (Verhnyayaghranytsa<Close[i])
{ Comment(" boa ",Verhnyayaghranytsa );
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green);
Alert (" stoploss ",Ask-stoploss*PointX);order=Close[0];order=Close[0];bylstop= Ask-stoploss*PointX;Alert("Error",GetLastError());
}


se (Nyzhnyayaghranytsa>Close[i])
{ Comment(" sell! ",Nyzhnyayaghranytsa );

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+stoploss*PointX,Bid-TakeProfit*PointX, "macd sample",16384,0,Red);
Alert (" stoploss ",Bid+stoploss*PointX); bylstop=Bid+stoploss*PointX;
Alert("ErrorOrdersell",GetLastError()); order=Close[0]; }

}
ritorno(0);

//+------------------------------------------------------------------+



2010.12.22 14:48:09 2010.06.03 07:40 GMT EURUSD,H1: Allarme: PuntoX1.#INF

2010.12.22 14:48:09 2010.06.03 07:40 Thu Thunder EURUSD,H1: Allarme: vzlet0

2010.12.22 14:48:09 2010.06.03 07:40 Thu Thunder EURUSD,H1: Allarme: ticket-1

2010.12.22 14:48:08 2010.06.03 07:40 GMT,H1: Allarme: PuntoX1.#INF

2010.12.22 14:48:08 2010.06.03 07:40 GMT,H1: Allarme: vzlet0

2010.12.22 14:48:08 2010.06.03 07:40 GMT,H1: Allarme: ticket-1

2010.12.22 14:48:08 2010.06.03 07:40 Thu Thu EURUSD,H1: Allarme: PointX1.#INF.



 
Vedo che nella seconda versione, se un ordine è aperto, PointX non è più diviso. Ma il problema principale non è stato preso.
 

Non capisco la logica dell'assegnazione di un biglietto, non è un numero sequenziale, vero? Sembra che il numero di biglietti aumenti man mano che si va avanti.

Ma come può essere meno uno!!!?

 
Cos'è PointX, a cosa serve? Point è punto, newloss*Point è newloss punti
 

Quando ho appena scritto il mio primo EA, non ha funzionato, ha scritto anche l'errore 130, ma non la modifica, e l'apertura dell'ordine, sul forum consigliato, dicono che hai una piattaforma a cinque cifre, incolla if(Digits==5 || Digits==3) PointX = Point * 10; // correzione del punto per tre-cinque cifre
if(Digits==4 || Digits==2) PointX = Point; ho incollato, tutto ha funzionato!!!!!!!! Ho incollato, copiato, ma non ce l'ho fatta, ho capito l'errore lì, lo capirò da solo.



 
Dimka-novitsek:

Non capisco la logica dell'assegnazione di un biglietto, non è un numero sequenziale, vero? Sembra che il numero di biglietti aumenti man mano che si va avanti.

Ma come può essere meno uno!!!?

Viene mostrato come "-1" se l'ordine non viene attivato. Se l'ordine viene eseguito gli viene dato un numero.