input : 최적화반복횟수(1);
var : RandomV(0);
RandomV = Random(1);
if MarketPosition == 0 and RandomV > 0.5 Then
Buy("랜덤매수", AtMarket);
if MarketPosition == 1 and BarsSinceEntry > 1000 Then
ExitLong("매수청산", AtMarket);
if MarketPosition == 0 and RandomV < 0.5 Then
Sell("랜덤매도", AtMarket);
if MarketPosition == -1 and BarsSinceEntry > 1000 Then
ExitShort("매도청산", AtMarket);
해당식을 분봉차트에서 최적화를 통해 1-10회 공회전을 돌렸는데 결과값이 전부 일치합니다. 랜덤진입식인만큼 일치해서는 안되는데 최적화를 통해 돌려보는것은 값이 어딘가에서 고정이 되는건지 바뀌지가 않습니다. 일일이 손으로 1회씩 돌려보는것은 매번 결과값이 달라집니다.
어떻게해야 랜덤진입식을 매번다르게 여러번 시행할수 있을까요?
답변 1
예스스탁
예스스탁 답변
2022-12-09 17:29:25
안녕하세요
예스스탁입니다.
문의하신 내용은 별도로 처리할 방법이 없습니다
랭귀지의 랜덤함수는 C언어의 랜덤함수를 사용하게 됩니다.
컴퓨터에서 난수를 생성하는 특정알고리즘이 있는데
해당 알고리즘으로 생성되는 난수가 시간별로 하나의 값입니다.
최적화는 한번에 여러케이스를 쓰레드를 나누어 동시로 돌리게 되는데
이때 모두 동일한 난수값을 할당받게 됩니다.
그러므로 1~10의 경우들이 모두 같은 결과를 같게 됩니다.
최적화를 10회가 아닌 100회, 200회 돌려보시면
한번에 모두 셋팅 되지 않으므로 특정 묶음으로 값이 변경되게 됩니다.
즐거운 하루되세요
> 부동여산 님이 쓴 글입니다.
> 제목 : 랜덤진입식 다회실행 결과값이 같은데
> input : 최적화반복횟수(1);
var : RandomV(0);
RandomV = Random(1);
if MarketPosition == 0 and RandomV > 0.5 Then
Buy("랜덤매수", AtMarket);
if MarketPosition == 1 and BarsSinceEntry > 1000 Then
ExitLong("매수청산", AtMarket);
if MarketPosition == 0 and RandomV < 0.5 Then
Sell("랜덤매도", AtMarket);
if MarketPosition == -1 and BarsSinceEntry > 1000 Then
ExitShort("매도청산", AtMarket);
해당식을 분봉차트에서 최적화를 통해 1-10회 공회전을 돌렸는데 결과값이 전부 일치합니다. 랜덤진입식인만큼 일치해서는 안되는데 최적화를 통해 돌려보는것은 값이 어딘가에서 고정이 되는건지 바뀌지가 않습니다. 일일이 손으로 1회씩 돌려보는것은 매번 결과값이 달라집니다.
어떻게해야 랜덤진입식을 매번다르게 여러번 시행할수 있을까요?