MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 565 1...558559560561562563564565566567568569570571572...1953 새 코멘트 [삭제] 2018.06.10 00:35 #5641 PolarSeaman : 당신은 당신의 코드에서 대체했습니다 에 그러나 도움이되지 않았습니다) 이것만 알아차려서 죄송합니다. [삭제] 2018.06.10 00:36 #5642 Alekseu Fedotov : SEEK_END 플래그가 있는 FileSeek()가 도움이 될 것입니다. < 감사합니다! 시도하겠습니다! Alekseu Fedotov 2018.06.10 05:10 #5643 YanSay : 좋은 저녁이에요! 나는 보증금의 %를 기반으로 거래의 로트를 계산하기 위해 범용(다양한 도구에 대해) 코드를 추가하는 방법에 대해 머리를 쓰고 있습니다. 다음과 같이 했습니다. 가격( 포지션 시가 )과 SL(손절매)은 별도로 계산되며 여기에 추가하지 않았습니다. 견적 통화가 달러로 표시되는 쌍(예: EURUSD), SPX500 지수 및 금의 경우 - 모든 것이 올바르게 계산되지만 달러가 견적에서 첫 번째인 쌍(예: USDJPY)의 경우 작동하지 않습니다. 무엇을 놓쳤는지 말해주세요? 정규화에 주의 _Digits 변수는 현재 차트 기호 가격 측정의 정확도를 결정하는 소수점 이하 소수점 이하 자릿수를 저장합니다. YanSay 2018.06.10 13:33 #5644 Alekseu Fedotov : 정규화에 주의 _Digits 변수는 현재 차트 기호 가격 측정의 정확도를 결정하는 소수점 이하 소수점 이하 자릿수를 저장합니다. 덕분에! 다음과 같이 변경했습니다. input double MaximumRisk= 0.02 ; //Риск в сделке от депозита //1ый вариант {Lots = NormalizeDouble ((( AccountBalance ()*MaximumRisk)/(( MathAbs (Price-SL))/ Point )/(( MarketInfo ( Symbol (), MODE_LOTSIZE )*( MarketInfo ( Symbol (), MODE_ASK )+ Point )) -( MarketInfo ( Symbol (), MODE_LOTSIZE )* MarketInfo ( Symbol (), MODE_ASK )))), int ( MathAbs ( log ( MarketInfo ( Symbol (), MODE_LOTSTEP )))));} //2ой вариант {Lots = NormalizeDouble (( AccountBalance ()*MaximumRisk)/(( MathAbs (Price-SL))/ Point )/(( MarketInfo ( Symbol (), MODE_TICKVALUE ))), int ( MathAbs ( log ( MarketInfo ( Symbol (), MODE_LOTSTEP )))));} 첫 번째 옵션: EURUSD 및 XAUUSD - 모든 것이 정확합니다. USDJPY - 보증금의 2% 대신 보증금의 0.2% 위험을 감수합니다. SPX500 및 BRN의 경우 OrderSend 오류 131(로트 계산 오류)이 발생합니다. 두 번째 옵션: EURUSD, XAUUSD 및 USDJPY - 모든 것이 정확합니다. SPX500 - 보증금의 2% 대신 보증금의 20% 위험을 감수합니다. BRN의 경우 OrderSend 오류 131(로트 계산 오류)이 발생합니다. 다른 곳에 오류가 있습니다. 어느 부분에서 이해할 수 없는지 알려주세요. Vitaly Muzichenko 2018.06.10 20:34 #5645 YanSay : 덕분에! 다음과 같이 변경했습니다. 첫 번째 옵션: EURUSD 및 XAUUSD - 모든 것이 정확합니다. USDJPY - 보증금의 2% 대신 보증금의 0.2% 위험을 감수합니다. SPX500 및 BRN의 경우 OrderSend 오류 131(로트 계산 오류)이 발생합니다. 두 번째 옵션: EURUSD, XAUUSD 및 USDJPY - 모든 것이 정확합니다. SPX500 - 보증금의 2% 대신 보증금의 20% 위험을 감수합니다. BRN의 경우 일반적으로 OrderSend 오류 131(로트 계산 오류)을 제공합니다. 다른 곳에 오류가 있습니다. 어느 부분에서 이해할 수 없는지 알려주세요. Point 를 MarketInfo 로 교체 ( 심볼 (), MODE_POINT ) Konstantin Nikitin 2018.06.10 21:34 #5646 Vitaly Muzichenko : Point 를 MarketInfo 로 교체 ( 심볼 (), MODE_POINT ) 의미는 어떻습니까? 차트 기호의 모든 항목이 계산되는 경우. 다중 통화 및 계산된 기호 가 현재 차트와 다른 경우 의미가 있습니다. YanSay 2018.06.10 21:48 #5647 Vitaly Muzichenko : Point 를 MarketInfo 로 교체 ( 심볼 (), MODE_POINT ) 불행히도 그것은 도움이되지 않았습니다 그리고 MODE_POINT에 대한 정보에는 "견적 통화의 포인트 크기입니다. 현재 상품의 경우 사전 정의된 변수 Point에 저장됩니다." 설명으로 판단하면 어떤 옵션을 사용해도 상관 없습니다. 하지만 시도했지만 작동하지 않았습니다. Roman Sharanov 2018.06.11 01:53 #5648 말해봐, Expert Advisor의 버튼에 그래픽 도구의 "선택"을 두어 커서 아래에 있는 버튼을 클릭하면 도구 아이콘이 나타나고 끌어올 수 있습니까? 또한 지정된 속성이 이미 있는 채널이 Alekseu Fedotov 2018.06.11 03:27 #5649 Roman Sharanov : 말해봐, Expert Advisor의 버튼에 그래픽 도구의 "선택"을 두어 커서 아래에 있는 버튼을 클릭하면 도구 아이콘이 나타나고 끌어올 수 있습니까? 또한 지정된 속성을 가진 채널이 아마도 Vitaly Muzichenko 2018.06.11 05:23 #5650 YanSay : 불행히도 도움이되지 않았습니다 그리고 MODE_POINT에 대한 정보에는 "견적 통화의 포인트 크기입니다. 현재 상품의 경우 사전 정의된 변수 Point에 저장됩니다." 설명으로 판단하면 어떤 옵션을 사용해도 상관 없습니다. 하지만 시도했지만 작동하지 않았습니다. 다음 기능을 사용해 보세요. //=============================================================================================== //------------------------------ Расчет лота по риску на StopLoss -------------------------------+ //=============================================================================================== double sLot( double Percent= 1 , double Stloss= 100 , string symb= "0" ) { if (symb== "0" ) symb= Symbol (); double TickValue = SymbolInfoDouble (symb, SYMBOL_TRADE_TICK_VALUE ), TickSize = SymbolInfoDouble (symb, SYMBOL_TRADE_TICK_SIZE ), ContractSize= SymbolInfoDouble (symb, SYMBOL_TRADE_CONTRACT_SIZE ), Min_Lot = SymbolInfoDouble (symb, SYMBOL_VOLUME_MIN ), Max_Lot = SymbolInfoDouble (symb, SYMBOL_VOLUME_MAX ), Step = SymbolInfoDouble (symb, SYMBOL_VOLUME_STEP ), Free = AccountInfoDouble ( ACCOUNT_FREEMARGIN ), Lots_New = 0.0 ; int CalcMode=( int ) SymbolInfoInteger (symb, SYMBOL_TRADE_CALC_MODE ); if (Percent > 100 ) Percent = 100 ; if (Stloss <= 0 ) return ( 0 ); if (Percent == 0 ) Lots_New = Min_Lot; else { if (CalcMode== 0 || CalcMode== 4 ) Lots_New = MathFloor ((((Free*Percent/ 100 )/Stloss)/TickValue)/Step)*Step; if (CalcMode== 1 ||CalcMode== 2 ||CalcMode== 3 ) Lots_New = MathFloor (((((Free*Percent)/ 100 )/Stloss)/((TickSize*TickValue)*ContractSize/TickValue))/Step)*Step; } if (Lots_New > Max_Lot) Lots_New = Max_Lot; if (Lots_New < Min_Lot) return ( 0 ); return ( NormalizeDouble (Lots_New, /*LotDigit()*/ 2 )); } 1...558559560561562563564565566567568569570571572...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
당신은 당신의 코드에서 대체했습니다
에
그러나 도움이되지 않았습니다)
이것만 알아차려서 죄송합니다.
SEEK_END 플래그가 있는 FileSeek()가 도움이 될 것입니다.
<감사합니다! 시도하겠습니다!
좋은 저녁이에요!
나는 보증금의 %를 기반으로 거래의 로트를 계산하기 위해 범용(다양한 도구에 대해) 코드를 추가하는 방법에 대해 머리를 쓰고 있습니다.
다음과 같이 했습니다.
가격( 포지션 시가 )과 SL(손절매)은 별도로 계산되며 여기에 추가하지 않았습니다.
견적 통화가 달러로 표시되는 쌍(예: EURUSD), SPX500 지수 및 금의 경우 - 모든 것이 올바르게 계산되지만 달러가 견적에서 첫 번째인 쌍(예: USDJPY)의 경우 작동하지 않습니다.
무엇을 놓쳤는지 말해주세요?
정규화에 주의
_Digits 변수는 현재 차트 기호 가격 측정의 정확도를 결정하는 소수점 이하 소수점 이하 자릿수를 저장합니다.
정규화에 주의
_Digits 변수는 현재 차트 기호 가격 측정의 정확도를 결정하는 소수점 이하 소수점 이하 자릿수를 저장합니다.
덕분에! 다음과 같이 변경했습니다.
첫 번째 옵션: EURUSD 및 XAUUSD - 모든 것이 정확합니다. USDJPY - 보증금의 2% 대신 보증금의 0.2% 위험을 감수합니다. SPX500 및 BRN의 경우 OrderSend 오류 131(로트 계산 오류)이 발생합니다.
두 번째 옵션: EURUSD, XAUUSD 및 USDJPY - 모든 것이 정확합니다. SPX500 - 보증금의 2% 대신 보증금의 20% 위험을 감수합니다. BRN의 경우 OrderSend 오류 131(로트 계산 오류)이 발생합니다.
다른 곳에 오류가 있습니다. 어느 부분에서 이해할 수 없는지 알려주세요.
덕분에! 다음과 같이 변경했습니다.
첫 번째 옵션: EURUSD 및 XAUUSD - 모든 것이 정확합니다. USDJPY - 보증금의 2% 대신 보증금의 0.2% 위험을 감수합니다. SPX500 및 BRN의 경우 OrderSend 오류 131(로트 계산 오류)이 발생합니다.
두 번째 옵션: EURUSD, XAUUSD 및 USDJPY - 모든 것이 정확합니다. SPX500 - 보증금의 2% 대신 보증금의 20% 위험을 감수합니다. BRN의 경우 일반적으로 OrderSend 오류 131(로트 계산 오류)을 제공합니다.
다른 곳에 오류가 있습니다. 어느 부분에서 이해할 수 없는지 알려주세요.
Point 를 MarketInfo 로 교체 ( 심볼 (), MODE_POINT )
Point 를 MarketInfo 로 교체 ( 심볼 (), MODE_POINT )
의미는 어떻습니까? 차트 기호의 모든 항목이 계산되는 경우. 다중 통화 및 계산된 기호 가 현재 차트와 다른 경우 의미가 있습니다.
Point 를 MarketInfo 로 교체 ( 심볼 (), MODE_POINT )
불행히도 그것은 도움이되지 않았습니다
그리고 MODE_POINT에 대한 정보에는 "견적 통화의 포인트 크기입니다. 현재 상품의 경우 사전 정의된 변수 Point에 저장됩니다."
설명으로 판단하면 어떤 옵션을 사용해도 상관 없습니다. 하지만 시도했지만 작동하지 않았습니다.
말해봐, Expert Advisor의 버튼에 그래픽 도구의 "선택"을 두어 커서 아래에 있는 버튼을 클릭하면 도구 아이콘이 나타나고 끌어올 수 있습니까?
또한 지정된 속성이 이미 있는 채널이
말해봐, Expert Advisor의 버튼에 그래픽 도구의 "선택"을 두어 커서 아래에 있는 버튼을 클릭하면 도구 아이콘이 나타나고 끌어올 수 있습니까?
또한 지정된 속성을 가진 채널이
아마도
불행히도 도움이되지 않았습니다
그리고 MODE_POINT에 대한 정보에는 "견적 통화의 포인트 크기입니다. 현재 상품의 경우 사전 정의된 변수 Point에 저장됩니다."
설명으로 판단하면 어떤 옵션을 사용해도 상관 없습니다. 하지만 시도했지만 작동하지 않았습니다.
다음 기능을 사용해 보세요.