인사말! 버퍼 위 또는 아래에만 해당하는 첫 번째 막대( Quant_Bars )의 수를 계산할 때 내가 무엇을 잘못하고 있는지 말해주세요. 저것들. 표시기가 닫힌 막대(1) 위에 표시되면 막대 아래의 표시기로 이전 막대를 계산해야 하며(조건과 일치하지 않는 것은 제외) 반대 방향으로 이동하는 반대의 경우도 마찬가지입니다. 내 버전이 잘못된 값을 제공합니다.
어쩌면 누군가가 그것을하는 방법을 알고 있습니까?
#property indicator_chart_window #property indicator_buffers 1#property indicator_color1 Greendouble step = 0.1 ;
double max = 0.2 ;
int n = 1 ;
double S;
double barA;
double barB;
double Bufer[];
int k,k1;
//---------------------------------int init()
{
SetIndexStyle ( 0 , DRAW_ARROW ,EMPTY, 0 , Green );
SetIndexArrow ( 0 , 159 );
SetIndexBuffer ( 0 , Bufer);
return ( 0 );
}
//---------------------------------int deinit()
{
return ( 0 );
}
//----------------------------------int start()
{
k1=k;
for ( int i= Bars - 2 ; i>= 0 ; i--)
{
if (i == Bars - 2 )
{
Bufer[i] = Low[i] - 10.0 * Point ;
n = 1 ;
S = step;
barA = High[i];
barB = Low[i];
}
else
{
if (Close[i] > barA)
{
barA = Close[i];
if (n== 1 && S <= max - step)
{ S = S + step; }
k= 1 ;
}
if (Close[i] < barB)
{
barB = Close[i];
if (n == - 1 && S <= max - step)
{ S = S + step;}
k= 2 ;
}
if (n == 1 )
{ Bufer[i] = Bufer[i + 1 ] + S * (barA - (Bufer[i + 1 ]));}
else
{ Bufer[i] = Bufer[i + 1 ] + S * (barB - (Bufer[i + 1 ]));}
if ((Bufer[i+ 1 ] < Close[i + 1 ] && Bufer[i] > Close[i]) || (Bufer[i + 1 ] > Close[i + 1 ] && Bufer[i] < Close[i]))
{
S = step;
if (n == 1 )
{Bufer[i] = barA;}
else
{Bufer[i] = barB;}
barB = Close[i];
barA = Close[i];
n = - 1 * n;
}
}
}
//--------------------------Подсчитать бары:int num1 = 2 ; // бар int counted_bars = IndicatorCounted ();
//-----СЕЛЛif (Bufer[ 2 ]<Close[ 2 ] && Bufer[ 1 ]>Close[ 1 ])
{
for ( i=num1; i<= Bars ; i++ )
{
if (Bufer[i]<Close[i])
{ int Quant_Bars = Quant_Bars+i;}
if (Bufer[i]>Close[i] && Bufer[i- 1 ]<Close[i- 1 ])
break ;
}
Alert ( "Число баров= " ,Quant_Bars, " counted_bars= " ,counted_bars, " бары= " , Bars );
}
//-----БАЙ if (Bufer[ 2 ]>Close[ 2 ] && Bufer[ 1 ]<Close[ 1 ])
{
for ( i=num1; i<= Bars ; i++ )
{
if (Bufer[i]<Close[i])
{Quant_Bars = Quant_Bars+i;}
if (Bufer[i]>Close[i] && Bufer[i- 1 ]<Close[i- 1 ])
break ;
}
Alert ( "Число баров= " ,Quant_Bars, " counted_bars= " ,counted_bars, " бары= " , Bars );
}
return ( 0 );
}
왜 내 고문이 전체 예금을 조심스럽게 빼내고 거의 모든 거래가 수익성이 없을 때 신호의 "극성"이 변경될 때 동일한 빠르지만 이미 보증금이 증가하지 않는 이유는 무엇입니까? ))) 이론상으로 주문을 여는 방향으로만 오류와 같은 포인트가 동일합니까? 아니면 다른 것이 있습니까?
왜 내 고문이 전체 예금을 조심스럽게 빼내고 거의 모든 거래가 수익성이 없을 때 신호의 "극성"이 변경될 때 동일한 빠르지만 이미 보증금이 증가하지 않는 이유는 무엇입니까? ))) 이론상으로만 주문을 여는 방향으로만 오류와 같은 포인트가 동일한가요? 아니면 다른 것이 있습니까?
주문 4개, 매수 2개, 매수 2개가 있습니다. 비유적으로 말해서 마을은 가격이 오르면 형성되지만 가격이 내리면 사는 것입니다. 구매가 생성되면 판매가 제거되고 그 반대의 경우도 마찬가지입니다. 첫 번째 마을의 티켓을 생성하거나 구매할 때 pos 변수에 저장됩니다. 4개의 댓글은 모두 "Aelit"입니다. 코드는 다음과 같습니다.
순서는 일반적으로 티켓으로 선택되지만 의견 비교가 통과하지 못하는 경우가 많습니다. 관심을 끌기 위해 나는 다른 Alert(OrderComment()); 로그는 "경고: Aelit[sl]"이었습니다. [sl]이(가) 무엇인가요? 모든 주문에 동일한 의견이 있기 때문입니까? 그렇다면 왜 내가 다른 사람들과 일치하지 않는 테스트에 대해 댓글을 달았을 때 같은 [sl]이 있었습니까? 주석으로 확인을 제거하면 로그에 OrderModify에 대한 티켓 오류가 포함됩니다. 처음에는 일종의 주문이 생성되기 전에 이 조건에 도달한 것으로 생각했지만 아니요, 그 당시에는 이미 주문이 있었고 티켓은 조건을 트리거하고 트리거하지 않은 경우 동일합니다. 그것을 이해하는 방법?
기적은 없습니다. 이 DC는 귀하의 의견에 자체적으로 추가합니다. StopLoss에 도달했을 때 주문이 마감되었습니다.
전문가들은 자동 최적화 프로그램에서 시가 에 최적화하는 방법을 알려줍니다.
https://forum.mql4.com/en/42125
"이전 마감 주문이 매수 후 손절매로 마감된 경우 0.1랏을 손절매 50으로 매도하고 테이크 프로프 50"을 작성하는 방법을 알려주세요)
전문가! 돕다! 그것을 구현하는 방법?
실행될 때까지 OPEN=true를 수정해야 합니다.
조건 2. 이 기간 동안 Condition1이 변경될 수 있습니다.
미리 감사드립니다!
시작을 넘어서 꺼내다
시작을 넘어서 꺼내다
정말 감사합니다! 그들이 말했듯이 독창적 인 모든 것은 간단합니다! 그리고 나는 하루 종일 머리를 긁적였습니다.
인사말! 버퍼 위 또는 아래에만 해당하는 첫 번째 막대( Quant_Bars )의 수를 계산할 때 내가 무엇을 잘못하고 있는지 말해주세요. 저것들. 표시기가 닫힌 막대(1) 위에 표시되면 막대 아래의 표시기로 이전 막대를 계산해야 하며(조건과 일치하지 않는 것은 제외) 반대 방향으로 이동하는 반대의 경우도 마찬가지입니다. 내 버전이 잘못된 값을 제공합니다.
어쩌면 누군가가 그것을하는 방법을 알고 있습니까?
문제,
왜 내 고문이 전체 예금을 조심스럽게 빼내고 거의 모든 거래가 수익성이 없을 때 신호의 "극성"이 변경될 때 동일한 빠르지만 이미 보증금이 증가하지 않는 이유는 무엇입니까? ))) 이론상으로 주문을 여는 방향으로만 오류와 같은 포인트가 동일합니까? 아니면 다른 것이 있습니까?
문제,
왜 내 고문이 전체 예금을 조심스럽게 빼내고 거의 모든 거래가 수익성이 없을 때 신호의 "극성"이 변경될 때 동일한 빠르지만 이미 보증금이 증가하지 않는 이유는 무엇입니까? ))) 이론상으로만 주문을 여는 방향으로만 오류와 같은 포인트가 동일한가요? 아니면 다른 것이 있습니까?
다른 것이 있다
안녕하세요.
주문 4개, 매수 2개, 매수 2개가 있습니다. 비유적으로 말해서 마을은 가격이 오르면 형성되지만 가격이 내리면 사는 것입니다. 구매가 생성되면 판매가 제거되고 그 반대의 경우도 마찬가지입니다. 첫 번째 마을의 티켓을 생성하거나 구매할 때 pos 변수에 저장됩니다. 4개의 댓글은 모두 "Aelit"입니다. 코드는 다음과 같습니다.
순서는 일반적으로 티켓으로 선택되지만 의견 비교가 통과하지 못하는 경우가 많습니다. 관심을 끌기 위해 나는 다른 Alert(OrderComment()); 로그는 "경고: Aelit[sl]"이었습니다. [sl]이(가) 무엇인가요? 모든 주문에 동일한 의견이 있기 때문입니까? 그렇다면 왜 내가 다른 사람들과 일치하지 않는 테스트에 대해 댓글을 달았을 때 같은 [sl]이 있었습니까? 주석으로 확인을 제거하면 로그에 OrderModify에 대한 티켓 오류가 포함됩니다. 처음에는 일종의 주문이 생성되기 전에 이 조건에 도달한 것으로 생각했지만 아니요, 그 당시에는 이미 주문이 있었고 티켓은 조건을 트리거하고 트리거하지 않은 경우 동일합니다. 그것을 이해하는 방법?
기적은 없습니다. 이 DC는 귀하의 의견에 자체적으로 추가합니다. StopLoss에 도달했을 때 주문이 마감되었습니다.
티켓으로 주문 선택을 잘못 구성했습니다. 이 선택을 사용하면 먼저 MODE_TRADES가 불필요 합니다. OrderSelect() 함수에 의해 생략됩니다.
둘째, 주문을 성공적으로 선택한 후에는 시장 주문 또는 마감된 주문 중에서 티켓에 대한 주문이 선택된 주문 배열을 확인하지 않습니다.
이렇게 하려면 주문을 선택한 후 마감 시간을 확인하고 0일 경우에만 시장 주문이 되고 그렇지 않으면 이미 마감된 주문 중에서 선택됩니다(거기에서 귀하의 의견에 추가)