//+----------------------------------------------------------------------------+datetime SecondsAfterOpenLastPos( string sy, int op, int mn)
{
datetime t;
int i, k= OrdersTotal ();
if (sy== "0" ) sy= Symbol ();
for (i= 0 ; i<k; i++) {
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()!=sy) continue ;
if (OrderType()!=op) continue ;
if (OrderMagicNumber()!=mn) continue ;
if (t<OrderOpenTime()) t=OrderOpenTime();
}
}
return ( TimeCurrent ()-t);
}
//+----------------------------------------------------------------------------+
다음과 같이 호출하십시오.
if (SecondsAfterOpenLastPos( NULL , OP_SELL , Magic )>= ( Period ()* 3 )* 60 ) {
// --- код, если прошло три минуты и более с момента открытия ... // ... последней позиции Sell с магиком Magic на текущем символе ---
}
이게 뭐야? 기록의 모든 주문을 반복합니다. 맞죠? 주기의 본문에서 날짜 등으로 어떻게 든 자신을 제한 할 수 있음이 분명합니다.
내 질문에는 아마도 마지막 몇 개의 마감된 주문만 테스터의 기록에 저장되도록 하는 트릭이 있을 수 있다는 뜻입니다. 실제 역사에서 어떻게 이루어지나요?
실제 역사에서는 모든 것이 같은 방식으로 발생합니다. 계정 내역의 모든 주문이 정렬됩니다.
역사는 정확하지 않습니다. 이 계정의 유일한 이벤트이며 새 이벤트로만 추가할 수 있습니다.
벌써 지쳐가는 듯... 초급, 왓슨:
오래 기다리신 답변 감사합니다! 이것이 내 문제를 해결하는 데 어떻게 도움이 되는지 이해할 수 없습니까? Ask 그리고 동일한 Expert Advisor의 위와 아래에 선이 동시에 그려지도록 하려면 어떻게 해야 합니까?
여러분, 조건은 다음과 같습니다: 3개의 강세 양초, 다음 "흡수"가 있습니다.... 매수에서와 같은 방식으로 매도 포지션을 열었습니다 ... 여기에 오류가 있는 코드가 있습니다. ?
무슨 실수야?
이렇게 안뜨네요....... 포지션이 안뜨네요.... 히스토리를 봐도 오픈 이 되어야지 포지션이 안뜨는데.. 그냥 조용하고 에러가 안나네요..
줄에 다른 이름을 지정합니다.
이 같은...??
얘들 아, 거래를 시작하는 방법, 예를 들어 시간당 1 개 이하??
예를 들면 다음과 같습니다.
다음과 같이 호출하십시오.
분을 시간으로 바꾸십시오. 희망합니다 ... :)이 같은...??
이 같은...??