자동 로트 크기 계산 기능? - 페이지 6

 
1005phillip :

천만에요! 효과가 있음을 알려주셔서 감사합니다. 피드백에 감사드립니다. 이전 코드에서 무엇이 잘못되었는지 확실하지 않습니다. 수정 사이에 내가 무의식적으로 수정한 일종의 버그일 수 있습니다.

MT4에서 교차 통화 쌍에 대한 백테스팅에 사용할 몇 가지 대체 기능이 있는 업데이트된 버전이 1~2주 내에 있을 것입니다. 지금 당장 내 로트 크기 코드를 사용하는 동안 교차 쌍을 시도하고 백테스트하면 백테스터가 필요한 카운터 및 기본 쌍의 시장 가격에 액세스할 수 없기 때문에 백테스트가 폭파됩니다. (이것은 라이브 또는 포워드 테스트의 문제가 아니며 순전히 MT4의 백테스터 제한 사항입니다)

당신이나 다른 사람들이 도움이 된다고 생각하는 다리를 건너면 코드를 게시하겠습니다.

주말 잘 보내세요,
- 필

안녕하세요 1005필립입니다.

이 스레드를 읽고 있습니다. 아직 사용 가능한 경우 귀하의 코드를 테스트/사용하는 데 관심이 있습니다.

최신 파일이 1페이지에 있습니까? 아니면 개인적으로 제공합니까?


문안 인사,

스간다우

 

... 그리고 군중은 큰 소리로 비축했습니다: (웃음 문자열) "필립, 필립, 필립!" (LOL 문자열 END)

정말 감사합니다, 필립(, 필립, 필립!).

코드가 저에게 효과적이라고 말할 수 없습니다. 백 테스트 할 때 저보다 먼저 "SymbolType()을 식별하는 동안 오류가 발생했습니다. SymbolType() = 6을 계산했습니다" 오류가 발생했습니다. 테스트를 진행해야 할 것 같습니다.

2013년 크리스마스 선물을 위해 이미 산타클로스에게 큰 편지를 보냈습니다.

"친애하는 산타 클로스!

나는 올해 귀 뒤를 4번 씻었다. 그래서 저는 아주 좋은 소년이었으므로 이 행성에서 가장 관대한 mql4 코더인 Phillip과 같은 두뇌를 갖고 싶습니다. 친애하는 Santa, 그의 mql4 코딩 기능을 포함시키십시오!

고마워요, 필립, 미안해요, 산타."

친애하는,

즐거운 시간 보내세요,


시몬

 
1005phillip :

숀을 듣게되어 기쁩니다!

나는 계속해서 코드를 수정하고 있습니다. 더 최신 버전을 원하신다면(당신이 가지고 있는 것에는 버그가 없습니다) 기꺼이 공유하겠습니다.

변경 사항은 주로 포함 파일을 기존 EA와 더 쉽게 통합하고 사용할 수 있도록 하는 데 중점을 둡니다. 이미 다른 하나를 구현하는 데 성공했으므로 지금은 별 차이가 없을 수 있습니다.

좋은 하루에요

ea 코딩에 도움이 필요합니다. 또는 적어도 이 특정 지표에 대한 mq를 얻습니다.

파일:
 
saintrose :

좋은 하루에요

ea 코딩에 도움이 필요합니다. 또는 적어도 이 특정 지표에 대한 mq를 얻습니다.

이웃에게 물어보거나 여기로 이동: 배우기 귀찮은 사람들을 위한 MT4 및 MT5 코딩 도움말
 
Shawn :

안녕 모두, 당신을 잔소리로 다시 돌아왔다. :-) 내 가용 자산의 위험도(%)와 원하는 손절매 크기(핍)를 기반으로 로트 크기(모든 기호에 대해)를 자동으로 계산하는 편리한 작은 MQL4 기능 을 가진 사람이 있습니까?


감사해요!

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

//| 시장 정보 분석 |

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

bool GetMarketInfo()

{

minSLTPdstnc = MarketInfo(Symbol(), MODE_STOPLEVEL);

if (Risk_Percentage>100 || Risk_Percentage<0 ) Risk_Percentage=10;

Margin_Required=MarketInfo(Symbol(), MODE_MARGINREQUIRED);

lotmin=MarketInfo(Symbol(), MODE_MINLOT);

lotmax=MarketInfo(Symbol(), MODE_MAXLOT);

Lot_Step=MarketInfo(Symbol(), MODE_LOTSTEP);

Lot_Size=MarketInfo(Symbol(), MODE_LOTSIZE);

Tick_Value=MarketInfo(Symbol(), MODE_TICKVALUE);

스프레드=MarketInfo(Symbol(), MODE_SPREAD);

반환(참);

}


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

//| 주문 로트 측정 |

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

이중 CheckLot(int risk_percent, double sl_size, 이중 Static_Lot) {

if (risk_percent<=0) return (Static_Lot);

이중 로트 = 0;

lot=NormalizeDouble( (AccountBalance()*Risk_Percentage/100) / (Tick_Value*sl_size), 2 );

if (lots*Margin_Required>AccountFreeMargin()) {

error("돈이 부족하여 " + DoubleToStr(lot,2) +" 제비를 뽑을 수 없습니다.");

lot=AccountFreeMargin()/Margin_Required;

}

lot=MathFloor(lots/Lot_Step + 0.5)* Lot_Step;

if ( lot < lotmin ) lot=lotmin;

if ( lot > lotmax ) lot=lotmax;

if ( lot > MaxLot) lot = MaxLot;

반환(많은);

}

 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

포럼의 일반 규칙 및 모범 사례.

코드를 게시할 때 SRC 버튼을 사용하십시오!


여보세요,

게시물을 수정 하고 코드를 게시할 때 CODE 버튼 을 사용 하세요.

편집기의 코드 버튼

고맙습니다.

 
William Roeder :

안녕하세요, 미끄러짐이나 갭 가격의 계산되지 않은 손실 원인을 충당하기 위해 마지막 돈 손실을 기반으로 로트 크기를 계산하는 것이 가능합니다.