TP를 5핍 미만으로 설정하는 방법은 무엇입니까? - 페이지 5 123456 새 코멘트 NewinFx 2012.04.18 16:28 #41 이 방법을 의미합니까? extern double TPforBuys= 1 ; extern double TPforSells= 1 ; extern double TimeForEA= 120 ; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { return ( 0 ); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return ( 0 ); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { for ( int a= OrdersTotal ()- 1 ;a>= 0 ;a--) double TPbuy = TPforBuys / 10000 ; if ( OrderSelect (a,SELECT_BY_POS, MODE_TRADES) && OrderType ()==OP_BUY && OrderSymbol ()== Symbol () ) double TPB= OrderOpenPrice ()+ TPbuy; // Close Buys if (Bid>TPB) { if ( OrderSelect (a,SELECT_BY_POS, MODE_TRADES) && OrderType ()==OP_BUY && TimeCurrent ()- OrderOpenTime () <= (TimeForEA * 60 ) && OrderSymbol ()== Symbol () ) if ( ! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 1000 , White ) ) Print ( "OrderClose failed, error: " , GetLastError ()); } double TPsell = TPforSells / 10000 ; if ( OrderSelect (a,SELECT_BY_POS, MODE_TRADES) && OrderType ()==OP_SELL && OrderSymbol ()== Symbol () ) double TPS= OrderOpenPrice ()- TPsell; // Close Sells if (Ask<TPS) { if ( OrderSelect (a,SELECT_BY_POS, MODE_TRADES) && OrderType ()==OP_SELL && TimeCurrent ()- OrderOpenTime () <= (TimeForEA * 60 ) && OrderSymbol ()== Symbol () ) if ( ! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 1000 , White ) ) Print ( "OrderClose failed, error: " , GetLastError ()); } return ( 0 ); } Simon Gniadkowski 2012.04.18 17:01 #42 ats : 이 방법을 의미합니까? 모르겠어요 . . . 그게 당신이 원하는 것을합니까? NewinFx 2012.04.18 17:22 #43 RaptorUK : 모르겠어요 . . . 그게 당신이 원하는 것을합니까? 그렇지 않습니다! 또 옳지 않다! Simon Gniadkowski 2012.04.18 18:24 #44 아마도 당신은 정확히 무엇을 하려고 하는지 설명할 수 있습니까? 내 이익을 위해, onewithzachy 의 이익을 위해 그리고 물론 차례로 귀하의 이익을 위해. NewinFx 2012.04.18 18:48 #45 물론이야! 죄송합니다! 나는 그것에 대해 생각하지 않았다! 스캘핑용 EA를 만들었습니다! EA는 모든 스캘핑 주문을 1핍 이익으로 마감해야 합니다! 장기 주문을 마감하지 않기 위해 OrderOpenTime() 명령을 사용했습니다. 스캘핑 순서는 수동으로 설정됩니다! TP와 같은 역할을 하지만 1핍 이익만 발생합니다! 고맙습니다 Simon Gniadkowski 2012.04.18 18:59 #46 아, 알겠습니다. EA가 비 스캘핑, 단기 주문을 마감하는 것을 원하지 않습니다. . . NewinFx 2012.04.18 19:05 #47 RaptorUK : 아, 알겠습니다. EA가 비 스캘핑, 단기 주문을 마감하는 것을 원하지 않습니다. . . 정확히! Simon Gniadkowski 2012.04.18 19:10 #48 알겠습니다. 몇 가지 의견이 있습니다. . . 1. 루프는 사실상 아무 작업도 수행하지 않습니다. 루프 내에서 수행하려는 작업을 {} 중괄호로 묶어야 합니다. . . 2. 2개의 OrderSelect() 호출이 있습니다. 모든 것을 루프에 넣으면 하나만 필요합니다. . . 3. Close Buy 섹션은 Buy 주문에 대해서만 실행되어야 하며 Close Sell은 Sell 주문 에 대해서만 실행되어야 합니다. 4. 1핍 수익은 4자리 쌍으로 하드 코딩되어 있으므로 USDJPY와 같은 쌍에서는 작동하지 않습니다. Simon Gniadkowski 2012.04.18 19:25 #49 아마도 이런 것입니다. . . . extern double TPforBuys= 1 ; extern double TPforSells= 1 ; extern double TimeForEA= 120 ; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { return ( 0 ); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return ( 0 ); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { for ( int a= OrdersTotal ()- 1 ;a>= 0 ;a--) { double TPbuy = TPforBuys / 10000 ; if ( OrderSelect (a,SELECT_BY_POS, MODE_TRADES) && OrderType ()==OP_BUY && OrderSymbol ()== Symbol () ) // order type and Symbol checked here { double TPB= OrderOpenPrice ()+ TPbuy; // Close Buys if (Bid>TPB) { if ( TimeCurrent ()- OrderOpenTime () <= (TimeForEA * 60 ) ) // no need to check type and symbol here if ( ! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 1000 , White ) ) { Print ( "OrderClose failed, error: " , GetLastError ()); } else continue ; // if order has been closed move to the next position, no need to check if it's a SELL } // end of if(Bid>TPB) } // end of if( OrderSelect(a double TPsell = TPforSells / 10000 ; if ( OrderSelect (a,SELECT_BY_POS, MODE_TRADES) && OrderType ()==OP_SELL && OrderSymbol ()== Symbol () ) { double TPS= OrderOpenPrice ()- TPsell; // Close Sells if (Ask<TPS) { if ( TimeCurrent ()- OrderOpenTime () <= (TimeForEA * 60 ) ) if ( ! OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 1000 , White ) ) Print ( "OrderClose failed, error: " , GetLastError ()); } // end of if(Ask<TPS) } // end of if( OrderSelect(a } // end of for(int a=OrdersTotal() return ( 0 ); } Simon Gniadkowski 2012.04.18 19:26 #50 RaptorUK : 아마도 이런 것입니다. . . . 그건 그렇고, 나는 그 코드를 컴파일하거나 테스트하지 않았습니다. . . 123456 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
이 방법을 의미합니까?
모르겠어요 . . . 그게 당신이 원하는 것을합니까?
물론이야! 죄송합니다! 나는 그것에 대해 생각하지 않았다!
스캘핑용 EA를 만들었습니다! EA는 모든 스캘핑 주문을 1핍 이익으로 마감해야 합니다! 장기 주문을 마감하지 않기 위해 OrderOpenTime() 명령을 사용했습니다. 스캘핑 순서는 수동으로 설정됩니다! TP와 같은 역할을 하지만 1핍 이익만 발생합니다!
고맙습니다
아, 알겠습니다. EA가 비 스캘핑, 단기 주문을 마감하는 것을 원하지 않습니다. . .
알겠습니다. 몇 가지 의견이 있습니다. . .
1. 루프는 사실상 아무 작업도 수행하지 않습니다. 루프 내에서 수행하려는 작업을 {} 중괄호로 묶어야 합니다. . .
2. 2개의 OrderSelect() 호출이 있습니다. 모든 것을 루프에 넣으면 하나만 필요합니다. . .
3. Close Buy 섹션은 Buy 주문에 대해서만 실행되어야 하며 Close Sell은 Sell 주문 에 대해서만 실행되어야 합니다.
4. 1핍 수익은 4자리 쌍으로 하드 코딩되어 있으므로 USDJPY와 같은 쌍에서는 작동하지 않습니다.
아마도 이런 것입니다. . . .
아마도 이런 것입니다. . . .