wystarczy Ci. a jesli chcesz zaimplementuj ten prosty algorytm:http://en.wikipedia.org/wiki/Mersenne_Twistermatka pisze:Np. do symulacji MC
Liczby losowe
- f16_rocket
- Stały bywalec
- Posty: 56
- Rejestracja: 09 wrz 2011, 01:54
Tego aktualnie używam ale wolę posprawdzać wszystkie opcje, tym bardziej że chyba nie ma uzasadnienia dla tezy przeciwnej do mojej. Spotkałeś się może z jakimś badaniem wpływu różnych randomizerów na wyniki we wrażliwych na to środowiskach?f16_rocket pisze:wystarczy Ci. a jesli chcesz zaimplementuj ten prosty algorytm:http://en.wikipedia.org/wiki/Mersenne_Twister
Myślę, że nie został. Dla mnie temat bardzo ciekawy, uważam że nie powinno się go upraszczać i rozmywać w oparciu o spekulacje. Szczególnie w kryptografii mamy wiele przykładów, gdzie "losowy" tak naprawdę był łatwy do przewidzenia, głównie dlatego że ktoś nie zadbał o na pozór zupełnie nieistotny, najmniejszy szczegół.skco pisze:temat myślę został wyczerpany.
- f16_rocket
- Stały bywalec
- Posty: 56
- Rejestracja: 09 wrz 2011, 01:54
generator nieprzydatny w kryptografii moze byc nadal doskonaly dla symulacji. (pewnie mowisz o czyms co spotkales. mozesz jakis link dac do tego o czym mowisz? ) jakosc generatora jest oceniana zaleznie od tego do czego ma byc uzywany.matka pisze:Szczególnie w kryptografii mamy wiele przykładów
testowanie jakosci generatora jest tak, powiedzmy delkatnym tematem itd, nie ma sensu tu nad tym roztrzasac, bo to wymaga postudiowania tematu i pewnej wiedzy ze statystyki/matematyki. na poczatek proponuje tego pdfa:
http://www.johndcook.com/Beautiful_Testing_ch10.pdf
jak bedziesz chcial to podrzuce potem jeszcze cos wiecej.
Zgadza się. Moim celem jest ustalenie na ile dokładnie jest przydatny. Po prostu nie lubię pewnych rzeczy pozostawiać przypadkowif16_rocket pisze:generator nieprzydatny w kryptografii moze byc nadal doskonaly dla symulacji

Miałem na myśli ataki na DES'a, MD5, czy choćby DNS cache poisoning autorstwa naszego rodaka, wykorzystujący paradoks urodzinowy.f16_rocket pisze:mozesz jakis link dac do tego o czym mowisz?
Podrzucaj śmiałof16_rocket pisze:jak bedziesz chcial to podrzuce potem jeszcze cos wiecej.

- f16_rocket
- Stały bywalec
- Posty: 56
- Rejestracja: 09 wrz 2011, 01:54
robisz testy na rozklad jakiego zadasz, jezeli generator je zdaje to jest przydatny. nikt Ci nie podesle innej, gotowej odpowiedzi. jest nia Mersenne Twister i inne ze znanych bibliotek, ktore zdaly wiele testow pisanych przez specjalistow.matka pisze: Moim celem jest ustalenie na ile dokładnie jest przydatny.
Jedna uwaga
funkcja SRand - inicjucjąca ziarno
powinna by użyta 1 raz (np w funkcji init) dla danego przebiegu,
a Rand - pobierająca liczbę
dokładnie raz na liczbę
to trochę w opozycji do tego co wklejano jako kod w tym wątku
inaczej wywołanie dwa razy z tym samym seedem da zawsze tę samą liczbę
po za tym jakość generatora jest określana poprzez losowość kolejnych wartości wygenerowanych za pomocą danego seeda a nie pierwszych wartości dla różnych seedów.
funkcja SRand - inicjucjąca ziarno
powinna by użyta 1 raz (np w funkcji init) dla danego przebiegu,
a Rand - pobierająca liczbę
dokładnie raz na liczbę
to trochę w opozycji do tego co wklejano jako kod w tym wątku
inaczej wywołanie dwa razy z tym samym seedem da zawsze tę samą liczbę
po za tym jakość generatora jest określana poprzez losowość kolejnych wartości wygenerowanych za pomocą danego seeda a nie pierwszych wartości dla różnych seedów.
W zasadzie to już jesteś trzeci który na to zwrócił uwagęjinx pisze:Jedna uwaga
funkcja SRand - inicjucjąca ziarno
powinna by użyta 1 raz (np w funkcji init) dla danego przebiegu,
a Rand - pobierająca liczbę
dokładnie raz na liczbę
to trochę w opozycji do tego co wklejano jako kod w tym wątku

To chyba oczywiste i wynika z pierwszegopo za tym jakość generatora jest określana poprzez losowość kolejnych wartości wygenerowanych za pomocą danego seeda a nie pierwszych wartości dla różnych seedów.

A nawiązując do tematu MC (nie margin call

Gdyby to były analizy (jak zauważono) kryptograficzne, albo gdyby MC używano do jakiś super precyzyjnych (chociaż w przypadku MC cięzko mówić o precyzyjności

Ale jaka jest prawda (mówie o świecie MT4), dane różnią się między brokerami, quality mamy powiedzmy na poziomie 99%, operacji które symulujemy jest naprawdę mało porównując z "wielkimi eksperymentami". Nawet gdyby rozkład nie był zbyt losowy, jak to wpłynie na cała symulację (mówię o seriach symulacji, gdzie będą różne seedy) myślę, że ułamkowo, patrząc na inne odchylenia, modelu.
Ostatecznie nie jest problemem zaimplementowanie 2-3 różnych algorytmów liczb losowych i porównanie wyników.
Dla mnie temat BUSTED

@up
dzięki za przyprowadzenie do porządku, przyznaje się bez bicia nie przeczytałem całego wątku, tylko jak zobaczyłem takie babole w sekcji code to od razu pisałem
.
co do testu czy generator jest dobry
http://statystyka.rezolwenta.eu.org/Mat ... st-chi.pdf
test chi-kwadrat
uczyli mnie na studiach kiedyś, że jest najbardziej miodny ze wszystkich
może poza czymś co się nazywa podwójny test chi-kwadrat (sprawdza się, czy wyniki testu chi-kwadrat są zgodne z rozkładem chi kwadrat
) a tak po ludzku to dobry generator losowy powinien test losowości od czasu do czasu oblać np generując 10 jedynek pod rząd (ale nie za często)
dzięki za przyprowadzenie do porządku, przyznaje się bez bicia nie przeczytałem całego wątku, tylko jak zobaczyłem takie babole w sekcji code to od razu pisałem

co do testu czy generator jest dobry
http://statystyka.rezolwenta.eu.org/Mat ... st-chi.pdf
test chi-kwadrat
uczyli mnie na studiach kiedyś, że jest najbardziej miodny ze wszystkich
może poza czymś co się nazywa podwójny test chi-kwadrat (sprawdza się, czy wyniki testu chi-kwadrat są zgodne z rozkładem chi kwadrat

- f16_rocket
- Stały bywalec
- Posty: 56
- Rejestracja: 09 wrz 2011, 01:54
Kiedyś byłem mniej zaangażowany w kodowanie.. (wszystko było pod górke..heh)
http://www.forex.nawigator.biz/dyskusje ... 839#210839
Ale testuje różne koncepcje i.. słabo mi wychodzi ten RandomChart
Dajcie mi tendy..

http://www.forex.nawigator.biz/dyskusje ... 839#210839
Ale testuje różne koncepcje i.. słabo mi wychodzi ten RandomChart
Dajcie mi tendy..


Kod: Zaznacz cały
//+------------------------------------------------------------------+
#property copyright "reptile"
#property link "http://www.reptile.pl"
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Lime
//+------------------------------------------------------------------+
extern string Instrument = "RandomChart";
extern double digit = 0.0001;
extern bool Invert=false;
//+------------------------------------------------------------------+
//---- buffers
double ExtMapBuffer1[];
//--- other
double quote;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
IndicatorShortName(Instrument);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- the last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- main loop
for(int i=0; i<limit; i++)
{
//+------------------------------------------------------------------+
//---StartPrice
if (i==0){
//quote=MathRand();
quote=digit;
}
double tick = quote;
//---TimeFrame
int M1 = 60;
int M5 = 5*M1;
int TF = M1;
//---ChartGenerator
for(int t=0; t<TF; t++)
{
int u=MathRand()&1;
int d=MathRand()&1;
if (u==d) tick =tick;
if (u==1 && d==0) tick =tick+digit;
if (u==0 && d==1) tick =tick-digit;
}
double index = tick;
//double index = iClose(Instrument,0,i);
//+------------------------------------------------------------------+
if (Invert==false){ ExtMapBuffer1[i] = index ;}
if (Invert==true){ ExtMapBuffer1[i] = 1/index ;}
}
//+------------------------------------------------------------------+
//---end
return(0);
}
//+------------------------------------------------------------------+
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
R.E.P.T.I.L.E. - Robotic Electronic Person Trained for Infiltration and Logical Exploration (off-line,only e-mail)