if (invertStart == true ) // получил событие, о том что есть две позиции и одну можно закрыть.
{
int npos_L1= 0 ; NPos_L1(npos_L1);
if (npos_L1== 1 )
{
int positions= PositionsTotal ();
for ( int i= 0 ;i<=positions;i++)
{
ulong ticket= PositionGetTicket (i);
if (ticket!= 0 && PositionGetInteger ( POSITION_TYPE )== POSITION_TYPE_SELL && POSITION_PROFIT >= 50 ) // 50 допустим...
{
m_trade.PositionClose(ticket);
i--;
invertStart = false ;
return ;
}
}
}
}
결과적으로 마지막 열린 위치가 닫힙니다.
올바르게 구현하는 방법을 알려주세요. 나는 예를 원한다. 참고 문헌과 입문서를 읽었지만 항상 미묘함을 이해하지는 못합니다.
올바르게 구현하는 방법을 알려주세요. 나는 예를 원한다. 참고 문헌과 입문서를 읽었지만 항상 미묘함을 이해하지는 못합니다.
코드:
ulong ticket= ULONG_MAX ;
double profit= DBL_MIN ;
if (invertStart == true ) // получил событие, о том что есть две позиции и одну можно закрыть.
{
int positions= PositionsTotal ();
for ( int i= PositionsTotal ()- 1 ; i>= 0 ; i--)
{
ulong tmp_ticket= PositionGetTicket (i);
if (ticket!= 0 )
{
double tmp_profit= PositionGetDouble ( POSITION_PROFIT );
if (tmp_profit>profit)
{
ticket=tmp_ticket;
profit=tmp_profit;
}
}
}
//---if (ticket!= ULONG_MAX )
m_trade.PositionClose(ticket);
}
Igor, 음, 순전히 논리적으로 표시기가 올바르게 작성되면 현재 막대의 값만 변경할 수 있습니다. 따라서 현재 값이 필요한 경우 이러한 새로운 값을 사용하기 직전에 CopyBuffer가 필요합니다. 그리고 역사적 가치가 필요하다면 그것들은 변하지 않고 그것을 다시 읽을 이유가 없습니다.
어딘가에 각 틱의 지표 계산에 대한 정보가 있습니다. 내가 기억하는 한, 기본적으로 표시기는 액세스할 때만 다시 계산되지만 매 틱마다 강제로 다시 계산되도록 할 수 있습니다. 이 작업을 수행하는 방법은 설명서에서 찾을 수 있습니다.
Alexey Viktorov : Igor, 음, 순전히 논리적으로 표시기가 올바르게 작성되면 현재 막대의 값만 변경할 수 있습니다. 따라서 현재 값이 필요한 경우 이러한 새로운 값을 사용하기 직전에 CopyBuffer가 필요합니다. 그리고 역사적 가치가 필요하다면 그것들은 변하지 않으며 그것을 다시 읽을 이유도 없다.
어딘가에 각 틱의 표시기 계산에 대한 정보가 있습니다. 내가 기억하는 한, 기본적으로 표시기는 액세스할 때만 다시 계산되지만 매 틱마다 강제로 다시 계산되도록 할 수 있습니다. 이 작업을 수행하는 방법은 설명서에서 찾을 수 있습니다.
nnc_arr_in 배열의 크기를 구조 배열의 셀 0에 있는 크기보다 1만큼 더 변경합니다.
고맙습니다.
문제 mql5
두 개의 열린 위치 가 있고 신호가 있습니다( 플래그 == true ).
단 하나의 포지션, 즉 더 많은 이익을 내야 하는 포지션.
어떻게 더 많은 이익 이 있는 사람 만 닫으십시오?
이 이벤트를 처리하는 가장 좋은 방법.
나는 이것을 이렇게 하려고 노력하고 있다:
결과적으로 마지막 열린 위치가 닫힙니다.
올바르게 구현하는 방법을 알려주세요. 나는 예를 원한다. 참고 문헌과 입문서를 읽었지만 항상 미묘함을 이해하지는 못합니다.
문제 mql5
두 개의 열린 위치 가 있고 신호가 있습니다( 플래그 == true ).
단 하나의 포지션, 즉 더 많은 이익을 내야 하는 포지션.
어떻게 더 많은 이익 이 있는 사람 만 닫으십시오?
이 이벤트를 처리하는 가장 좋은 방법.
나는 이것을 이렇게 하려고 노력하고 있다:
결과적으로 마지막 열린 위치가 닫힙니다.
올바르게 구현하는 방법을 알려주세요. 나는 예를 원한다. 참고 문헌과 입문서를 읽었지만 항상 미묘함을 이해하지는 못합니다.
코드:
코드:
정말 감사합니다. 효과가 있는 것 같습니다. 이러한 지역 변수 가 이미 존재하기 때문에 티켓에 대해서만 불평합니다.
'티켓'의 선언은 지역 변수를 숨깁니다 Lim_Stop_03_Sell_pos_06.mq5 299 십
이 티켓 중 일부는 분명히 내부에 숨겨져 있어야 합니다.
정말 감사합니다. 효과가 있는 것 같습니다. 이러한 지역 변수 가 이미 존재하기 때문에 티켓에 대해서만 불평합니다.
'티켓'의 선언은 지역 변수를 숨깁니다 Lim_Stop_03_Sell_pos_06.mq5 299 십
이 티켓 중 일부는 분명히 내부에 숨겨져 있어야 합니다.
변수 이름 바꾸기
~에
물론 코드에서도 이름을 바꾸는 것을 잊지 마십시오.
변수 이름 바꾸기
~에
물론 코드에서 이름을 바꾸는 것을 잊지 마십시오.
예 감사합니다. 이미 이해했습니다... 이름이 변경되었습니다.
안녕하세요!
가격이 위쪽 라인 보다 높거나 아래쪽 라인(선이 수평 또는 경사이며 차트에서 이동할 수 있음)보다 낮은 경우 이메일이나 푸시 레터를 보내는 어드바이저를 어디에서 찾을 수 있는지 알려주십시오.
가지고 계신 분 계시면 공유 부탁드립니다.
MT5에서만
고맙습니다!
EA에서 표시기를 연결하면
그런 다음 CopyBuffer(ind_handle, 0, 1, 3, buffer1)를 사용하여 표시기 버퍼를 얻습니다.
매 틱마다 표시기 버퍼 를 읽어야 합니까?
답이 필요하고 가급적이면 출처가 필요합니다. 부두, 기사:
1. 지표는 항상 병렬로 계산됩니다.
2. 표시기는 CopyBuffer() 호출 시에만 계산됩니다.
EA에서 표시기를 연결하면
그런 다음 CopyBuffer(ind_handle, 0, 1, 3, buffer1)를 사용하여 표시기 버퍼를 가져옵니다.
매 틱마다 표시기 버퍼 를 읽어야 합니까?
우리는 답변이 필요하고 가급적이면 출처가 필요합니다. 부두, 기사:
1. 지표는 항상 병렬로 계산됩니다.
2. 표시기는 CopyBuffer() 호출 시에만 계산됩니다.
어딘가에 각 틱의 지표 계산에 대한 정보가 있습니다. 내가 기억하는 한, 기본적으로 표시기는 액세스할 때만 다시 계산되지만 매 틱마다 강제로 다시 계산되도록 할 수 있습니다. 이 작업을 수행하는 방법은 설명서에서 찾을 수 있습니다.
Igor, 음, 순전히 논리적으로 표시기가 올바르게 작성되면 현재 막대의 값만 변경할 수 있습니다. 따라서 현재 값이 필요한 경우 이러한 새로운 값을 사용하기 직전에 CopyBuffer가 필요합니다. 그리고 역사적 가치가 필요하다면 그것들은 변하지 않으며 그것을 다시 읽을 이유도 없다.
어딘가에 각 틱의 표시기 계산에 대한 정보가 있습니다. 내가 기억하는 한, 기본적으로 표시기는 액세스할 때만 다시 계산되지만 매 틱마다 강제로 다시 계산되도록 할 수 있습니다. 이 작업을 수행하는 방법은 설명서에서 찾을 수 있습니다.
좋아, 그래서 당신은 여전히 테스트해야합니다
문제는 표시기를 다시 그리는 데 있습니다. 아직 표시기를 다시 쓰고 싶지 않습니다.