당신이 댓글을 달 때 그것은 거래를 입력합니까
//if (OpenOrdersThisPair( Symbol ())== 0 )언제 입력합니까
LotSize = 0.1 ;
등. 거래에 들어가기 시작할 때까지 다시 작업하십시오. 일단 거기에 있으면 문제가 무엇인지 알게 될 것입니다. hth
네, 로트 사이즈가 "0"인 경우에도 긴 쪽에 들어갑니다...
OpenOrderThisPair를 변경해도 작동하지 않습니다.... 흠. 아주 이상해...
OpenOrderThisPair를 변경해도 작동하지 않습니다.... 흠. 아주 이상해...
DomGilberto :
네, 로트 사이즈가 "0"인 경우에도 긴 쪽에 들어갑니다...
OpenOrderThisPair를 변경해도 작동하지 않습니다.... 흠. 아주 이상해...
네, 로트 사이즈가 "0"인 경우에도 긴 쪽에 들어갑니다...
OpenOrderThisPair를 변경해도 작동하지 않습니다.... 흠. 아주 이상해...
이 테스트가 0이 아닌 값을 반환하는 경우. . .
if (OpenOrdersThisPair( Symbol ()) == 0 )
. . . OrderSend()는 호출되지 않지만 SellTicketOrder가 0보다 큰지 확인 합니다. . .
이 작업을 수행 . . .
if (direction== 1 ) //--Sell--// { { double ssl=sell_stop_price; double stp=sell_takeprofit_price; LotSize = (RiskedAmount/(pips_to_ssl/pips))/ 10 ; if (OpenOrdersThisPair( Symbol ())== 0 ) { int SellTicketOrder = OrderSend ( Symbol (),OP_SELLSTOP,LotSize,sellPrice, 3 ,ssl,stp, NULL ,MagicNumber, 0 ,Red); if (SellTicketOrder > 0 ) { Print ( "Order Placed #" , SellTicketOrder); } else { Print ( "Order Send Failed, error # " , GetLastError ()); } } }
이것이 실행되면 긴 쪽에서 잘 작동합니다(저는 지난 2시간 동안 이것으로 놀고 있었습니다). 문제는 이동 평균 매개변수와 관련된 IF 문과 관련하여 내가 어디에서 잘못되고 있는지(여기서 "CheckForMaTrade" 함수 를 호출함) 및 그들이 "true"는 OrderEntry를 OrderSend로 보낼 것입니다... 문제는, 그 부분을 올바르게 작성하는 방법을 여전히 배우고 있다는 것입니다...
//+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- if (OpenOrdersThisPair( Symbol ())>= 1 ) { if (UseMoveToBreakEven)MoveToBreakEven(); if (UseTrailingStop)AdjustTrail(); if (Use_MA_Trail)MA_Trail(); } if (IsNewCandle())CheckForMaTradeLong(); if (IsNewCandle())CheckForMaTradeShort(); //---- return ( 0 ); }
DomGilberto :
이것이 실행되면 긴 쪽에서 잘 작동합니다(저는 지난 2시간 동안 이것으로 놀고 있었습니다). 문제는 이동 평균 매개변수와 관련된 IF 문과 관련하여 내가 어디에서 잘못되고 있는지(여기서 "CheckForMaTrade" 함수라고 함)가 알고 있기 때문에 당신과 특정 누군가를 감쌀 것입니다. "true"는 OrderEntry를 OrderSend로 보낼 것입니다... 문제는, 그 부분을 올바르게 작성하는 방법을 여전히 배우고 있다는 것입니다...
이것이 실행되면 긴 쪽에서 잘 작동합니다(저는 지난 2시간 동안 이것으로 놀고 있었습니다). 문제는 이동 평균 매개변수와 관련된 IF 문과 관련하여 내가 어디에서 잘못되고 있는지(여기서 "CheckForMaTrade" 함수라고 함)가 알고 있기 때문에 당신과 특정 누군가를 감쌀 것입니다. "true"는 OrderEntry를 OrderSend로 보낼 것입니다... 문제는, 그 부분을 올바르게 작성하는 방법을 여전히 배우고 있다는 것입니다...
랩터영국 :
이제 어떤 오류가 발생합니까? 하나를 얻지 못하고 "주문 배치 # 12345"가 표시되지 않으면 OrderSend()가 호출되지 않고 OpenOrdersThisPair() 함수에 문제가 있는 것입니다. . . 코드를 게시하십시오.
이제 어떤 오류가 발생합니까? 하나를 얻지 못하고 "주문 배치 # 12345"가 표시되지 않으면 OrderSend()가 호출되지 않고 OpenOrdersThisPair() 함수에 문제가 있는 것입니다. . . 코드를 게시하십시오.
그래서 .. . . 어떤 오류가 발생합니까 등. . .
if (IsNewCandle())CheckForMaTradeLong(); if (IsNewCandle())CheckForMaTradeShort();인수분해 작업을 함수 로 지원하는 동안 New Candle/New Bar의 대부분의 변형에 대해서는 해당 함수를 한 번만 호출할 수 있기 때문에 지원하지 않습니다[per start()]
int start(){ static datetime time0; bool isNewCandle = time0 != Time[ 0 ]; time0 = Time[ 0 ]; // Once per start only. : if (isNewCandle)CheckForMaTradeLong(); if (isNewCandle)CheckForMaTradeShort();
감사합니다 WHRoeder - 좋은 팁!
나는 왜 롱 포지션이 작동하고 숏 거래가 전혀 작동하지 않는지 이해하기 위해 고군분투하고 있습니까?
주어진 브로커와 함께 소수점 이하 자릿수를 결정하는 초기화 기능 과 관련이 있다는 느낌이 듭니다. (이것이 테스터를 처음 시작할 때 팬텀 오더가 바로 버려지는 이유에 대한 원인 인 것 같습니다 ...)
왜 짧은 쪽이 나에게이 오류를 말하는지 아는 사람이 있습니까?
미리 감사드립니다(코드가 현재 약간 지저분합니다. 물론 정리할 예정입니다!)