포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 383

 
clubsmi :

사람들이 MQL4에서 백분율을 계산하는 방법을 알려주세요.

예를 들어 x=10+3% 프로그래밍 방식으로 작성하는 방법은 무엇입니까?

설명서에서 아무것도 찾을 수 없습니다.



x=10*1.03
 
r772ra :


x=10*1.03



확인! 하지만 매번 다시 계산하지는 않겠습니다. 백분율 자체를 계산하는 함수가 필요합니다.

y=3; // chilo는 매 틱마다 계속 변경됩니다.

x=10+yP; // P 대신 백분율이 필요합니다. 하지만 나는 그것들을 mql로 쓸 수 없다

 
if (Line_7 > Lines_1 && Lines_1 > Line_6)
{
OrderSend ( Symbol (), OP_BUY ,Lots_Typ, Ask , 5 , 0 , 0 );
}
if ( AccountProfit () > 50 )
{ 
OrderClose ( Symbol (), 5 , Ask , 0 );
}
논리 코드 체인:

1 7행이 1행보다 높고 1행이 6행보다 높으면
2 그럼
3, 종가에서 SL과 TP가 없는 5핍의 가능한 슬리피지인 Lot_Typ 볼륨 으로 매수 주문 이 시작됩니다.

1 이 계정의 잠재적 이익이 $50 이상인 경우,
2 그럼
3 보유하고 있는 속성(볼륨, 구매/판매, ...)에 관계없이 모든 주문이 마감되었습니다.

논리적 사슬은 올바르게 구축되었지만 논리적 사슬을 따른 코드는 그렇지 않습니다.

 OrderClose ( Symbol (), 5 , Ask , 0 );
오류는 여기에 있습니다.
위의 코드와 관련하여 논리적 체인을 구축하면 다음을 얻습니다.
종가와 0핍의 가능한 미끄러짐으로 주문의 5랏을 마감합니다.

그것을 고치는 방법? 조언 부탁드립니다.
 
clubsmi :



확인! 하지만 매번 다시 계산하지는 않겠습니다. 백분율 자체를 계산하는 함수가 필요합니다.

y=3; // chilo는 매 틱마다 계속 변경됩니다.

x=10+yP; // P 대신 백분율이 필요합니다 . 하지만 나는 그것들을 mql로 쓸 수 없다

무엇과 관련하여?
 
clubsmi :



확인! 하지만 매번 다시 계산하지는 않겠습니다. 백분율 자체를 계산하는 함수가 필요합니다.

y=3; // chilo는 틱마다 계속 변경됩니다.

x=10+yP; // P 대신 백분율이 필요합니다. 하지만 나는 그것들을 mql로 쓸 수 없다

 //+----------------------------------------------------------------------------+
double Percent( double x, double y) { return (x* 0.01 *y);}
//+----------------------------------------------------------------------------+

x - 숫자, y - 원하는 백분율

우리는 숫자 x와 그것에 필요한 백분율 y를 전달하고 출력에서 숫자 x의 백분율 y를 얻습니다.

 
Link_x :
논리 코드 체인:

1 7행이 1행보다 높고 1행이 6행보다 높으면
2 그럼
3, 종가에서 SL과 TP가 없는 5핍의 가능한 슬리피지인 Lot_Typ 볼륨으로 매수 주문이 시작됩니다.

1 이 계정의 잠재적 이익이 $50 이상인 경우,
2 그럼
3은 보유한 속성(볼륨, 매수/매도 등)에 관계없이 모든 주문을 마감합니다.

논리적 사슬은 올바르게 구축되었지만 논리적 사슬을 따른 코드는 그렇지 않습니다.

오류는 여기에 있습니다.
위의 코드와 관련하여 논리적 체인을 구축하면 다음을 얻습니다.
종가와 0핍의 가능한 미끄러짐으로 주문의 5랏을 마감합니다.

그것을 고치는 방법? 조언 부탁드립니다.

친애하는, 설명서를 주의 깊게 읽으십시오.

구체적으로

bool 주문 닫기 ( int 티켓, 이중 로트, 이중 가격, int 슬리피지, color Color=CLR_NONE)
포지션을 닫습니다. 함수가 성공적으로 완료되면 TRUE를 반환합니다. 함수 실패 시 FALSE를 반환합니다. 오류에 대한 정보를 얻으려면 GetLastError() 함수를 호출해야 합니다.
옵션:
티켓 - 주문의 고유 일련 번호입니다.
제비 - 닫을 로트의 수입니다.
가격 - 마감 가격.
슬립 페이지 - 최대 미끄러짐 값(포인트)입니다.
색깔 - 차트에서 닫기 화살표의 색상입니다. 매개변수가 없거나 해당 값이 CLR_NONE과 같으면 차트에 화살표가 표시되지 않습니다.
예시:
 if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75)
    {
     OrderClose(order_id,1,문의,3,빨간색);
     반환(0);
    }

 
r772ra :

친애하는, 설명서를 주의 깊게 읽으십시오.

구체적으로

bool 주문 닫기 ( int 티켓, 이중 로트, 이중 가격, int 슬리피지, color Color=CLR_NONE)
포지션을 닫습니다. 함수가 성공적으로 완료되면 TRUE를 반환합니다. 함수 실패 시 FALSE를 반환합니다. 오류에 대한 정보를 얻으려면 GetLastError() 함수를 호출해야 합니다.
옵션:
티켓 - 주문의 고유 일련 번호입니다.
제비 - 닫을 로트의 수입니다.
가격 - 마감 가격.
슬립 페이지 - 최대 미끄러짐 값(포인트)입니다.
색깔 - 차트에서 닫기 화살표의 색상입니다. 매개변수가 없거나 해당 값이 CLR_NONE과 같으면 차트에 화살표가 표시되지 않습니다.
예시:

이 모든 것을 알고 있습니다.
기능에 관계없이 모든 주문이 닫히도록 만드는 방법은 무엇입니까?
 
Link_x :
이 모든 것을 알고 있습니다.
기능에 관계없이 모든 주문이 닫히도록 만드는 방법은 무엇입니까?

알잖아, 잘했어

 OrderClose ( Symbol (), 5 , Ask , 0 ) //зто твое

OrderClose (order_id, 1 , Ask , 3 ,Red); // А зто пример из документации

// Найди отличие
 
artmedia70 :

x - 숫자, y - 원하는 백분율

우리는 숫자 x와 그것에 필요한 백분율 y를 전달하고 출력에서 숫자 x의 백분율 y를 얻습니다.



당신이 필요로하는 것, 대단히 감사합니다 ... 모든 것이 얼마나 쉬운 지 밝혀졌습니다.하지만 반나절 동안 머리를 부수고 있습니다 !! 다시 한번 감사합니다!

 
r772ra :

알잖아, 잘했어


내 예에서: 임의 주문 번호, 거래량 - 5, 종가 , 슬리피지 0, 화살표 없음.
문서 예에서: order_id, 볼륨 1, 종가에 의한 주문 번호 계산, 슬리피지 3에서 화살표는 빨간색입니다.

1 주문 번호 계산이 있습니다 - 주문 번호 계산이 없습니다
2권(1) - 볼륨(5)
3 슬립 (3) - 슬립 (0)
4 빨간색 화살표 - 화살표 없음

차이점이 발견되었습니다.
이제 작업으로 돌아갑니다.

작업 1
예외 없이 모든 미결 주문을 닫는 코드를 작성하십시오.

내 추론.
그러한 코드를 작성하는 것이 가능하지만 "어떻게?"라는 질문이 생깁니다.
1 - 모든 미결 주문(총 거래량, 주문 클러스터 번호, 매수/매도, 허용 슬리피지)을 모니터링하는 코드가 생성됩니다.
2 - 주문을 열고 이러한 모든 주문을 모니터링하는 코드로 데이터를 보내는 코드가 생성됩니다(일종의 데이터베이스가 생성됨).
3 - 특정 조건에서 모든 주문을 닫고 "특수 데이터베이스"에서 사용하지 않는 데이터만 가져오는 코드가 생성됩니다.
데이터는 재사용되지 않습니다.

당신은 이것을 할 수 있지만, 덜 번거로운 또 다른 옵션이 있다고 생각합니다.
그래서 저는 "어떻게?"라고 묻습니다.