노이즈가 너무 많고 코드가 이상한 곳도 있습니다.
예를 들어 로트 확인 부분입니다.
// 심볼의 최소 로트 스텝 가져오기 double stepvol = ::SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP); if(stepvol > 0) // 가장 가까운 유효 단계로 반올림된 로트 크기 계산 lt = stepvol * (int)(iLots / stepvol); // 계산된 로트가 최소 허용 로트보다 작은지 확인합니다. if(lt < ::SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN)) lt = 0.0; // 최소값 미만인 경우 0으로 설정(유효하지 않음) // 초기화 성공 반환 return(INIT_SUCCEEDED); }
로트 0.0을 얻었습니다.
그런 다음 OnTick()으로 이동하여 로트 "0.0"으로 포지션을 개설합니다.
if(trade.Buy(lt)) 이것은 흥미로운 접근 방식이며 거래가 수익성이있을 것이라고 생각합니다.
--
충분한 자금에 대한 간단한 확인이 없으면 데모 모드는 말할 것도없고 테스터에서도 EA를 실행하기가 무섭습니다.
--
"다른 모든 사람과 다른 모든 곳"과 다른 접근 방식이 왜 그런 접근 방식인지 의도를 이해하지 못합니다.
if(new_time != old_time) // old_time을 업데이트하고 true를 반환합니다(새 막대가 감지됨). if((old_time = new_time) != NULL) return(true);
--
TP 및 SL 주문 설정 확인이 잘못 구현됨 - 실패하면 위치가 0 값으로 무작위로 남습니다.

노이즈가 너무 많고 코드가 이상한 곳도 있습니다.
예를 들어, 로트 확인 부분
로트 0.0을 얻었습니다.
그런 다음 OnTick()으로 이동하여 랏 "0.0"으로 포지션을 엽니다.
흥미로운 접근 방식, 아마도 거래에 수익성이 있을 것입니다.
--
이 확인 없이는 충분한 자금에 대한 간단한 확인이 없으며, 데모 모드에서는 말할 것도없고 테스터에서도 EA를 실행하는 것이 무섭습니다.
--
나는 왜 그런 접근 방식이 "다른 모든 사람과 다른 모든 곳"과 다르게 만드는 의도를 이해하지 못합니다.
--
TP 및 SL 주문 설정 확인이 잘못 구현됨 - 실패하면 포지션이 0 값으로 무작위로 남습니다.
코드의 일부는 도움말을 사용하여 만들었습니다. 즉, 직접 코드를 작성하지 않고 외부 소스에서 가져 와서 초보 프로그래머가 익숙한 코드를 볼 수 있도록했습니다.
따라서 코드가 한 줄 더 짧고 더 편리하고 친숙하며 초보자는 언어의 추가 가능성을 볼 수 있습니다.
if(new_time != old_time) // old_time을 업데이트하고 true를 반환합니다(새 막대가 감지됨). if((old_time = new_time) != NULL) return(true);
и
if(new_time != old_time) // old_time을 업데이트하고 true를 반환합니다(새 막대가 감지됨). { old_time = new_time; return(true); }

VR Breakdown level - 이전 고가 또는 저가 돌파 기반 트레이딩 전략:
이전 고가 또는 저가 수준의 단순 돌파에 기반한 트레이딩 전략
작성자: Vladimir Pastushak