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

 
미국은 지금 몇시입니까? 모스크바 시간에 몇시에 문을 열고 닫습니까?.. 일본 몇시에 문을 열고 닫습니까? 모스크바 시간은 몇시입니까? 다만 이번 동절기 폐지로 조금 애매한 부분이.. 유럽, 아시아, 미국이 시계를 옮기고 있는 걸까요?
 
Elenn :
솔루션은 정말 독창적입니다. 시도해야 합니다. 하지만 어레이를 다시 선언할 때 재초기화로 인해 데이터가 손실됩니까?

배열의 크기를 늘릴 때 이전에 입력한 데이터는 손실되지 않습니다. 그리고 "캡처된"(새) 셀에는 RAM 쓰레기가 포함됩니다. 배열이 잘린 경우 잘린 셀에 있던 데이터는 복구 불가능하게 손실됩니다. 이것이 프로그래밍의 기본입니다.
 
vilard :

보류 중인 주문 MODE_TRADE가 MODE_HISTORY가 되는 데 얼마나 걸립니까?

아무도 통해. 보류 중인 주문 은 내역에 저장되지 않습니다.

시장형으로 변모해 닫히면 역사가 되겠지만, 연기가 아닌 시장형이다.

예를 들어:

OP_BUYSTOP이 있으면 OP_BUY로 변환됩니다. 폐쇄 되면 역사에 남을 것입니다.

그러나 OP_BUYSTOP에서 OP_BUY로 변환한 후 원래 OP_BUYSTOP은 기록에 없습니다 .

 
001 :

좋은 저녁이에요! 말해 주세요. 서로 다른 막대에 두 개의 지표 값이 있습니다. 그들을 통해 선을 그리는 방법과 표시기에서 선을 사용하는 방법은 무엇입니까? 고맙습니다!

OBJ_TREND 개체를 사용하여 둘 사이에 선을 그릴 수 있습니다. 첫 번째 좌표는 첫 번째 막대의 시간과 가격이고 두 번째 좌표는 두 번째 막대의 시간과 가격입니다.

기능:

 //+----------------------------------------------------------------------------+
void SetTLine( color cl, string nm, datetime t1= 0 , double p1= 0 , datetime t2= 0 , double p2= 0 , int st= 0 , int sz= 0 ) {
   if ( ObjectFind (nm)< 0 ) ObjectCreate (nm, OBJ_TREND , 0 , 0 , 0 , 0 , 0 );
   ObjectSet (nm, OBJPROP_TIME1    , t1);
   ObjectSet (nm, OBJPROP_PRICE1   , p1);
   ObjectSet (nm, OBJPROP_TIME2    , t2);
   ObjectSet (nm, OBJPROP_PRICE2   , p2);
   ObjectSet (nm, OBJPROP_COLOR     , cl);
   ObjectSet (nm, OBJPROP_STYLE     , st);
   ObjectSet (nm, OBJPROP_WIDTH     , sz);
   ObjectSet (nm, OBJPROP_RAY      , 0 );
}
//+----------------------------------------------------------------------------+

나는 그 안에 모든 것이 분명하기를 바랍니다.

cl - 개체 색상, nm - 개체 이름, t1, p1 - 시작 좌표, t2, p2 - 끝 좌표, st - 선 스타일, sz - 크기.

광선을 추가할 수도 있습니다. 1 - 광선, 0 - 세그먼트. 이 함수의 마지막 줄에는 세그먼트가 포함되어 있습니다. 0 대신 전달된 매개변수의 이름을 입력할 수 있습니다.

그러나 표시기에서 (이 줄로) 작업하는 방법에 대해 - 여기에서 필요한 것을 알아야합니다. 그러나 표준 함수를 사용하여 이에 대한 데이터(선)를 가져올 수 있습니다.

ObjectGet("객체 이름", 원하는 객체 속성);

 
artmedia70 :

OBJ_TREND 개체를 사용하여 둘 사이에 선을 그릴 수 있습니다. 첫 번째 좌표는 첫 번째 막대의 시간과 가격이고 두 번째 좌표는 두 번째 막대의 시간과 가격입니다.

기능:

나는 그 안에 모든 것이 분명하기를 바랍니다.

cl - 개체 색상, nm - 개체 이름, t1, p1 - 시작 좌표, t2, p2 - 끝 좌표, st - 선 스타일, sz - 크기.

광선을 추가할 수도 있습니다. 1 - 광선, 0 - 세그먼트. 이 함수의 마지막 줄에는 세그먼트가 포함되어 있습니다. 0 대신 전달된 매개변수의 이름을 입력할 수 있습니다.

그러나 표시기에서 (이 줄로) 작업하는 방법에 대해 - 여기에서 필요한 것을 알아야합니다. 그러나 표준 함수를 사용하여 이에 대한 데이터(선)를 가져올 수 있습니다.

ObjectGet("객체 이름", 원하는 객체 속성);


정말 감사합니다! 질문이 하나 더 있습니다. 작업 방법(추세선이 특정 막대에서 차지하는 가치를 알아야 함), Expert Advisor에서 가닥으로 작업하는 방법. iCustom이 느려지고 표시기의 일부를 Expert Advisor(계산)로 전송하고 싶습니다.
 
좋은 아침!!! 내 계정에 로그인할 수 없습니다! 무슨 엑스. 이 "일반 오류"?
 
컴퓨터에 문제가 있습니까?
 
Elenn :
솔루션은 정말 독창적입니다. 시도해야 합니다.


아마도 델파이 교과서에 있는 작은 글을 인용하겠습니다. 알아두면 나쁠 건 없습니다.

"동적 배열"은 동적 데이터 구조이므로 작업이 끝나면 프로그램은 컴퓨터 메모리에서 해당 배열을 명시적으로 제거해야 합니다. 컴퓨터 메모리에서 불필요한 동적 변수를 제거하는 프로세스를 때때로 가비지 수집 이라고 합니다."

MQL4 언어에 적합한 변형은 작업이 끝나면 ArrayResize() 함수 https://docs.mql4.com/en/array/ArrayResize 를 사용하여 동적 배열의 차원을 0 길이로 변경하는 것입니다.

 
drknn :


아마도 델파이 교과서에 있는 작은 글을 인용하겠습니다. 알아두면 나쁠 건 없습니다.

"동적 배열"은 동적 데이터 구조이므로 작업이 끝나면 프로그램은 컴퓨터 메모리에서 해당 배열을 명시적으로 제거해야 합니다. 컴퓨터 메모리에서 불필요한 동적 변수를 제거하는 프로세스를 때때로 가비지 수집 이라고 합니다."

MQL4 언어에 적합한 변형은 작업이 끝나면 ArrayResize() 함수 https://docs.mql4.com/en/array/ArrayResize 를 사용하여 동적 배열의 차원을 0 길이로 변경하는 것입니다.

괜찮아요. 쓰레기는 스스로 치우는 것이 매너의 룰...

이 컨텍스트에서만 "쓰레기"가 지금 정리되어야 하는지 또는 그 반대인지 결정하는 방법: 이것은 쓰레기가 아닙니다. 이것은 추가 계산에 필요한 데이터입니다.

내가 알기로는 deinit()에서 스스로 정리해야 하지만... 거래 상품의 차트가 삭제될 때뿐만 아니라 Expert Advisor가 차트에서 제거될 때뿐만 아니라 작동 중인 TF가 변경됩니다. 이 경우 TF에 대해 누적된 모든 데이터가 손실되고 이전 시간 프레임으로 돌아갈 때 EA는 0 배열로 다시 작업을 시작합니다. 어드바이저의 매개변수를 변경할 때도 마찬가지입니다.

어떤 상황에서 "가비지 수집"은 배열 크기의 단순한 변경이 아니라 복잡한 논리적 프로세스임이 밝혀졌습니다.

 
001 :

정말 감사합니다! 질문이 하나 더 있습니다. 작업 방법( 추세선이 특정 막대에서 차지하는 가치를 알아야 함), Expert Advisor에서 가닥으로 작업하는 방법 . iCustom이 느려지고 표시기의 일부를 Expert Advisor(계산)로 전송하고 싶습니다.

도움이 되는 ObjectGetValueByShift()

그리고 그곳에서 그녀와 어떻게 일할 것인지 - 당신 만이 알고 있습니다 ...