매우 유용합니다. 고마워요.
Steven
후행 예제는 오류와 함께 실패합니다.
어느 것을 지정해 주세요.
Setslav:
프로그래머 여러분, mql5에 대해 도와주세요!!!
클래스 없이 mql4에서와 같이 일반 후행 함수만 사용할 수 있나요? 예를 들어 이동평균.mq5에서 TradeSizeOptimised 함수가 구현되는 것처럼요.
나는 이미 예제, 기사, 포럼에서 모든 것을 검색했지만 아무것도 찾지 못했습니다. 나는 이미 완전히 길을 잃었습니다.... 누군가 준비된 변형을 가지고 있다면 매우 감사하겠습니다 !!! - 정말 챔피언십에 참가하고 싶습니다.
여기 있습니다.
int TrailingStop() { if(PositionSelect(Symbol())) // 위치 선택 { //MqlTradeRequest m_request;// 서버에 요청 구조를 선언합니다. //MqlTradeResult m_result;// 서버 응답 구조 선언 double Bid = SymbolInfoDouble(Symbol(), SYMBOL_BID); // 입찰 가격을 변수에 기록합니다. double Ask = SymbolInfoDouble(Symbol(), SYMBOL_ASK); // 변수 매도 호가에 쓰기 double OpenPrice=PositionGetDouble(POSITION_PRICE_OPEN); // 포지션 개시 가격을 변수에 기록합니다. double PositionSL=PositionGetDouble(POSITION_SL); // 변수에 스톱로스 레벨을 작성합니다. double PositionTP=PositionGetDouble(POSITION_TP); // 변수에 이익 실현 수준 쓰기 if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) // 위치 유형 정의 { if(TrailWhileMinus==true || Bid-OpenPrice>_Point*Trail) // 첫 번째 정류장 전송으로 손익분기점에 도달할 때까지 트롤링하지 마십시오. { if(Bid-PositionSL>Trail*_Point) //손절매 이동 필요성에 대한 기본 조건 { //--- 구조에 데이터 쓰기 request.action = TRADE_ACTION_SLTP; request.symbol = Symbol(); request.sl = NormalizeDouble(Bid-Trail*_Point,_Digits); request.tp = NormalizeDouble(PositionTP,_Digits); //--- return(OrderSend(request,result)); // 서버에 요청을 보냅니다. } } } else { if(TrailWhileMinus==true || OpenPrice-Ask>_Point*Trail) // 첫 번째 정류장 전송으로 손익분기점에 도달할 때까지 트롤링하지 마십시오. { if(PositionSL-Ask>Trail*_Point) //손절매 이동 필요성에 대한 기본 조건 { //--- 구조에 데이터 쓰기 request.action = TRADE_ACTION_SLTP; request.symbol = Symbol(); request.sl = NormalizeDouble(Ask+Trail*_Point,_Digits); request.tp = NormalizeDouble(PositionTP,_Digits); //--- return(OrderSend(request,result)); // 서버에 요청을 보냅니다. } } } } return(0); }
sergey1294:
여기 있습니다.
결과를 매개변수로 전달하는 것이 더 낫다고 생각합니다(이유 없이 그런 것은 아닐 것입니다).
그렇지 않으면 분석할 방법이 없습니다. 왠지 좋지 않습니다...
추신
또한 두 개의 함수, 즉 TrailingStopBuy와 TrailingStopSell을 만들 것입니다.
Interesting:
글쎄, 나는 그 사람이 이미 평범한 후행을 작성하는 방법을 이미 뇌에 만들었 기 때문에 그 사람에게 예를 들었고, 원칙적으로 테스터에서 오류없이 작동하고이 구성이 정상적으로 작동한다고 조금 생각하게했습니다. 실생활에서는 확인하지 않았습니다.
나는 (아마도 이유없이) 그 결과가 매개 변수로 전달되는 것이 더 낫다고 가정합니다.)
그렇지 않으면 분석 할 방법이 없습니다. 왠지 좋지 않습니다...
추신
저는 또한 TrailingStopBuy와 TrailingStopSell이라는 두 가지 함수를 만들 것입니다.
sergey1294:
글쎄, 나는 그 남자에게 예를 들었는데, 그는 이미 평범한 후행을 쓰는 방법을 뇌로 만든 다음 원칙적으로 테스터에서 오류없이 작동 할 것이라고 조금 생각하게했고,이 디자인은 잘 작동하기 때문에 실생활에서 확인하지 않았습니다.
물론 예를 들어 그렇게 할 것이지만 결과를 분석하지 않으면 많은 오류가 발생할 것입니다 (조만간) ...
글쎄, 나는 그 남자에게 예를 들었는데, 그는 이미 평범한 후행을 쓰는 방법을 뇌로 만든 다음 원칙적으로 테스터에서 오류없이 작동 할 것이라고 조금 생각하게했고,이 디자인은 잘 작동하기 때문에 실생활에서 확인하지 않았습니다.
sergey1294:
감사합니다!
여기 있습니다.
sergey1294,
다시 한번 감사드립니다, 모든 것이 작동합니다 !!!
함수에 매직 넘버로 수표를 추가하는 방법에 대한 작은 질문이 하나 더 있습니다. 나는 그런 수표를 삽입하려고 노력하고 있습니다:
if (OrderGetInteger(ORDER_MAGIC)==EA_Magic) { ..... }..... 그러나 그것이 전체 거래를 깨뜨리는 것.....
새로운 기고글 자신만의 추적 손절매 만드는 법 가 게재되었습니다:
트레이더의 기본 원칙 - 이익을 늘리고 손실을 줄이십시오! 이 글에서는 포지션 이익을 증가시킨 후 보수적인 중지 수준(손절매 수준)을 이동하는 이 규칙을 따를 수 있는 기본 기술 중 하나를 다뤄보도록 하겠습니다. 즉 - 추적 손절매 수준. SAR 및 NRTR 표시기에서 추적 손절매를 위한 클래스를 만드는 단계별 절차를 찾을 수 있습니다. 모든 사람은 이 추적 손절매를 expert에 삽입하거나 독립적으로 계정의 포지션을 제어하는 데 사용할 수 있습니다.
작성자: Dmitry Fedoseev