Vince에 따른 로트 계산 - 페이지 9

 
Roman. :

Vince에 따라 Lot를 계산하는 기능이 완료되면, 예를 들어 매월(또는 심지어 일주일) Lot를 계산하고 미결 거래의 Lot를 관리하는 Advisor 작업의 예를 보고 싶습니다. 따라서! :))

Vince에 따라 로트를 계산하지 않고 고문의 옵션, 즉. 창고의 %에 따라 일정한 로트 또는 로트 증가.

이 실험의 결과는 흥미롭습니다.

결국, 내가 이해하는 것처럼 모든 것은 이것 때문에 시작되었습니다! ;)

 
MaxZ :

나는 너무 게을러서 어드바이저에 코드를 삽입하고 모든 것을 개인적으로 확인했습니다! :)))

예, 마치 정상적인 고문이 없는 것처럼. 개발만... 그래서 저는 표준 이동 평균을 취하고 최적화하지 않고 수익성 있는 기간을 선택하고 확인하기 시작했습니다.

TWR이 "1"로 재설정되지 않는다는 것을 깨달았을 때 생각해낸 마지막 코드는 다음과 같습니다.

TWR 어레이가 없었습니다.

오버플로는 오래 기다릴 것입니다! ;D 아예 존재하지 않을 수도 있겠지만...


감사합니다, Maxim, 확인하겠습니다. 여기에 또 다른 요점이 있습니다. 변수 D는 내역에 대한 트랜잭션의 최대 손실이므로 이 구성을 변경해야 합니다.

       if (orderIndex == 0 || lastProfit < D)
         D = lastProfit;

저것들. 히스토리 루프에도 있습니다(외부 변수를 신경 쓰지 않기 위해 - 최대 값(테스트의 전체 기록에서 가장 수익성이 없는 거래의 최대 손실)을 찾고 계수로 "영혼을 진정"시키기 위해 곱합니다. , 1.5라고 가정해 봅시다. 처음에는 경매에서 더 큰 손실에 대비할 수 있고, 그 다음에야 추가 TRR 계산에서 그 가치( 주문 내역 주기에서 더 일찍 얻음)를 계산할 수 있습니다.

 TWR = 1 +f*(-Mas_Outcome_of_transactions[orderIndex]/(D));

D는 마지막(또는 첫 번째 손실)이 아니며 테스트된 전체 이력에 대한 한 거래의 최대 손실이며 일반적으로 외부 변수 없이 EA에서 최적의 f를 계산하여 의 크기를 결정하는 것이 가능합니다. 이후에 (지금부터) 많이 열렸습니다.

 
MaxZ :

Vince에 따라 Lot를 계산하는 기능이 완료되면, 예를 들어 매월(또는 심지어 일주일) Lot를 계산하고 미결 거래의 Lot를 관리하는 Advisor 작업의 예를 보고 싶습니다. 따라서! :))

Vince에 따라 로트를 계산하지 않고 고문의 옵션, 즉. 창고의 %에 따라 일정한 로트 또는 로트 증가.

이 실험의 결과는 흥미롭습니다.

결국, 내가 이해하는 것처럼 모든 것은 이것 때문에 시작되었습니다! ;)


네. 예를 들어, MM에 대한 많은 옵션 있습니다. 이 옵션은 함수로 래핑했습니다(정지 손실의 크기에 따라 자본에 대한 포지션 볼륨(%). 관심이 있는 경우 이 기능을 여기에 게시할 수 있습니다.

모든 것을 마치면 확인하고 올빼미의 일부 변형(다른 MM 변형 포함)과 함께 코드에 넣고 함께 비교하고 확인합니다... :-)))

다른 MM 옵션을 사용하여 동일한 설정을 사용하여 동일한 Expert Advisor를 테스트한 결과의 예는 기하 평균 방법을 사용하여 R. Vince가 최적의 f 계산을 성공적으로 완료한 후 주말에 제공하겠습니다.

 

Roman. :

감사합니다, Maxim, 확인하겠습니다. 여기에 또 다른 요점이 있습니다. 변수 D는 내역에 대한 트랜잭션의 최대 손실이므로 이 구성을 변경해야 합니다.

       if (orderIndex == 0 || lastProfit < D)
         D = lastProfit;
저것들. 히스토리 루프에도 있습니다(외부 변수에 신경 쓰지 않기 위해 - 최대값도 찾습니다(테스트의 전체 히스토리에서 가장 수익성이 없는 트랜잭션의 최대 손실).

따라서 이 구성에서는 최대 손실을 구합니다. 나는 보고서와 잡지를 비교한다. 모든 것이 수렴됩니다.
 
MaxZ :
따라서 이 구성에서는 최대 손실을 구합니다. 나는 보고서와 잡지를 비교한다. 모든 것이 수렴됩니다.

.
 

var를 포함한 다양한 MM 옵션으로 어드바이저를 테스트한 결과 사진을 게시합니다. 3 번 - R. Vince의 방법에 따라 평균 기하학적 - 최적 f. Expert Advisor에서 유사한 로트 계산 기능을 표시하고 출력에서 잔액 변경의 얻은 값을 비교할 수 있습니다. 여기서 작업은 최적의 조명에서 R. Vince의 최적 f에 따라 MM으로 올빼미의 작업을 표시하도록 설정되지 않았으며 목표는 최적 f를 올바르게 계산하는 함수를 작성하는 것이었으며 결과적으로 후속 볼륨 주문이 열렸습니다. 다음은 외부 변수입니다.

 extern string A3 = "Расчет лота по Р.Винсу" ; // При количестве сделок на истории от 150 (при наличии репрезентативной выборки)
extern string A4 = "через значение оптимального f" ; // метод геометрического среднего 
extern bool optimal_f = true ;           // Торговать с расчетом последующих объемов лотов по методу Р.Винса: Да/Нет
extern double Transaction_number = 150 ; // номер сделки, с которого считаем последующие объемы открываемых позиций через 
                                         // оптимальное f. До этой сделки - минимальный лот.

여기에서 이 Expert Advisor(예고편에서 MA 기반, MT 터미널의 표준 배송에 포함됨)에서 보고서와 함께 최적의 f를 계산하는 다음 접근 방식이 구현됩니다. 테스터 또는 거래 계정에 Transaction_number 변수에 표시된 것보다 더 많은 거래가 있는 경우(특성(손익)에 따라 마감된 포지션의 수, 후속 주문/오픈 주문의 양을 고려함) 진행합니다. R. Vince에 따른 로트 계산. 저것들. 각 후속 주문은 f의 새로운 값과 결과적으로 볼륨으로 열립니다. 동시에 이 접근 방식은 완전히 정확하지 않습니다. 누구든지 이 로트 계산 옵션에 관심이 있는 사람은 다음을 고려해야 합니다. 예를 들어 이 로트 계산 방식은 정확하지만 반드시 필요한 것은 아닙니다 . Transaction_number 보다 큰 각 후속 트랜잭션에 대한 새 볼륨을 계산하기 위해 다음과 같이(이것은 최적 f를 계산하는 접근 방식만 중요한 예일 뿐입니다): EA 매개변수는 2008년 1월부터 2010년 1월까지 H1에 최적화되어 있습니다. 그런 다음 최적의 f 값을 계산하고 그에 따라 최적화 섹션의 15~25%에서 포워드 섹션에서 열린 포지션의 양을 계산합니다. 2010년 1월부터 2010년 6월까지 포지션 볼륨은 일정합니다. 이것은 전방 테스트입니다. 그런 다음 반복합니다. 2008년 1월 - 2010년 6월 - 최적의 f를 고려합니다. 이것은 30개월이고 후속 기간은 15-25%입니다. 즉. 최대 7 또는 8개월 - 주어진 새로운 계산 기간 동안 최적 f를 새로 계산한 결과 얻은 일정한 신규 거래량 으로 거래합니다(계산 기간 Transaction_number - 개념에 해당하는 숫자 값을 가져야 함). 샘플의 대표성, 즉 200에서 500 - 이미 표준, IMHO). 그게 다야 - 사이클이 끝났습니다. 최적화 기간의 15-25%에 대한 거래량 계산에 대한 동일한 접근 방식을 계속 사용합니다. - 이 거래 기간 동안 거래량은 이전에 계산된 최적의 f 값에 따라 일정합니다. 각 후속 거래에 대해 다시 계산되지 않습니다.

변수 1번 - 영구 로트 - 0.1.

변수 2번 - 무료 중형 TV 비율

 extern double Lots = 0 ;
extern string A0 = "Вариант ММ" ;
extern string A1 = "Процент от своб. ср-тв" ;
extern string A2 = "с возможностью уменьшения Lots при проигрыше" ;
extern bool MaximumRisk_DecreaseFactor = true ; //считать объем лотов от процента своб ср-тв и также с уменьшающим коэффициентом
                                   //(при его значении больше "0")  при предыщущей убыточной позиции на истории торгового счета
extern double MaximumRisk = 0.02 ; // процент от своб ср-тв 
extern double DecreaseFactor = 3 ; // уменьшающий коэфиициент при проигрыше для открытия очередной меньшей предыдущей по объему позиции

변수 3 번 - 최적의 f에 따라 :

계산에 대한 설명 - 31-33 - 두 번째 페이지 아카이브의 예고편 참조 - 책 "자본 관리의 수학".

이와 관련하여 책 36페이지의 흥미로운 인용문:

"

분산투자가 충분히 효과적이라면 손실을 완전히 피할 수 있다는 오해가 있습니다. 효과적인 분산투자를 통해 손실을 어느 정도 완화할 수는 있지만 완전히 제거할 수는 없습니다. 자신을 오도하지 마십시오. 시스템을 얼마나 잘 사용하느냐가 중요하지 않습니다. 아무리 효과적으로 다각화하더라도 여전히 상당한 손실에 직면할 것입니다. 그 이유는 시장 시스템의 상호 상관 관계가 아닙니다. 포트폴리오의 시장 시스템 대부분 또는 전부가 당신에게 불리하게 작용해서는 안 된다고 생각하는 경우가 있기 때문입니다. 모든 거래 시스템이 최적의 f에서 작동하고 동시에 최대 손실이 30% 미만이 되도록 5년의 과거 데이터가 있는 포트폴리오를 찾으십시오! 쉽지 않을 것이다. 얼마나 많은 시장 시스템이 사용되는지는 중요하지 않습니다. 모든 것을 수학적으로 올바르게 수행하려면 계정 잔액의 30~95%를 잃을 준비를 해야 합니다... :-)))) 가장 엄격한 규율이 필요하며 모든 사람이 이를 따를 수는 없습니다.

거래자는 일정한 수의 계약 거래를 거부하자마자 거래 금액의 문제에 직면합니다. 이것은 거래자가 문제를 인식하는지 여부에 관계없이 항상 발생합니다. 일정한 수의 계약을 거래하는 것은 해결책이 아닙니다. 이러한 방식으로는 결코 기하학적 성장을 이룰 수 없기 때문입니다. 따라서 좋든 싫든 다음 거래에서 얼마를 거래해야 하는지에 대한 질문은 모두에게 불가피할 것입니다. 단순히 난수를 선택하면 심각한 오류가 발생할 수 있습니다. 최적의 f 는 수학적으로 올바른 솔루션입니다."

추신 이 기능을 전문가에게 맡기고, 보고, 확인하고, 다른 MM 옵션과 결과를 비교하고, 여기에서 흥미로운 보고서와 결론을 공유하는 것을 잊지 마십시오...

파일:
 

다음 코드에 대한 메모가 있습니다.

lot = NormalizeDouble (( AccountFreeMargin ()/H)*Min_Lot, 1 );

정밀도를 "1"에서 "2"로 변경하겠습니다. 결국 Min_Lot = 0.01도 있습니까?

지금 마지막 테스트를 시도하십시오.


이 코드에 대한 메모가 하나 더 있습니다. 손실 거래의 비율이 수익성 있는 거래의 비율을 초과할 때 로트 계산에 사용 가능한 모든 자금을 사용하는 것은 바람직하지 않습니다.

또는 Vince의 로트 계산이 시작되기 전에 더 큰 로트를 사용해야 합니다. 아래에 설명이 있습니다.


다음 결과를 얻었습니다(EURUSD 통화 쌍, H1 기간, 현재 연도, 최적화가 수행되지 않음, 매개변수는 귀하의 것):

0). 일정한 로트(로트 = 0.1).

전략 테스트 보고서
이동 평균_MM
EGlobal-데모(빌드 402)

상징 EURUSD(유로 vs USD)
기간 1시간(H1) 2011.01.03 00:00 - 2011.08.19 22:59 (2011.01.01 - 2011.08.20)
모델 공개 가격(바 개방을 명시적으로 제어하는 Expert Advisor만 해당)
옵션 로트=0.1; A0="MM 변형"; A1="무료 평균 비율"; A2="패배 시 제비 감소 가능성 있음"; MaximumRisk_DecreaseFactor=거짓; 최대 위험 = 0.02; 감소 인자=3; A3="R.Vince에 의한 로트 계산"; A4="최적의 f 값을 통해"; 최적의_f=참; transaction_number=100; A5="기술 지표의 매개변수"; MovingPeriod=12; 이동시프트=6;

역사의 바 4925 시뮬레이션된 진드기 8849 시뮬레이션 품질 해당 없음
그래프 불일치 오류 0




초기 보증금 10000.00



순이익 669.25 총 이윤 4458.42 총 손실 -3789.17
수익성 1.18 우승 기대 3.80

절대 드로다운 157.47 최대 드로다운 693.81 (6.15%) 상대적인 하락 6.15% (693.81)

총 거래 176 숏포지션(%원) 70 (25.71%) 롱포지션(%원) 106 (34.91%)

수익성 있는 거래(전체의 %) 55 (31.25%) 거래 손실(전체의 %) 121 (68.75%)
가장 큰 수익성 있는 거래 341.58 무역 손실 -139.95
중간 수익성 있는 거래 81.06 무역 손실 -31.32
최대 금액 연속 우승(이익) 3 (153.85) 연속 손실(손실) 9 (-252.47)
최고 연속 이익 (승수) 341.58 (1) 연속 손실(손실 수) -350.42 (6)
평균 연속 이득 하나 지속적인 손실

결론:

결과는 허용됩니다: 거래 수, 수익성. 설정을 최적화하지 않았습니다.


하나). 작성자 코드(Transaction_number = 100)를 사용하려는 첫 번째 시도에서 0.01의 일정한 로트에서 시작합니다.

전략 테스트 보고서
이동 평균_MM
EGlobal-데모(빌드 402)

상징 EURUSD(유로 vs USD)
기간 1시간(H1) 2011.01.03 00:00 - 2011.08.19 22:59 (2011.01.01 - 2011.08.20)
모델 공개 가격(바 개방을 명시적으로 제어하는 Expert Advisor만 해당)
옵션 로트=0; A0="MM 변형"; A1="무료 평균 비율"; A2="패배 시 제비 감소 가능성 있음"; MaximumRisk_DecreaseFactor=거짓; 최대 위험 = 0.02; 감소 인자=3; A3="R.Vince에 의한 로트 계산"; A4="최적의 f 값을 통해"; 최적의_f=참; transaction_number=100; A5="기술 지표의 매개변수"; MovingPeriod=12; 이동시프트=6;

역사의 바 4925 시뮬레이션된 진드기 8849 시뮬레이션 품질 해당 없음
그래프 불일치 오류 0




초기 보증금 10000.00



순이익 -458.67 총 이윤 445.84 총 손실 -904.52
수익성 0.49 우승 기대 -2.61

절대 드로다운 476.69 최대 드로다운 787.28 (7.64%) 상대적인 하락 7.64% (787.28)

총 거래 176 숏포지션(%원) 70 (25.71%) 롱포지션(%원) 106 (34.91%)

수익성 있는 거래(전체의 %) 55 (31.25%) 거래 손실(전체의 %) 121 (68.75%)
가장 큰 수익성 있는 거래 34.16 무역 손실 -528.00
중간 수익성 있는 거래 8.11 무역 손실 -7.48
최대 금액 연속 우승(이익) 3 (15.39) 연속 손실(손실) 9 (-25.25)
최고 연속 이익 (승수) 34.16(1) 연속 손실(손실 수) -546.34 (6)
평균 연속 이득 하나 지속적인 손실


결론 :

EA가 100번의 거래를 할 때까지: 손실은 적고 최대 손실도 크지 않습니다(D). 따라서 H는 작습니다.

H=D/(-f);

그리고 Vince에 대한 계산된 제비는 엄청날 것입니다.

lot = NormalizeDouble (( AccountFreeMargin ()/H)*Min_Lot, 1 );

H 매개변수보다 몇 배나 큰 모든 무료 자금을 사용하기 때문입니다.

앞서 쓴 것처럼 손실 거래의 비율이 수익성 거래보다 높고 손실 가능성이 더 높으며 이는 테스트에서 발생했습니다.

최적 f의 다음 계산에서 매개변수 D는 이전 것보다 몇 배 더 높아집니다. 그리고 그게 다야, 당신은 도착했습니다... 포지션은 0.01 랏의 볼륨으로 열립니다.


2). 작성자 코드(Transaction_number = 100)를 사용하려는 두 번째 시도에서는 일정한 로트 0.1로 시작합니다(Initial_Lots 입력 매개변수 추가).

코드를 다음 줄로 변경합니다.

}     // Выход из  if (Transaction_number<Qnt)
else {
   lot=Initial_Lots; // Min_Lot;
   Print ( "Закрытых позиций = " ,   Qnt, " Transaction_number = " , Transaction_number);
   return (lot);
}
전략 테스트 보고서
이동 평균_MM
EGlobal-데모(빌드 402)

상징 EURUSD(유로 vs USD)
기간 1시간(H1) 2011.01.03 00:00 - 2011.08.19 22:59 (2011.01.01 - 2011.08.20)
모델 공개 가격(바 개방을 명시적으로 제어하는 Expert Advisor만 해당)
옵션 로트=0; A0="MM 변형"; A1="무료 평균 비율"; A2="패배 시 제비 감소 가능성 있음"; MaximumRisk_DecreaseFactor=거짓; 최대 위험 = 0.02; 감소 인자=3; A3="R.Vince에 의한 로트 계산"; A4="최적의 f 값을 통해"; 최적의_f=참; transaction_number=100; Initial_Lots=0.1; A5="기술 지표의 매개변수"; MovingPeriod=12; 이동시프트=6;

역사의 바 4925 시뮬레이션된 진드기 8849 시뮬레이션 품질 해당 없음
그래프 불일치 오류 0




초기 보증금 10000.00



순이익 578.78 총 이윤 4703.48 총 손실 -4124.69
수익성 1.14 우승 기대 3.29

절대 드로다운 157.47 최대 드로다운 768.81 (6.82%) 상대적인 하락 6.82% (768.81)

총 거래 176 숏포지션(%원) 70 (25.71%) 롱포지션(%원) 106 (34.91%)

수익성 있는 거래(전체의 %) 55 (31.25%) 거래 손실(전체의 %) 121 (68.75%)
가장 큰 수익성 있는 거래 474.11 무역 손실 -154.00
중간 수익성 있는 거래 85.52 무역 손실 -34.09
최대 금액 연속 우승(이익) 3 (153.85) 연속 손실(손실) 9 (-327.47)
최고 연속 이익 (승수) 490.11 (2) 연속 손실(손실 수) -504.89 (6)
평균 연속 이득 하나 지속적인 손실


결론 :

차트는 더 흥미로워졌지만 여전히 수익성은 더 나빠...


나는 포지션 볼륨의 급격한 점프에 분노했고 코드에 들어갔다.

삼). 저자 코드(Transaction_number = 100)를 사용하려는 세 번째 시도는 일정한 로트 0.1로 시작하여 로트 계산의 정확도를 수정했습니다.

코드를 다음 줄로 변경합니다.

lot = NormalizeDouble (( AccountFreeMargin ()/H)*Min_Lot, 2 );
전략 테스트 보고서
이동 평균_MM
EGlobal-데모(빌드 402)

상징 EURUSD(유로 vs USD)
기간 1시간(H1) 2011.01.03 00:00 - 2011.08.19 22:59 (2011.01.01 - 2011.08.20)
모델 공개 가격(바 개방을 명시적으로 제어하는 Expert Advisor만 해당)
옵션 로트=0; A0="MM 변형"; A1="무료 평균 비율"; A2="패배 시 제비 감소 가능성 있음"; MaximumRisk_DecreaseFactor=거짓; 최대 위험 = 0.02; 감소 인자=3; A3="R.Vince에 의한 로트 계산"; A4="최적의 f 값을 통해"; 최적의_f=참; transaction_number=100; Initial_Lots=0.1; A5="기술 지표의 매개변수"; MovingPeriod=12; 이동시프트=6; k=1;

역사의 바 4925 시뮬레이션된 진드기 8849 시뮬레이션 품질 해당 없음
그래프 불일치 오류 0




초기 보증금 10000.00



순이익 386.40 총 이윤 4349.80 총 손실 -3963.40
수익성 1.10 우승 기대 2.20

절대 드로다운 157.47 최대 드로다운 714.98 (6.46%) 상대적인 하락 6.46% (714.98)

총 거래 176 숏포지션(%원) 70 (25.71%) 롱포지션(%원) 106 (34.91%)

수익성 있는 거래(전체의 %) 55 (31.25%) 거래 손실(전체의 %) 121 (68.75%)
가장 큰 수익성 있는 거래 379.29 무역 손실 -169.40
중간 수익성 있는 거래 79.09 무역 손실 -32.76
최대 금액 연속 우승(이익) 3 (153.85) 연속 손실(손실) 9 (-285.97)
최고 연속 이익 (승수) 397.69 (2) 연속 손실(손실 수) -530.19 (6)
평균 연속 이득 하나 지속적인 손실


결론 :

로트가 더 순조롭게 나오기 시작했지만, 다시 한 번 일반적으로 지는 거래의 수로 인해 고문의 수익성이 감소했습니다.


4). 저자의 코드(Transaction_number = 100)를 사용하려는 네 번째 시도는 일정한 로트 0.1에서 시작하여 빈 여백(50%)의 일부만 사용하여 Vince(FreeMarginRisk 입력 매개변수 추가)에 따라 로트를 계산합니다.

코드를 다음 줄로 변경합니다.

lot = NormalizeDouble ((FreeMarginRisk* AccountFreeMargin ()/H)*Min_Lot, 2 );
전략 테스트 보고서
이동 평균_MM
EGlobal-데모(빌드 402)

상징 EURUSD(유로 vs USD)
기간 1시간(H1) 2011.01.03 00:00 - 2011.08.19 22:59 (2011.01.01 - 2011.08.20)
모델 공개 가격(바 개방을 명시적으로 제어하는 Expert Advisor만 해당)
옵션 로트=0; A0="MM 변형"; A1="무료 평균 비율"; A2="패배 시 제비 감소 가능성 있음"; MaximumRisk_DecreaseFactor=거짓; 최대 위험 = 0.02; 감소 인자=3; A3="R.Vince에 의한 로트 계산"; A4="최적의 f 값을 통해"; 최적의_f=참; transaction_number=100; FreeMarginRisk=0.5; Initial_Lots=0.1; A5="기술 지표의 매개변수"; MovingPeriod=12; 이동시프트=6;

역사의 바 4925 시뮬레이션된 진드기 8849 시뮬레이션 품질 해당 없음
그래프 불일치 오류 0




초기 보증금 10000.00



순이익 553.66 총 이윤 3960.94 총 손실 -3407.28
수익성 1.16 우승 기대 3.15

절대 드로다운 157.47 최대 드로다운 528.66 (4.80%) 상대적인 하락 4.80% (528.66)

총 거래 176 숏포지션(%원) 70 (25.71%) 롱포지션(%원) 106 (34.91%)

수익성 있는 거래(전체의 %) 55 (31.25%) 거래 손실(전체의 %) 121 (68.75%)
가장 큰 수익성 있는 거래 296.80 무역 손실 -125.95
중간 수익성 있는 거래 72.02 무역 손실 -28.16
최대 금액 연속 우승(이익) 3 (153.85) 연속 손실(손실) 9 (-222.33)
최고 연속 이익 (승수) 330.76 (2) 연속 손실(손실 수) -343.22 (6)
평균 연속 이득 하나 지속적인 손실


결론 :

먼저 최대 드로다운수익성 을 살펴봅니다. 첫 번째 시도보다 훨씬 좋습니다.

다음 패턴은 균형 및 거래량 차트에서도 볼 수 있습니다.

- 수익성이 있는 지역이 관찰되면 로트가 증가합니다.

- 그러나 일련의 손실이 발생하자마자(파라미터 D가 급격히 증가함) 그에 따라 계산된 로트가 급격히 감소합니다.

- 그런 다음 로트의 수익성 있는 섹션이 복원되지만 수익성 있는 거래의 비율이 낮기 때문에 이 현상은 오래가지 않습니다.

어떤 기하학적 평균 이나 무언가가 있습니다! :)))

최신 코드를 첨부합니다...


결론 :

결과 공식에서 Vince에 따라 로트를 올바르게 계산하는 방법:

lot = NormalizeDouble ((FreeMarginRisk* AccountFreeMargin ()/H)*Min_Lot, 2 );

모르겠어요... 즉, 어떤 매개변수를 취해야 하는지입니다.

아니면 누군가가 결과를 반박할 수도 있습니다.


하지만 최대 손실(파라미터 D)을 어떻게든 처리해야 하므로 로트에 비례하여 증가하지 않습니다(어쩌면 StopLoss와의 거래를 제한할 수 있음)...

그러나 무엇보다도 수익성이 있는 거래와 수익성이 없는 거래의 비율을 높이는 것이 필요합니다. Expert Advisor 자체는 매우 간단하며 매우 유익한 결과를 기대하지 않았습니다.

일반적으로 Vince에 따라이 추첨 방식이 생명권이 있다고 생각합니다. 그러나 그것을 완전히 마스터하려면 추가 연구가 필요하며 현재로서는 준비가되어 있지 않습니다. 그런 기성품 거래 시스템이 없습니다 ...

나는 지금 파동 이론, 기술적 분석, 촛대, 가격 행동 방식, 핍소마니아 사이를 헤매는 길을 걷고 있으며 때로는 Lavinshchik과 Martinshchik을 봅니다! :DD

 
MaxZ :

다음 코드에 대한 메모가 있습니다.

1. 정밀도를 "1"에서 "2"로 변경하겠습니다. 결국 Min_Lot = 0.01도 있습니까?

지금 마지막 테스트를 시도하십시오.


2. 이 코드에 대한 메모가 하나 더 있습니다. 손실 거래의 비율이 수익성 있는 거래의 비율을 초과할 때 로트 계산에 사용 가능한 모든 자금을 사용하는 것은 바람직하지 않습니다.

또는 Vince의 로트 계산이 시작되기 전에 더 큰 로트를 사용해야 합니다. 아래에 설명이 있습니다.

...

먼저 최대 드로다운수익성 을 살펴봅니다. 첫 번째 시도보다 훨씬 좋습니다.

균형 및 거래량 차트에서도 다음 패턴을 볼 수 있습니다.

- 수익성이 있는 지역이 관찰되면 로트가 증가합니다.

- 그러나 일련의 손실이 발생하자마자(파라미터 D가 급격히 증가함) 그에 따라 계산된 로트가 급격히 감소합니다.

- 그런 다음 로트의 수익성 있는 섹션이 복원되지만 수익성 있는 거래의 비율이 낮기 때문에 이 현상은 오래가지 않습니다.

어떤 종류 의 기하학적 평균 이나 무언가가 있습니다! :)))

최신 코드를 첨부합니다...


3. 결론 :

...

그러나 무엇보다도 수익성이 있는 거래와 수익성이 없는 거래의 비율을 높이는 것이 필요합니다. Expert Advisor 자체는 매우 간단하며 매우 유익한 결과를 기대하지 않았습니다.

일반적으로 Vince에 따라이 추첨 방식이 생명권이 있다고 생각합니다.

4. 그런 기성품 거래 시스템이 없습니다 ...


이 문제에 대한 가장 흥미롭고 자세한 설명과 검토에 대해 Max에게 감사드립니다.

답변은 위의 요점(질문)을 참조하십시오...

1. "결국, Min_Lot = 0.01도 있나요?" - 아니요. Min_lot = 0.1 - 이것은 고전적인 데모 계정이며, 단계 매개변수(단계 변경) = 동일하므로 정확도는 소수점 이하 한 자리까지입니다.

0.01은 마이크로입니다.

2. 절대적으로 맞습니다.

3. 물론 이것은 이미 사용중인 차량에 직접적으로 의존합니다 ... :-))) 물론 생명권이 있습니다.

4. 차량이 있습니다. 설명 - 여기에서 + 다음 페이지, 여기 에서 지점 끝까지..., "통화 바구니 지수..." 지점 - 여기에서 , 여기 데이터베이스(끝의 "출처" 내용 포함) 기사), 동영상 입니다.

MM 옵션 선택에 관심이 있는 사람들은 이 옵션을 차량에 연결하고 결과를 볼 수 있으며 이 포럼 스레드에서 흥미로운 순간을 공유하는 것을 잊지 마십시오.

 
Roman. :

변수 3 번 - 최적의 f에 따라 :

이 사진에서 계산된 로트가 겁나 뛰는구나... 그래서 처음에는 0.01랏의 거래가 있고 그 다음에는 0.1의 배수로 거래가 되는 줄 알았다. 잘못된! :))

 
MaxZ :
이 사진에서 계산된 로트가 겁나 뛰는구나... 그래서 처음에는 0.01랏의 거래가 있고 그 다음에는 0.1의 배수로 거래가 되는 줄 알았다. 잘못된! :))


R. Vince가 헛되이 쓰지 않는다는 것은 분명합니다.

"

모든 거래 시스템이 최적의 f에서 작동하고 동시에 최대 손실이 30% 미만이 되도록 5년의 과거 데이터가 있는 포트폴리오를 찾으십시오! 쉽지 않을 것이다. 얼마나 많은 시장 시스템이 사용되는지는 중요하지 않습니다. 모든 것을 수학적으로 올바르게 수행하려면 계정 잔액 의 30~95%를 잃을 준비가 되어 있어야 합니다. 가장 엄격한 규율이 필요하며 모든 사람이 이를 준수할 수 있는 것은 아닙니다.

거래자는 일정한 수의 계약 거래를 거부하자마자 거래 금액의 문제에 직면합니다. 이것은 거래자가 문제를 인식하는지 여부에 관계없이 항상 발생합니다. 일정한 수의 계약을 거래하는 것은 해결책이 아닙니다. 이러한 방식으로는 결코 기하학적 성장을 이룰 수 없기 때문입니다. 따라서 좋든 싫든 다음 거래에서 얼마를 거래해야 하는지에 대한 질문은 모두에게 불가피할 것입니다. 단순히 난수를 선택하면 심각한 오류가 발생할 수 있습니다. 최적의 f 는 수학적으로 올바른 솔루션입니다."

:-)))

어쩌면 나는 그것을 위해 일종의 다림질 도구를 생각해 낼 수 있습니다 ... 잘 모르겠습니다. 나는이 문제를 많이 속이지 않았습니다. 작업은 원본 소스에 따라 모든 것을 엄격하게 표시하는 것이 었습니다 ... 우리는 대처했습니다. 그것으로 ... 만세! :-)))

내 생각은 D에 특정 계수, 예를 들어 1.5를 곱하는 것이었습니다. 버퍼(허용 오차)와 같은 것 ... 그러나 이것은 귀하가 말한 문제를 해결하지 못할 것입니다. "-하지만 일련의 손실이 발생하자마자 (매개변수 D가 급격히 증가함) 계산된 로트가 그에 따라 급격히 감소합니다. -여기서 매개 변수 D는 시리즈 때문이 아니라 특정 트랜잭션의 최대 손실로 인해 증가합니다. 여기에는 더 부드러운 것이 있습니다. 그러면 아무도 필요하지 않으며 중지를 사용하기만 하면 됩니다. :-) )) 그래서 이것은 멈춤이 없습니다 ... :-))) 따라서 그러한 상황이 발생합니다 ...

어쨌든 나는 이미 "전투"올빼미에있는이 MM 변형을 자세히 살펴볼 필요가 있다고 생각합니다 !!!