Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1113
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
Hai bisogno di uno script per i fine settimana.
Lavoro nei giorni feriali. Ecco perché uso l'indicatore. Gli do una lista di strumenti e mi chiede le quotazioni per il timeframe, sul grafico del quale si trova. Non mi preoccupo della gestione degli errori. Dopo una dozzina di minuti tutto si sistema.
L'ho completamente dimenticato. Se hai bisogno di salvare la storia, il grafico del simbolo deve essere aperto.
Il mercato è iniziato. Ma né CopyTime, né le chiamate ArrayCopySeries riempiono automaticamente la storia per gli strumenti da MarketWatch.
Le carte degli strumenti non sono mai state aperte.
Ci deve essere una soluzione.
Per esempio, AUDCAD. Non ci sono grafici aperti per questo simbolo. Se apro manualmente il grafico AUDCAD H1 e premo i pulsanti, la storia viene caricata. È lo stesso su altri timeframes - solo in modalità manuale, non vuole farlo automaticamente.
Questo funziona con una stampella, ma scambia anche la storia con nuovi personaggi.
Buon pomeriggio, cari membri del forum. Per favore, non si offenda, sto solo scrivendo la mia tesi e voglio fare qualche ricerca sociologica. Sicuramente ci sono persone che hanno comprato EAs una o più volte. Per favore, ci dica quali criteri erano importanti e cruciali per lei al momento dell'acquisto? Per esempio, può essere:
-tipo di Expert Advisor (trend, sesh, martingala, scalper...)
-Storia neltester di strategia
-alcune funzioni specifiche di Expert Advisor
-descrizione dettagliata di come funziona l'EA e di come è impostato
-valutazione del venditore
- Prezzo EA
-campagne e sconti
O forse qualcos'altro.
Ed è stato contento del suo acquisto?
Grazie mille per la vostra comprensione e le vostre risposte
Buon pomeriggio, cari membri del forum. Per favore, non farti male, sto solo scrivendo la mia tesi e voglio fare qualche ricerca sociologica. Sicuramente ci sono persone che hanno comprato EAs una o più volte. Per favore, ci dica quali criteri erano importanti e cruciali per lei al momento dell'acquisto? Per esempio, può essere:
-tipo di Expert Advisor (trend, sesh, martingala, scalper...)
-Storia neltester di strategia
-alcune funzioni specifiche di Expert Advisor
-descrizione dettagliata di come funziona l'EA e di come è impostato
-valutazione del venditore
- Prezzo EA
-campagne e sconti
O forse qualcos'altro.
Ed è stato contento del suo acquisto?
Grazie mille per la vostra comprensione e le vostre risposte
Puoi dirmi dov'è l'errore? I valori degli elementi dell'array Koef[] sono calcolati, ad ogni elemento viene assegnato un valore. Perché Buffer1[] non è assegnato?
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_level1 0.8
#property indicator_level2 -0.8
#property indicator_levelcolor Black
#property indicator_color1 Blue
#property indicator_minimum -1
#property indicator_width1 2
#property indicator_style1 0
#property indicator_maximum 1
double Buffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//--- indicator buffers mapping
SetIndexBuffer(0, Buffer1);
SetIndexStyle(0, DRAW_LINE);
return(0);
//---
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int n=25; // количество элементов в массиве(для периода H1 n=25, тк i<n)
int m=24; // количество массивов(для периода H1 m=24, тк p=0, p<m)
int w=18; // количество заков после запятой
double Price_CloseX[][24]; // Массив цен закрытия 1 пары
double Price_CloseY[][24]; // Массив цен закрытия 2 пары
double dx[][24]; // Отклонение от среднего значения для пары 1 dx
double dy[][24]; // Отклонение от среднего значения для пары 2 dy
double dx2[][24]; // Квадрат отклонения ср.значения dx2
double dy2[][24]; // Квадрат отклонения ср.значения dy2
double dxdy[][24]; // Произведение dx и dy
double sum_x[][24];
double sum_y[][24];
double Mx[][24]; // Массив среднего значения цен закрытия пары 1 Mx
double My[][24]; // Массив среднего значения цен закрытия пары 2 My
double Edx2[][24]; // Сумма квадратов отклонений Edx2
double Edy2[][24]; // Сумма квадратов отклонений Edy2
double Edxdy[][24]; // Сумма произведений отклонений Edxdy
double Koef[];
ArrayResize(Price_CloseX, n);
ArrayResize(Price_CloseY, n);
ArrayResize(dx, n);
ArrayResize(dy, n);
ArrayResize(dx2, n);
ArrayResize(dy2, n);
ArrayResize(dxdy, n);
ArrayResize(sum_x, n);
ArrayResize(sum_y, n);
ArrayResize(Mx, n);
ArrayResize(My, n);
ArrayResize(Edx2, n);
ArrayResize(Edy2, n);
ArrayResize(Edxdy, n);
ArrayResize(Koef, n);
string sym_x="EURUSD";
string sym_y="GBPUSD";
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
Price_CloseX[i][p]=iClose(sym_x, PERIOD_H1, i+p);
Price_CloseY[i][p]=iClose(sym_y, PERIOD_H1, i+p);
}
}
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
sum_x[i][p]=sum_x[i][p-1]+Price_CloseX[i][p];
sum_y[i][p]=sum_y[i][p-1]+Price_CloseY[i][p];
}
}
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
Mx[i][p]=sum_x[p+1][m-1]/(n-1);
My[i][p]=sum_y[p+1][m-1]/(n-1);
}
}
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
dx[i][p]=Price_CloseX[i][p]-Mx[i][p];
dy[i][p]=Price_CloseY[i][p]-My[i][p];
}
}
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
dx2[i][p]=(dx[i][p]*dx[i][p])*1000000;
dy2[i][p]=(dy[i][p]*dy[i][p])*1000000;
}
}
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
dxdy[i][p]=(dx[i][p]*dy[i][p])*1000000;
}
}
for(int i=1; i<n; i++)
{
for(int p=0; p<m; p++)
{
Edx2[i][p]=(Edx2[i-1][p]+dx2[i][p]);
Edy2[i][p]=(Edy2[i-1][p]+dy2[i][p]);
Edxdy[i][p]=(Edxdy[i-1][p]+dxdy[i][p]);
}
}
for(int p=0; p<m; p++)
{
Koef[p]=Edxdy[n-1][p]/sqrt(Edx2[n-1][p]*Edy2[n-1][p]);
Buffer1[p]=Koef[p];
Alert("Коэффициент корреляции Пирсона между ", sym_x, " и ", sym_y, " равен ", DoubleToString(Koef[p], w));
Alert("Значение буфера ", p, " равно ", Buffer1[p]);
}
return(0);
}
Ho capito bene che con tp=2, sl=20 e spread=2 la probabilità di tp=(2+2)/(20-2)=0.22.... o devo moltiplicare per qualche coefficiente? E se vero tp=0.22, allora idealmente possiamo aprire 3 trade di fila con questi parametri, e 4 dell'affare da saltare?
Non darò un link, la gente la pensa diversamente. Consiglio di partire dal principio della mancanza di speranza di costruire il Graal. In questo caso, ad un dato TP e SL, può essere formulato come segue:
In assenza di spread, il payoff atteso in qualsiasi serie di trade con lo stesso SL e lo stesso TP è zero.
L'aspettativa di profitto senza spread è uguale a P(TP)*TP-P(SL)*SL=0, dove SL e TP sono le distanze dal livello di apertura del trade ai loro livelli, P è la probabilità di completamento del trade da SL o TP, rispettivamente.
Dalla condizione di completamento di tutti gli accordi P(TP)+P(SL)=1, dove P(TP)*TP-(1-P(TP))*SL=0, P(TP)*(TP+SL)=SL e
P(TP)=SL/(SL+TP).
Per prendere in considerazione lo spread, bisogna sostituire l'aspettativa di profitto zero con l'aspettativa di perdita della dimensione dello spread, P(TP)*TP-P(SL)*SL=Spread, e ricavare la formula necessaria.
Non darò un link, la gente la pensa diversamente. Consiglio di partire dal principio della mancanza di speranza di costruire il Graal. In questo caso, per i dati TP e SL, può essere formulato come segue:
In assenza di spread, il payoff atteso in qualsiasi serie di trade con lo stesso SL e lo stesso TP è zero.
L'aspettativa di profitto senza spread è uguale a P(TP)*TP-P(SL)*SL=0, dove SL e TP sono le distanze dal livello di apertura del trade ai loro livelli, P è la probabilità di completamento del trade da SL o TP, rispettivamente.
Dalla condizione di completamento di tutti gli accordi P(TP)+P(SL)=1, dove P(TP)*TP-(1-P(TP))*SL=0, P(TP)*(TP+SL)=SL e
P(TP)=SL/(SL+TP).
Per prendere in considerazione lo spread, dobbiamo sostituire il payoff atteso zero con un'aspettativa di perdita uguale allo spread, P(TP)*TP-P(SL)*SL=Spread, e ricavare la formula necessaria.
Chiedendo del coefficiente, ricordo qualcosa come C(n,k), cioè P(x)=C(n,k)*P(y/x)..... Comunque, sono confuso... Dovrò sfogliare il libro.
Se stiamo parlando di libri sulla teoria della probabilità, e a giudicare dal suggerimento del numero di combinazioni di n per k C(n,k), questa è combinatoria, allora non ci sono risposte alla domanda posta nella teoria della probabilità. In particolare la formula P(TP)*TP-P(SL)*SL=0
L'ho capito empiricamente. Nella ricerca di una tale combinazione di SL e TP che darebbe anche la più piccola deviazione statisticamente significativa da zero. Il database delle storie di tick per 25 coppie di valute è stato raccolto circa 300 settimane da 50-60 centri di negoziazione, c'erano 50 miliardi di tick in quel momento. Ho provato decine di metodi di apertura regolare o pseudo-casuale delle offerte. Il tasso senza lo spread è stato considerato la media aritmetica del Bid e Ask.
Se stiamo parlando di libri sulla teoria della probabilità, e a giudicare dal suggerimento del numero di combinazioni di n per k C(n,k), questa è combinatoria, allora non ci sono risposte alla domanda posta nella teoria della probabilità. In particolare la formula P(TP)*TP-P(SL)*SL=0
L'ho capito empiricamente. Nella ricerca di una tale combinazione di SL e TP che darebbe anche la più piccola deviazione statisticamente significativa da zero. Il database delle storie di tick per 25 coppie di valute è stato raccolto circa 300 settimane da 50-60 centri di negoziazione, c'erano 50 miliardi di tick in quel momento. Ho provato decine di metodi di apertura regolare o pseudo-casuale delle offerte. Il tasso senza spread è stato considerato la media aritmetica del Bid e Ask.