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

 
Top2n :

매우 감사합니다. 모든 것이 작동합니다. 나는 당신이 쓴 것을 이해할 것입니다.
 
Top2n :

다른 제안 사항이 있습니까?

스크립트를 오프라인 차트에 연결하면 터미널이 멈춥니다. 로봇에 코드를 탑재한 다음 #import "user32.dll" 로 무엇을 할 수 있습니다.

대본은 하나의 예였으며 아무도 오프라인 차트에 던질 필요가 있다고 말하지 않았습니다. 일반적으로 일반 차트에서 시작되며 오프라인 차트 TF는 선으로 표시됩니다.

 int whdl=WindowHandle ( Symbol (), period_renko );  

그리고 #import "user32.dll"은 필요하지 않으며 WinUser32.mqh 에서 호출됩니다.

그리고 일반적으로 생성된 Renko 차트에서 눈금을 에뮬레이트할 수 있는 " 6MTH_Renko_Chart_Builder_Indi_Ver_02.mq4 " 표시기가 있습니다. 이것이 작동하는 방식이며 지표가 일반 차트에서 시작된 다음 실시간으로 업데이트되는 Renko 차트가 열립니다 .


 
evillive :

대본은 하나의 예였으며 아무도 오프라인 차트에 던질 필요가 있다고 말하지 않았습니다. 일반적으로 일반 차트에서 시작되며 오프라인 차트 TF는 선으로 표시됩니다.

그리고 #import "user32.dll"은 필요하지 않으며 WinUser32.mqh 에서 호출됩니다.

그리고 일반적으로 생성된 Renko 차트에서 눈금을 에뮬레이트할 수 있는 " 6MTH_Renko_Chart_Builder_Indi_Ver_02.mq4 " 표시기가 있습니다. 이것이 작동하는 방식이며 지표가 일반 차트에서 시작된 다음 실시간으로 업데이트되는 Renko 차트가 열립니다.


고맙습니다!)
 

안녕하세요,이 작업을 수행하는 방법을 알려주실 수 있습니까?

작동하는 코드 조각이 있습니다. 이것은 거래 수준 에 접근할 때의 신호입니다. buy1_line은 차트의 레벨이고, buy1은 해당 레벨로부터의 가격 거리(포인트)입니다. 사실 코드에는 불필요한 수준을 비활성화하는 기능이 있습니다. 이 경우 레벨 값 buy1_line(0.00000)과 거리가 6자리 숫자로 표시되므로 기본적으로 의미가 없습니다. (레벨이 꺼져있어 거리를 알 필요가 없습니다) 질문! 해당 레벨이 비활성화된 경우 구매 1 레벨까지의 거리를 재설정하는 방법은 무엇입니까? (또는 이 숫자 대신 OFF를 쓰시겠습니까?)

 string buy1_line=DoubleToStr(Price_Line, Digits );
string buy2_line=DoubleToStr(Price_Line2, Digits );
string buy1=     DoubleToStr((Price_Line-Bid)/ Point , 0 );
string buy2=     DoubleToStr((Price_Line2-Bid)/ Point , 0 );       

message=
 "buy_1 (" +buy1_line+ "):" +(buy1> "0" ? "+" : "" )+buy1+ "   \n" +
 "buy_2 (" +buy2_line+ "):" +(buy2> "0" ? "+" : "" )+buy2+ "   \n" ;

SendNotification (message);
 

안녕하세요, 방금 보낸 주문의 티켓을 어떻게든 얻을 수 있습니까? 나는 주문을 보냅니다

티켓 = OrderSend (Symbol(), cmd, Lot((OOP-OSL)/Point),OOP,1,OSL, OTP,NULL, Expert_ID, 0);

그런 다음 ticket < 1인지 확인하고 이제 모든 미결 주문을 다시 진행하지 않으면서 OrderTicket() 번호를 얻고 싶습니다. 왜냐하면 그것들이 많을 수 있기 때문입니다. 그리고 두 개의 거의 동일한 주문이 다음과 같은 경우 문제가 예상됩니다. 한 번에 다른 정류장이 전송됩니다.

감사하다!

 
danik :

안녕하세요, 방금 보낸 주문의 티켓을 어떻게든 얻을 수 있습니까? 나는 주문을 보냅니다

티켓 = OrderSend(Symbol(), cmd, Lot((OOP-OSL)/Point),OOP,1,OSL, OTP,NULL, Expert_ID, 0);

그런 다음 ticket < 1인지 확인하고 이제 모든 미결 주문을 다시 진행하지 않으면서 OrderTicket() 번호를 얻고 싶습니다. 왜냐하면 그것들이 많을 수 있기 때문입니다. 그리고 두 개의 거의 동일한 주문이 다음과 같은 경우 문제가 예상됩니다. 다른 정류장이 한 번에 전송됩니다.

감사하다!

그리고 이미 열린 주문의 티켓을 찾기 위해 OrderSend()가 필요하지 않습니다. OrderSelect() 를 사용하여 선택해야 합니다.

루프에서 모든 시장 주문을 반복하고 각각을 선택하고 유형, 기호 및 매직이 일치하면 티켓을 배열에 씁니다.

그런 다음 배열이 오름차순으로 정렬됩니다. 가장 높은 티켓 값은 가장 최근 주문입니다.

 
예, 아마도 그래야 합니다. 방금 보낸 주문의 티켓을 얻는 어떤 트릭이나 방법이 있지 않을까 생각했습니다. 글쎄, 그렇지 않다면, 당신은 그것을 구식 방식으로 해야 할 것입니다. 그것은 유감입니다. 감사하다!
 
danik :
예, 아마도 그래야 합니다. 방금 보낸 주문의 티켓을 얻는 어떤 트릭이나 방법이 있지 않을까 생각했습니다. 글쎄, 그렇지 않다면, 당신은 그것을 구식 방식으로 해야 할 것입니다. 그것은 유감입니다. 감사하다!

방금 열었습니다. - 티켓 = OrderSend (Symbol(), cmd, Lot((OOP-OSL)/Point),OOP,1,OSL, OTP,NULL, Expert_ID, 0);

그러나 이것은 응용 프로그램이 오류 없이 실행되었으며 이러한 티켓은 빠르게 덮어쓰인 경우에 한합니다.

 
danik :

안녕하세요, 방금 보낸 주문의 티켓을 어떻게든 얻을 수 있습니까? 나는 주문을 보냅니다

티켓 = OrderSend(Symbol(), cmd, Lot((OOP-OSL)/Point),OOP,1,OSL, OTP,NULL, Expert_ID, 0);

그런 다음 ticket < 1인지 확인하고 이제 모든 미결 주문을 다시 진행하지 않으면서 OrderTicket() 번호를 얻고 싶습니다. 왜냐하면 그것들이 많을 수 있기 때문입니다. 그리고 두 개의 거의 동일한 주문이 다음과 같은 경우 문제가 예상됩니다. 한 번에 다른 정류장이 전송됩니다.

감사하다!

전역 변수 수준에서 티켓을 선언하고 싶지 않은 이유는 무엇입니까?
 

문제는 이러한 티켓이 두 개 이상 있다는 것입니다. 아마도 4, 나는 확실하지 않습니다. 따라서 orderselect가 저장하지 않는 티켓 번호 및 기타 정보가 있는 클래스를 만들었습니다. 따라서 아래에 액세스하는 것이 바람직합니다. 그러나 지금까지는 클래스 개체를 만들고 CarrayObj 에 던진 다음 인덱스로 가져와 티켓을 비교하고 추가로 분석하는 것만 생각했습니다. 문제는 그가 질문한 이유입니다. 오류 처리로 인해 손실된 내용입니다. 그러나 나는 그것을 알아 냈습니다. 감사합니다. 다른 곳에서 비난해야합니다. 악의적인 신사 여러분 AlexeyVik - 신속한 답변에 감사드립니다!