//CloseOrder void CloseOrder() { double PR= 0 ; while (! IsTradeAllowed ()) Sleep ( 10 ); RefreshRates (); if ( OrderType ()== OP_BUY ) PR= Bid ; if ( OrderType ()== OP_SELL ) PR= Ask ; if (! OrderClose ( OrderTicket (), OrderLots (),PR,Slippage,CLR_NONE)) Print ( "Order close error: " ,GetLastError()); return ;} //Close all Orders void CloseAllOrders() { for ( int i= OrdersTotal ()- 1 ;i>= 0 ;i--) if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )) { CloseOrder(); } return ;}
기호를 확인 하지 않음 매직넘버를 확인하지 않음....
그렇다면 다른 EA와 함께 라이브를 사용하면 어떻게 될까요 ???
기호를 확인하지 않음 매직넘버를 확인하지 않음....
그렇다면 다른 EA와 함께 라이브를 사용하면 어떻게 될까요 ???
하나의 계정에서 두 개의 EA를 실행하는 것을 의미합니까?
하나의 계정에서 두 개의 EA를 실행하는 것을 의미합니까?
안녕하세요!
저는 mql 4를 처음 사용하고 간단한 2 EMA 교차 고문을 만들었습니다. 데모 계정에서 테스트했지만 실제 계정에서 사용하는 것이 조금 두렵습니다.
1h 규모의 작은 로트로 테스트하면 시간이 너무 많이 걸리고 분 규모로 테스트하는 것은 비용이 많이 듭니다. 내 브로커의 최소 로트가 약 7 USD이기 때문입니다.
그래서, 당신이 그것을 살펴보고 내가 할 수 있었던 명백한 실수를 지적해 주시면 감사하겠습니다.
그렇게 하라는 메시지가 표시되지 않고 거래 함수 반환 값을 확인하는 사람을 보는 것이 좋습니다. . . 그러나 문제의 원인을 진단할 수 있도록 오류가 발생하는 경우 더 많은 정보가 필요합니다. 살아 있는 상황에서 시간을 되돌려 당시 스프레드가 무엇인지 또는 동결 수준 이 무엇인지 확인할 수 없습니다. . .
if (tic < 0 ) Print ( "Open order error: " , GetLastError());
. . . 이것은 좋지만 더 많은 것이 필요합니다. 오류가 발생한 원인을 파악할 수 있도록 인쇄해야 할 변수는 무엇입니까? 필요한 것이 무엇인지 결정했으면 모든 것을 Print() 호출에 추가하여 Ask, Bid 등과 같은 이중 변수에 대해 올바른 소수 자릿수(DoubeToStr(value,digits))를 사용했는지 확인하십시오.
그렇게 하라는 메시지가 표시되지 않고 거래 함수 반환 값을 확인하는 사람을 보는 것이 좋습니다. . .
죄송하지만 그 부분을 이해하지 못했습니다. 내가 얻은 유일한 것은 Print() 호출 에 가능한 한 많은 변수를 추가해야 한다는 것입니다. 포인트 가져왔습니다. 감사합니다.
deVries, 조언도 감사합니다. 이제 무슨 말인지 이해합니다.
수정해야 할 다른 것이 있습니까?
당연히 있다
이미 최대 막대가 있다고 가정합니다(제한이 있음).....
알겠습니다. 새 초가 열리는 순간을 더 잘 포착하려면 어떻게 해야 하나요?
최신 막대 시간 확인 Time[0]
NewBar를 검색하면 몇 가지 예를 찾을 수 있습니다.
고마워, 나는 이것을 발견했다 https://www.mql5.com/en/code/10370
if (Cmd== OP_BUY ) {PR= Ask ; if (TakeProfit> 0 ) TP= Ask + Ask *TakeProfit/ 100 ; if (StopLoss> 0 ) SL= Ask - Ask *StopLoss/ 100 ; if (SL< 0 ) SL = 0 ; if (TP< 0 ) TP = 0 ; clr = Green;}
나는 이것이 옳지 않다고 생각한다
어떻게 100핍 테이크프로핏과 150핍 손절매를 얻나요 ???
업데이트 참조 " 손절매와 이익 실현은 핍이 아니라 입찰 또는 매도의 백분율로 표시됩니다."
여전히 그런 식으로 유효한 가격을 얻습니까? 기호에 5자리가 있으면 결과는 종종 2자리가 더 많습니다.
안녕하세요!
저는 mql 4를 처음 사용하고 간단한 2 EMA 교차 고문을 만들었습니다. 데모 계정 에서 테스트했지만 실제 계정에서 사용하는 것이 조금 두렵습니다.
1h 규모의 작은 로트로 테스트하면 시간이 너무 많이 걸리고 분 규모로 테스트하는 것은 비용이 많이 듭니다. 내 브로커의 최소 로트가 약 7 USD이기 때문입니다.
그래서, 당신이 그것을 살펴보고 내가 할 수 있었던 명백한 실수를 지적해 주시면 감사하겠습니다.
이 고문은 매우 변동성이 큰 Bitcoin/USD 시장에서 거래해야 하므로(가격은 하루에 +-30% 올라갈 수 있음) 손절매와 이익실현은 핍이 아니라 매수 또는 매도의 백분율로 표시됩니다.
변수와 물건:
이 기능은 주문당 사용할 수 있는 보증금의 %(int Risk)에 따라 로트 크기를 결정하는 것입니다.
새 주문을 여는 기능입니다. Cmd는 매수 또는 매도입니다.
여기에서 1개의 주문을 마감하거나 모든 주문을 마감합니다.
이 함수는 빠르고 느린 EMA 차이를 계산하는 데 사용됩니다(빠른 EMA - 느린 EMA):
그리고 여기에 본체가 있습니다.
나는 후행 정지를 추가하고 느리고 빠른 EMA가 서로 매우 가까워지고 모든 막대와 교차할 때 잘게 잘리지 않도록 EmaDiff를 0이 아니라 일부 작은 walue와 비교하는 것을 고려할 것입니다.