[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 422

 
klopp :
프로그래머님! i-Regr 지표를 기반으로 Expert Advisor 작성을 도와주세요.
동작 원리는 무지무지...지표의 윗줄 값(value2)이 1.43보다 클 때,
하나의 매도 거래, 지표의 하단 라인(value3)의 값이 1.40보다 작으면 매도가 종료되고 하나의
value2가 1.43보다 클 때 마감되는 구매 거래. 값 1.40과 1.43은 대략 내가 선택했습니다. 왜냐하면
기간에 따라 조정해야 하므로 프로그램이 아닌 어드바이저의 속성에서 변경할 수 있도록 하는 것이 매우 바람직합니다. 프로그래밍에서 나는 붐붐이 아닙니다.

누구에게나 미리 감사드립니다.
formail@mail.ru

당신의 전투를 읽은 후, 나는 스스로를 바보라고 부르기로 결정했습니다. 스스로 프로그래밍하려는 사람들을 위한 도움말 스레드가 있기 때문에 내 가격은 100달러이고 WebMoney로 결제한 지 3시간 후에 실제 생활에서 작동할 조언자가 있습니다(데모용 장난감이 아님). 연락하세요.

추신. 나는 완전히 잊어 버렸습니다 - 교섭이 적절하고 권장됩니다 (ess-but를 늘리는 방향으로)

 

지표가 어드바이저와 동일한 차트에 첨부되어 있는 경우 지표에서 데이터를 가져와서 어드바이저에서 처리합니다. 문제는 차트가 열려 있는 쌍뿐만 아니라 4-5 쌍에 대해서도 표시기에서 데이터를 가져와야 한다는 것입니다.
그것을 구현하는 방법? 전략 테스터에서 테스트할 수 있게 하려면 어떻게 해야 합니까?

 
nuan :

지표가 어드바이저와 동일한 차트에 첨부되어 있는 경우 지표에서 데이터를 가져와서 어드바이저에서 처리합니다. 문제는 차트가 열려 있는 쌍뿐만 아니라 4-5 쌍에 대해서도 표시기에서 데이터를 가져와야 한다는 것입니다.
그것을 구현하는 방법? 전략 테스터에서 테스트할 수 있게 하려면 어떻게 해야 합니까?

여기 https://docs.mql4.com/en/indicators/iCustom

매개변수 문자열 기호로 int timeframe 원하는 쌍과 원하는 시간 프레임을 지정합니다. 표시기는 차트에 첨부할 필요가 없습니다.

멀티 어드바이저는 테스터에서 테스트할 수 없으며 MT5(MQL5)에서만 가능

 
매우 감사합니다!
 
KONDOR :


제안은 좋습니다. 감사합니다. 하지만 이것은 천천히 작동합니다!!! 질문 열기

"어드바이저가 있습니다. 그가 이전에 주문한 주문(대기 중인 주문 포함)이 더 이상 존재하지 않는다는 것을 알리는 방법(여러 가지 이유로 - sl 또는 tp가 작동하거나 핸들로 제거됨), 즉 그를 만드는 방법 주문이 살아 있는지 묻습니다. 편집기에 있는 명령은 값을 반환합니다. 여기서 의미가 명확하지 않습니다."

 

무슨 일이야, 왜 작동하지 않아? DnPrice 가격으로 0시부터 24시까지 선을 긋고싶다

if (!ObjectCreate("Down", OBJ_TREND ,0,0:00,DnPrice,24:00,DnPrice)) //사인 라인
{
Print("오류: 다운을 생성할 수 없습니다! 코드 #",GetLastError());
반환(0);
}

ObjectSet("아래로",OBJPROP_COLOR,빨간색);

 
Stells :

무슨 일이야, 왜 작동하지 않아? DnPrice 가격으로 0시부터 24시까지 선을 긋고싶다

if (!ObjectCreate("Down",OBJ_TREND,0,0:00,DnPrice,24:00,DnPrice)) //사인 라인
{
Print("오류: 다운을 생성할 수 없습니다! 코드 #",GetLastError());
반환(0);
}

ObjectSet("아래로",OBJPROP_COLOR,빨간색);

https://docs.mql4.com/ru/basis/types/datetime

bool ObjectCreate( 문자열 이름, int 유형, int 창, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0, double price3=0)

 
bercut0077 :

제안은 좋습니다. 감사합니다. 하지만 이것은 천천히 작동합니다!!! 질문 열기

"어드바이저가 있습니다. 그가 이전에 주문한 주문(대기 중인 주문 포함)이 더 이상 존재하지 않는다는 것을 알리는 방법(여러 가지 이유로 - sl 또는 tp가 작동하거나 핸들로 제거됨), 즉 그를 만드는 방법 주문이 살아 있는지 묻습니다. 편집기에 있는 명령은 값을 반환합니다. 여기서 의미가 명확하지 않습니다."


더 쉬운 곳은 없습니다. OrdersHistoryTotal 기능이 있습니다. 내역을 살펴보고 원하는 마법이 있는 주문이 내역에 있는지 확인한 다음 닫히거나 삭제됩니다.

히스토리 주문 주기에 일종의 주문 정렬 조건을 추가할 수도 있습니다. 예를 들어 주문의 마감 시간이 오늘의 시작 시간보다 짧은 경우 해당 주문은 무시됩니다. 결과적으로 EA는 오늘 마감/삭제된 주문만 필터링합니다.

 
nuan :
ZZZEROXXX 왜 수익을 내야 합니까?

그래프를 뒤집으면 그래프가 커지기 때문입니다)))). 스프레드만의 문제는 아니라고 생각합니다. 거래가 많지 않다고 가정하면 스프레드는 수익성에 결정적인 역할을 하지 않습니다.
 

원격 주문의 경우 이익을 취하거나 다른 방법으로 마감되었는지 알 수 있습니까?

기능을 사용할 수 있습니까?

두 배 OrderTakeProfit ( )
현재 선택된 주문에 대해 이익 수준(이익 실현)에 도달했을 때 포지션 종가 값을 반환합니다.
OrderSelect() 함수를 사용하여 주문을 미리 선택해야 합니다.
?

이런 조건이 가능한가요?

 for ( i= OrdersTotal ();i> 0 ;i--){ OrderSelect (i,SELECT_BY_POS,MODE_HISTORY  );
if ( OrderMagicNumber( )== 2000 &&OrderSymbol()== Symbol ()&&OrderTakeProfit( )> 0 ||
   OrderMagicNumber( )== 1000 &&OrderSymbol()== Symbol ()&&OrderTakeProfit( )> 0

함수는 이익이 될 것 같은 임의의 마감된 주문에 대해 0 이상을 주기 위해 깨어나지 않습니까?

사유: