초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 489

 
Boris :
....필요한 지표를 차트에 올려놓고 테스트를 계속....

그것을 하는 방법? 답은 뻔하지만 저는 그렇게 할 수 없습니다.

일반적으로 다음과 같은 이유로 Expert Advisor에서 계산된 버퍼를 정확히 시각화해야 합니다.

1. 디버깅이 더 쉽다

2. Expert Advisor는 상태(미결 여부)에 따라 매개변수는 다르지만 동일한 버퍼에 있는 지표를 계산합니다. 결과적으로 값은 차트에 방금 던진 동일한 지표와 다릅니다.

 
Shepot :

그것을 하는 방법? 답은 뻔하지만 저는 그렇게 할 수 없습니다.

일반적으로 다음과 같은 이유로 Expert Advisor에서 계산된 버퍼를 정확히 시각화해야 합니다.

1. 디버깅이 더 쉽다

2. Expert Advisor는 상태(미결 여부)에 따라 매개변수는 다르지만 동일한 버퍼에 있는 지표를 계산합니다. 결과적으로 값은 차트에 방금 던진 동일한 지표와 다릅니다.

마지막 막대의 데이터와 Expert Advisor에서 계산된 현재 막대의 데이터를 기반으로 Expert Advisor의 OBJ_TREND 개체를 사용하여 시각화 차트에 표시기 라인을 표시합니다.
 
Artyom Trishkin :
마지막 막대의 데이터와 Expert Advisor에서 계산된 현재 막대의 데이터를 기반으로 Expert Advisor의 OBJ_TREND 개체를 사용하여 시각화 차트에 표시기 라인을 표시합니다.
고맙습니다. 나는 이미 그러한 솔루션에 대해 생각했지만 마이너스가 있습니다. 특히 3개의 내장 지표가 있기 때문에 성능이 많이 부족합니다. 아마도 다른 방법이 있습니까?
 
Shepot :
고맙습니다. 나는 이미 그러한 솔루션에 대해 생각했지만 마이너스가 있습니다. 특히 3개의 내장 지표가 있기 때문에 성능이 많이 부족합니다. 아마도 다른 방법이 있습니까?
분 막대가 열릴 때와 지표 값을 다시 계산할 때 선을 그립니다.
 
Shepot :
고맙습니다. 나는 이미 그러한 솔루션에 대해 생각했지만 마이너스가 있습니다. 특히 3개의 내장 지표가 있기 때문에 성능이 많이 부족합니다. 아마도 다른 방법이 있습니까?

1. 적절한 매개변수를 사용하여 차트에 필요한 지표를 넣고 고문의 이름으로 템플릿을 저장하거나 "테스터"라는 이름으로 템플릿을 저장한 다음 고문이 시각화 모드에서 시작되면 필요한 모든 지표가 다음에서 표시됩니다. 도표.

2. Expert Advisor에서 Comment()에 표시기 값을 표시 할 수 있지만 그래픽 개체뿐만 아니라 테스트 속도가 느려집니다.

 
모두 대단히 감사합니다!
 
터미널 로그의 메시지가 무엇을 의미하는지 알 수 없습니다: 2015.12.28 18:30:39.718 '1656096': 주문 #0 구매 0.00 at 0이 수정되었습니다 -> sl: 0 tp: 0

 
Petr_k :
터미널 로그의 메시지가 무엇을 의미하는지 알 수 없습니다: 2015.12.28 18:30:39.718 '1656096': 주문 #0 구매 0.00 at 0이 수정되었습니다 -> sl: 0 tp: 0

0.00의 가격으로 0의 수량으로 구매하는 주문 #0이 수정되었습니다 -> set sl: 0 tp: 0
 

안녕하세요.

테스트 중에 허용 편차가 있는 이해할 수 없는 상황이 있었습니다.

1) 편차 = 10점으로 설정

mytrade.SetDeviationInPoints(dev);
mytrade.SetTypeFilling(ORDER_FILLING_RETURN);

2) 나는 한다

mytrade.PositionOpen( _Symbol , ORDER_TYPE_BUY ,Lot,lastprice,lastprice-SL,lastprice+TP, "Test Buy" );

또는

mytrade.Buy(Lot, _Symbol , 0.0 ,lastprice-SL,lastprice+TP, "Buy Trade" );

lastprice를 가격에 삽입하든, 신호 가격을 삽입하든, 아니면 그냥 0을 삽입하든 상관없습니다.

3) 나는 체크를 한다

ㅏ)

 Print ( "Разница: " ,mytrade.ResultPrice()-цена сигнала);

나는 10보다 많은 20을 얻는다.

비)

QL       0        08 : 57 : 35.302     Фракталы - неск,ТС,% (Si Splice,M5)     2015.01 . 29 14 : 15 : 32    ---===Транзакция===---
QH       0        08 : 57 : 35.302     Фракталы - неск,ТС,% (Si Splice,M5)     2015.01 . 29 14 : 15 : 32    Тип сделки: DEAL_TYPE_BUY
RN       0        08 : 57 : 35.302     Фракталы - неск,ТС,% (Si Splice,M5)     2015.01 . 29 14 : 15 : 32    Состояние ордера: ORDER_STATE_STARTED
QO       0        08 : 57 : 35.302     Фракталы - неск,ТС,% (Si Splice,M5)     2015.01 . 29 14 : 15 : 32    Тип ордера: ORDER_TYPE_BUY
CS       0        08 : 57 : 35.302     Фракталы - неск,ТС,% (Si Splice,M5)     2015.01 . 29 14 : 15 : 32    Цена: 70885
PS       0        08 : 57 : 35.302     Фракталы - неск,ТС,% (Si Splice,M5)     2015.01 . 29 14 : 15 : 32    Тип торговой транзакции: TRADE_TRANSACTION_DEAL_ADD

요청.편차

 LM	0	08:57:35.303	Фракталы - неск,ТС,% (Si Splice,M5)	2015.01.29 14:15:32   Отклонение от запрашиваемой цены: 1

MqlTradeTransaction 에서 가격을 얻습니다. 신호(70865)가 발생한 후 ctrade는 70885를 매수합니다 .

에)

 Print (mytrade.RequestDeviation());

= 10.

무엇이 잘못될 수 있습니까? 물론 오더북에서 마지막 거래나 제안을 볼 수는 있지만, 실생활의 첫 번째 결과에 따르면 이것은 모두 신뢰할 수 없습니다.

또는 지정가 주문 가격 + 10을 넣고 일정 시간 후에 제거하십시오.

 
일반적으로 나는 지정가 주문 가격 + 몇 초 동안 들여 쓰기를 멈췄습니다. Fort는 시장과 동등한 가격을 얻게 되며 실행 가격은 100% 더 높아지지 않습니다.
사유: