[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 242

 

절을 수정하는 문제에 직면하여 함수에서 CCI 조건을 구현하는 방법을 알려주십시오.

10pp의 이익 수준에서 주문을 닫는 조건을 처방해야합니다.

1) CCI가 아래로 보인다면, 10pp의 이익 수준에서 매수 주문을 마감하십시오.

2) 판매 - 유사하게.

 extern bool ClosePips   = true ; //использовать закрытие ордера при профите 10пп по условиям ССИ
extern double profit     = 10.0 ; //профит по клозе

int start ( ) {
double cci_0 = iCCI ( NULL , 0 , 14 , PRICE_CLOSE , 0 ) ; ;
double cci_1 = iCCI ( NULL , 0 , 14 , PRICE_CLOSE , 1 ) ; ;

if ( ClosePips ) {
int slip = 3 ;
for ( int trade2 = OrdersTotal ( ) - 1 ; trade2 > = 0 ; trade2 - - ) {
   OrderSelect ( trade2 , SELECT_BY_POS , MODE_TRADES ) ;
   if ( OrderSymbol ( ) = = Symbol ( ) ) {
   if ( OrderSymbol ( ) = = Symbol ( ) & & OrderMagicNumber ( ) = = MagicNumber ) {
   if ( ( OrderType ( ) = = OP_BUY ) & & ( cci_0 < cci_1 что сюда вписать??? ) ) OrderClose ( OrderTicket ( ) , OrderLots ( ) , Bid , slip , Blue ) ;
   if ( ( OrderType ( ) = = OP_SELL ) & & ( cci_0 > cci_1 что сюда вписать??? ) ) OrderClose ( OrderTicket ( ) , OrderLots ( ) , Ask , slip , Red ) ;
   } Sleep ( 1000 ) ; } } } 
будет ли это корректным если прописать вот так?
if ( ( OrderType ( ) = = OP_BUY ) & & ( cci_0 < cci_1 & & Bid - OrderOpenPrice ( ) < = Point * profit ) )

 
Alive писал(а) >>
EUR/USD와 같은 일부 상품의 경우 호가에는 소수점 이하 5자리가 있습니다. 그리고 내 환경 변수에서 값에는 4자만 포함됩니다. 환경 변수의 전체 값을 얻는 방법은 무엇입니까?

그리고 그들을 어떻게 보았습니까? Print()는 항상 최대 4자를 인쇄합니다. DoubleToStr()을 사용하는 것이 좋습니다.

 
Martingeil >> :

절을 수정하는 문제에 직면하여 함수에서 CCI 조건을 구현하는 방법을 알려주십시오.

10pp의 이익 수준에서 주문을 닫는 조건을 처방해야합니다.

1) CCI가 아래로 보인다면, 10pp의 이익 수준에서 매수 주문을 마감하십시오.

2) 판매 - 유사하게.



그것은해야한다

 if ( OrderType ( ) = = OP_BUY & & cci_0 < cci_1 & & Bid - OrderOpenPrice ( ) > = Point * profit )
 
MrSoros >> :

그것은해야한다


고맙습니다! 그래서 내가 제대로 하면 표지판에 아무 것도 엉망이 되지 않았습니까?

 extern bool ClosePips   = true ; //использовать закрытие ордера при профите 10пп по условиям ССИ

int start ( ) {
double cci_0 = iCCI ( NULL , 0 , 14 , PRICE_CLOSE , 0 ) ; ;
double cci_1 = iCCI ( NULL , 0 , 14 , PRICE_CLOSE , 1 ) ; ;

if ( ClosePips ) {
int slip = 3 ;
int profit = 10 ;
for ( int trade2 = OrdersTotal ( ) - 1 ; trade2 > = 0 ; trade2 - - ) {
   OrderSelect ( trade2 , SELECT_BY_POS , MODE_TRADES ) ;
   if ( OrderSymbol ( ) = = Symbol ( ) ) {
   if ( OrderSymbol ( ) = = Symbol ( ) & & OrderMagicNumber ( ) = = MagicNumber ) {
   if ( OrderType ( ) = = OP_BUY & & cci_0 < cci_1 & & Bid - OrderOpenPrice ( ) > = Point * profit ) OrderClose ( OrderTicket ( ) , OrderLots ( ) , Bid , slip , Blue ) ;
   if ( OrderType ( ) = = OP_SELL & & cci_0 > cci_1 & & OrderOpenPrice ( ) - Ask > = Point * profit ) OrderClose ( OrderTicket ( ) , OrderLots ( ) , Ask , slip , Red ) ;
   } Sleep ( 1000 ) ; } } }
 
Martingeil >> :

고맙습니다! 그래서 내가 제대로 하면 표지판에 아무 것도 엉망이 되지 않았습니까?


모든 것이 표지판에 맞습니다.

내 관점에서 아이디어 자체 (CCI에 따라 마감)는 그렇게 뜨겁지 않습니다 ....

나는 이미 이것을 겪었습니다 ...

그러나 이것은 전략의 문제입니다.

얼마나 많은 거래자, 너무 많은 전략...

 

연산자를 올바르게 작성하는 방법을 알려주십시오. "또는" 이있는 것이 작동하지 않으면 필요하지 않은 곳에서 구입하십시오.

고맙습니다!
 if (
   { ( ma1 > ma2 & & ma1 > ma3   & & Open [ 1 ] > ma1 ) } | | 
   { ( ma2 > ma1 & & ma2 > ma3   & & Open [ 1 ] > ma1 ) } | |
   { ( ma3 > ma1 & & ma3 > ma2   & & Open [ 1 ] > ma1 ) }
   )
    OpenBuy ( ) ;

ну и т . д .


 
중괄호를 제거하십시오. 불필요합니다. 어떻게 컴파일되었는지 궁금합니다.
 
granit77 >> :
중괄호를 제거하십시오. 불필요합니다. 어떻게 컴파일되었는지 궁금합니다.

컴파일되고 여전히 작동하지 않습니다.

(이상하지만 효과가 있었다 =))

 
costy_ >> :

컴파일되고 여전히 작동하지 않습니다.

 if ( ( ma1 > ma2 & & ma1 > ma3  & & Open [ 1 ] > ma1 ) | | 
    ( ma2 > ma1 & & ma2 > ma3  & & Open [ 1 ] > ma1 ) | |
    ( ma3 > ma1 & & ma3 > ma2  & & Open [ 1 ] > ma1 )
   )
    OpenBuy ( ) ;

올바른 논리다.

문제는 용어가 정확합니까?

 
ma1...ma3이 무엇인지 보여주고 논리를 말로 설명하십시오. 아침에 누군가는 그것을 견디지 못하고 수정하지 않을 것입니다 :))