Forex 거래의 "헤징" - 왜 할까요? - 페이지 7 12345678 새 코멘트 Marco vd Heijden 2018.08.20 09:16 #61 //+------------------------------------------------------------------+ //| Sonic the hedge hog.mq4 | //| Copyright 2018, Marco vd Heijden, MetaQuotes Software Corp. | //| https://www.mql5.com | //| The code should be used for educational purpose only.| //+------------------------------------------------------------------+ #property copyright "Copyright 2018, Marco vd Heijden, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict datetime time; int TrailingStop= 100 ; double Lots= 0.01 ; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit () { //--- time= iTime ( _Symbol , PERIOD_D1 , 0 ); //--- return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick () { exit(); enter(); } //+------------------------------------------------------------------+ //| enter //+------------------------------------------------------------------+ void enter() { //--- new bar ? if (time!= iTime ( _Symbol , PERIOD_D1 , 0 )) { int ticket_buy=- 1 ; { while (ticket_buy< 0 ) { ticket_buy= OrderSend ( _Symbol , OP_BUY ,Lots, Ask , 3 , NULL , NormalizeDouble ( Bid + 100 * Point , Digits ), "Sonic" , 1234 , 0 , clrGreen ); } } int ticket_sell=- 1 ; { while (ticket_sell< 0 ) { ticket_sell= OrderSend ( _Symbol , OP_SELL ,Lots, Bid , 3 , NULL , NormalizeDouble ( Ask - 100 * Point , Digits ), "Sonic" , 1234 , 0 , clrRed ); } } if (ticket_buy> 0 && ticket_sell> 0 ) { time= iTime ( _Symbol , PERIOD_D1 , 0 ); } } } //+------------------------------------------------------------------+ //| exit //+------------------------------------------------------------------+ void exit() { //--- it is important to enter the market correctly, but it is more important to exit it correctly... for ( int cnt= OrdersTotal (); cnt>= 0 ; cnt--) { if ( OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES )== true ) { if ( TimeDay ( OrderOpenTime ())!= TimeDay (time)) { bool close= OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 3 , clrBlue ); { if (close== 0 ) { Print ( "OrderCloseError" + IntegerToString ( OrderTicket ())); } } } } } } //+------------------------------------------------------------------+ 꽤 직설적 인. 나는 작년에 그것을 실행합니다. 그래서 나는 동일한 결과를 기대하거나 일부 사람들이 말하는 것처럼 다른 기술에서 더 나은 결과를 기대합니다. 나는 이것에서 나오는 것을 받아들이는 데 아무런 문제가 없을 것이며, 나는 잘못된 진실을 밀어붙이려 하지 않습니다. 내가 필요로 하고 원하는 모든 주제 대신에 포럼을 활기차게 유지하고 약간의 경쟁을 유지하려고 합니다. Keith Watford 2018.08.20 10:15 #62 Marco vd Heijden : 꽤 직설적 인. 나는 작년에 그것을 실행합니다. 그래서 나는 동일한 결과를 기대하거나 일부 사람들이 말하는 것처럼 다른 기술에서 더 나은 결과를 기대합니다. 나는 이것에서 나오는 것을 받아들이는 데 아무런 문제가 없을 것이며, 나는 잘못된 진실을 밀어붙이려 하지 않습니다. 내가 필요로 하고 원하는 모든 주제 대신에 포럼을 활기차게 유지하고 약간의 경쟁을 유지하려고 합니다. 하이 마르코, 다음은 헤징 없이 작동하도록 수정된 코드입니다. Keith Watford 2018.08.20 10:18 #63 죄송합니다, 작은 오류. 곧 돌아올 것입니다. Keith Watford 2018.08.20 10:21 #64 헤징을 하지 않는 코드는 다음과 같습니다. //+------------------------------------------------------------------+ //| Sonic the hedge hog.mq4 | //| Copyright 2018, Marco vd Heijden, MetaQuotes Software Corp. | //| https://www.mql5.com | //| The code should be used for educational purpose only.| //+------------------------------------------------------------------+ #property copyright "Copyright 2018, Marco vd Heijden, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict datetime time; //int TrailingStop=100; double Lots= 0.01 ; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit () { //--- time= iTime ( _Symbol , PERIOD_D1 , 0 ); //--- return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick () { exit(); enter(); } //+------------------------------------------------------------------+ //| enter //+------------------------------------------------------------------+ void enter() { static double BuyAt= 0 ,SellAt= 0 ,BuyTP= 0 ,SellTP= 0 ; //--- new bar ? if (time!= iTime ( _Symbol , PERIOD_D1 , 0 )) { SellAt= NormalizeDouble ( Bid + 100 * Point , Digits ); SellTP= NormalizeDouble ( Ask - 100 * Point , Digits ); BuyAt= NormalizeDouble ( Ask - 100 * Point , Digits ); BuyTP= NormalizeDouble ( Bid + 100 * Point , Digits ); time= iTime ( _Symbol , PERIOD_D1 , 0 ); } if (SellAt> 0 && Bid >=SellAt) { int ticket_sell=- 1 ; ticket_sell= OrderSend ( _Symbol , OP_SELL ,Lots, Bid , 3 , NULL ,SellTP, "Sonic" , 1234 , 0 , clrRed ); if (ticket_sell> 0 ) { BuyAt= 0 ; SellAt= 0 ; } } if (BuyAt> 0 && Ask <=BuyAt) { int ticket_buy=- 1 ; ticket_buy= OrderSend ( _Symbol , OP_BUY ,Lots, Ask , 3 , NULL ,BuyTP, "Sonic" , 1234 , 0 , clrGreen ); if (ticket_buy> 0 ) { BuyAt= 0 ; SellAt= 0 ; } } } //+------------------------------------------------------------------+ //| exit //+------------------------------------------------------------------+ void exit() { //--- it is important to enter the market correctly, but it is more important to exit it correctly... for ( int cnt= OrdersTotal ()- 1 ; cnt>= 0 ; cnt--) //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ { if ( OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES )== true ) { if ( TimeDay ( OrderOpenTime ())!= TimeDay (time)) { bool close= OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 3 , clrBlue ); { if (close== false ) { Print ( "OrderCloseError" + IntegerToString ( OrderTicket ())); } } } } } } //+------------------------------------------------------------------+ Marco vd Heijden 2018.08.20 19:57 #65 좋아요, 감사합니다. 컴파일했고 결과는 다음과 같습니다. Keith Watford 2018.08.20 21:53 #66 Marco vd Heijden : 좋아요, 감사합니다. 컴파일했고 결과는 다음과 같습니다. 모든 틱에서 시도하십시오. 공개 가격 은 특정 수준에서 거래가 입력되는 이러한 유형의 거래를 테스트하는 데 적합하지 않습니다. 물론 동일한 데이터에 대해 귀하와 비교하여 테스트하십시오. Marco vd Heijden 2018.08.21 09:53 #67 좋아, 그들은 모든 틱 을 실행할 때 둘 다 매우 비슷하게 보입니다. Attila Alp Oğuz 2018.08.21 12:29 #68 Marco vd Heijden : 좋아, 그들은 모든 틱 을 실행할 때 둘 다 매우 비슷하게 보입니다. 그래서 ... 이 주제에서 언급한 소위 헤징 기법을 적용하지 않고 포럼의 존경받는 코더들은 Marco가 제안한 전략이 약간의 추가 재정적 이점과 함께 다른 방식으로 구현될 수도 있음을 보여주었습니다. 실제로 "임의로 선택한" 전략은 그렇게 보여질 수 있습니다... 그리고 이것은 Keith의 첫 번째 게시물에서 "Forex의 "헤징"이 비생산적이고 무의미하다는 제 의견이 아니라 사실임을 보편적으로 증명합니다. ." 눈치채셨나요? 이 결과는 "다수는 필요 없이 정립되어서는 안 된다" 또는 "개체는 필요 이상으로 증식되어서는 안 된다"라는 오컴의 면도날(Occam's Razor)과 일치한다. 따라서 완벽함을 위해 단순하게 ... 또는 이 경우 실질적인 이점 없이 추가 비용과 불필요한 위험으로부터 자신을 절약하기 위해 단순해야 합니다. 행복한 전략 설계) MetaTrader 5 전략 테스터: 오류, 버그, 질문 원시 아이디어 Marco vd Heijden 2018.08.21 13:10 #69 뚱뚱한 여자가 노래를 부를 때까지 쇼는 끝난 것이 아닙니다. 계속 지켜봐 주세요. Keith Watford 2018.08.22 15:31 #70 Marco vd Heijden : 좋아, 그들은 모든 틱 을 실행할 때 둘 다 매우 비슷하게 보입니다. 내 버전이 약간의 이익 증가를 가져온 것을 보지 못했습니까? 12345678 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
꽤 직설적 인.
나는 작년에 그것을 실행합니다.
그래서 나는 동일한 결과를 기대하거나 일부 사람들이 말하는 것처럼 다른 기술에서 더 나은 결과를 기대합니다.
나는 이것에서 나오는 것을 받아들이는 데 아무런 문제가 없을 것이며, 나는 잘못된 진실을 밀어붙이려 하지 않습니다.
내가 필요로 하고 원하는 모든 주제 대신에 포럼을 활기차게 유지하고 약간의 경쟁을 유지하려고 합니다.
꽤 직설적 인.
나는 작년에 그것을 실행합니다.
그래서 나는 동일한 결과를 기대하거나 일부 사람들이 말하는 것처럼 다른 기술에서 더 나은 결과를 기대합니다.
나는 이것에서 나오는 것을 받아들이는 데 아무런 문제가 없을 것이며, 나는 잘못된 진실을 밀어붙이려 하지 않습니다.
내가 필요로 하고 원하는 모든 주제 대신에 포럼을 활기차게 유지하고 약간의 경쟁을 유지하려고 합니다.
하이 마르코,
다음은 헤징 없이 작동하도록 수정된 코드입니다.
죄송합니다,
작은 오류.
곧 돌아올 것입니다.
헤징을 하지 않는 코드는 다음과 같습니다.
좋아요, 감사합니다. 컴파일했고 결과는 다음과 같습니다.
좋아요, 감사합니다. 컴파일했고 결과는 다음과 같습니다.
모든 틱에서 시도하십시오. 공개 가격 은 특정 수준에서 거래가 입력되는 이러한 유형의 거래를 테스트하는 데 적합하지 않습니다.
물론 동일한 데이터에 대해 귀하와 비교하여 테스트하십시오.
좋아, 그들은 모든 틱 을 실행할 때 둘 다 매우 비슷하게 보입니다.
그래서 ... 이 주제에서 언급한 소위 헤징 기법을 적용하지 않고 포럼의 존경받는 코더들은 Marco가 제안한 전략이 약간의 추가 재정적 이점과 함께 다른 방식으로 구현될 수도 있음을 보여주었습니다.
실제로 "임의로 선택한" 전략은 그렇게 보여질 수 있습니다... 그리고 이것은 Keith의 첫 번째 게시물에서 "Forex의 "헤징"이 비생산적이고 무의미하다는 제 의견이 아니라 사실임을 보편적으로 증명합니다. ."
눈치채셨나요?
이 결과는 "다수는 필요 없이 정립되어서는 안 된다" 또는 "개체는 필요 이상으로 증식되어서는 안 된다"라는 오컴의 면도날(Occam's Razor)과 일치한다.
따라서 완벽함을 위해 단순하게 ... 또는 이 경우 실질적인 이점 없이 추가 비용과 불필요한 위험으로부터 자신을 절약하기 위해 단순해야 합니다.
행복한 전략 설계)
뚱뚱한 여자가 노래를 부를 때까지 쇼는 끝난 것이 아닙니다.
계속 지켜봐 주세요.
좋아, 그들은 모든 틱 을 실행할 때 둘 다 매우 비슷하게 보입니다.
내 버전이 약간의 이익 증가를 가져온 것을 보지 못했습니까?