ordersend() 코딩 도움말...

 

얘들 아,

정말 이상하지만 다음 코드를 실행하면 아무 것도 하지 않습니다. GetLastError()는 130을 반환합니다.

   Print ( "running" );
   OrderSend ( Symbol (),OP_BUY, 1 ,Ask, 3 ,Ask- 25 * Point ,Ask+ 25 * Point , "My order #2" , 16384 , 0 , Green )


그러나 동일한 코드를 사용하고 중지 및 대상 정보를 제거하면 주문이 잘 나옵니다.

   Print ( "running" );
   OrderSend ( Symbol (),OP_BUY, 1 ,Ask, 3 , 0 , 0 , "My order #2" , 16384 , 0 , Green );


나는 빈 전문가 템플릿을 사용하고 있으며 시작 기능 에 이 두 줄의 코드가 있습니다.

원인이 무엇인지 확실하지 않습니다...


감사해요!

 
mugged :

얘들 아,

정말 이상하지만 다음 코드를 실행하면 아무 것도 하지 않습니다. GetLastError()는 130을 반환합니다.


그러나 동일한 코드를 사용하고 중지 및 대상 정보를 제거하면 주문이 잘 나옵니다.


저는 빈 전문가 템플릿을 사용하고 있으며 시작 기능에 이 두 줄의 코드가 있습니다.

원인이 무엇인지 확실하지 않습니다...


감사해요!

어떤 종류의 브로커?

분수 기호?

 
diostar :

어떤 종류의 브로커?

분수 기호?


IBFX 미니 계정을 사용하고 있습니다.


Eur/Ud로 실행 중입니다.

 
또한 전략 테스터 에서 코드를 실행할 때 잘 작동합니다. 실생활에서 실행할 때 문제가 발생합니다.
 

SL 및 TP 계산이 잘못되었습니다.

구매인 경우:

SL = 입찰가 - 손절매* 포인트

TP = 입찰 + 이익실현* 포인트

판매인 경우:

SL = 매도 + 손절매* 포인트;

TP = 묻기 - TakeProfit* 포인트;

그 외에도 일부 브로커의 경우 SL 및 TP 수준 없이 OrderSend()를 수행한 다음 OrderModify()를 수행하고 TP 및 SL을 입력해야 합니다.

 
mugged :

IBFX 미니 계정을 사용하고 있습니다.


Eur/Ud로 실행 중입니다.

좋아요.... 구체적이지 못해서 죄송합니다.

이 시도:

(1) 주문 시: sl=tp=0. 그런 다음 sl=tp를 수정합니다.

(2) eur/usd: 몇 자릿수입니까? 4 또는 5?

 
SDC :

SL 및 TP 계산이 잘못되었습니다.

구매인 경우:

SL = 입찰가 - 손절매* 포인트

TP = 입찰 + 이익실현* 포인트

판매인 경우:

SL = 매도 + 손절매* 포인트;

TP = 묻기 - TakeProfit* 포인트;


안녕 버드, 나는 당신이 제안한대로 "Bid"로 내 SL과 TP를 정의하는 데 사용했던 "Ask"를 바꾸려고 시도했지만 여전히 운이 없습니다.
 

좋습니다. 아마도 OrderSend()를 수행한 다음 OrderModify()를 수행해야 하기 때문일 것입니다.

 
diostar :

좋아요.... 구체적이지 못해서 죄송합니다.

이 시도:

(1) 주문 시: sl=tp=0. 그런 다음 sl=tp를 수정합니다.

(2) eur/usd: 몇 자릿수입니까? 4 또는 5?



1) 예, 이 방법이 효과가 있습니다! 이 문제를 해결하는 방법이 있습니까? 1차 오더는 들어갔지만 수정이 안 되는 최악의 경우(접속 끊김, 에러 발생 등) 생각이 싫다.


2) 5자리 중개인

 
5자리 브로커의 경우 SL 및 TP 금액에 10을 곱해야 할 수 있습니다. 그렇지 않으면 TP 또는 2.5핍에서 중지
 
SDC :
5자리 브로커의 경우 SL 및 TP 금액에 10을 곱해야 할 수 있습니다. 그렇지 않으면 TP 또는 2.5핍에서 중지

send then modify 방법으로 잘 진행되는 것 같습니다. 주문을 받고 같은 장면에서 멈출 수 있는 방법에 대한 아이디어가 있습니까? 프로덕션 환경에서 함께 사용하는 것을 선호합니다.