포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 239

 
Antonius :


문제가 무엇입니까, 작동합니다.

 
r772ra :


문제가 무엇입니까, 작동합니다.


오류는 실제로 코드에 없는 것으로 나타났습니다. 테스트 모델을 " 시작 가격 " 대신 "모든 틱"으로 설정하기만 하면 됩니다. 물론 테스트하기 위해 오래되었습니다.

도와 주셔서 정말로 고맙습니다! 이런 어리석음으로 시간낭비해서 죄송합니다)

 
Antonius :


오류는 실제로 코드에 없는 것으로 나타났습니다. 테스트 모델을 "시가 기준" 대신 "모든 틱"으로 설정하기만 하면 됩니다. 물론 테스트하기 위해 오래되었습니다.

도와 주셔서 정말로 고맙습니다! 이런 어리석음으로 시간낭비해서 죄송합니다)

공개 가격 에서 테스트하려면 캔들 방향 확인 라인에서 0을 1로 바꿉니다. 사실, 그는 첫 번째 막대의 방향을 볼 것입니다. 0이면 시작 가격과 닫기 가격이 동일합니다.
 

전문가에게 데이터를 올바르게 추출하도록 가르치는 방법을 알려주십시오.

나는 그에게 마지막 가격의 가치를 찾아달라고 요청합니다. 다섯 번째 라운드를 찾았지만 소수점 이하 네 자리까지 표시합니다. 올바른 로봇의 경우 다섯 번째 문자도 고려해야 합니다.

또한 약간이지만 평균 가격을 반올림합니다. 또한 네 번째 문자에도 평균 가격을 제공합니다.

계산기로 다른 숫자를 얻습니다.

NormalizeDouble() 이 적용을 시도했지만 아직 결과를 받지 못했습니다.

 int Oldticketnumber;
double Unused = 0 ;
int Ticketnumber = 0 ;
RefreshRates();
for ( int cnt = OrdersTotal ()- 1 ; cnt >= 0 ; cnt --)               //Для всехоткрытых ордеров
 {
   if ( OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES))   // Выбираем со всего масива ордеров
   if (OrderSymbol()== Symbol () && OrderMagicNumber()==MagicNumber) //Выбирам ордера експерта
   {
   if (OrderType()==OP_BUY)                                              
    {

     BuyAP += OrderOpenPrice()*OrderLots();           // Средневзвешаная цена всех позиций  
  
     Oldticketnumber = OrderTicket();                               // присваиваем тикеты
     if (Oldticketnumber > Ticketnumber)                         //  ищем последний тикет 
      {
      LastPrise = OrderOpenPrice();                         // присваиваем последнюю цену
      Unused = LastPrise;                                       // задаем цену переменной
      Ticketnumber = Oldticketnumber;                           // последный заданый тикет
      }
// далее по  тексту---------------------------------------------------------------------

if (BuyLots != 0 )       // Если есть ордера BUY, то вычисляется их средняя цена открытия
    BuyAP /= BuyLots;      

 
Limita :

전문가에게 데이터를 올바르게 추출하도록 가르치는 방법을 알려주십시오.

나는 그에게 마지막 가격의 가치를 찾아달라고 요청합니다. 찾았 지만 소수점 이하 네 자리까지 출력하고 다섯 번째 . 올바른 로봇의 경우 다섯 번째 문자도 고려해야 합니다.

또한 약간이지만 평균 가격을 반올림합니다. 또한 네 번째 문자에도 평균 가격을 가져옵니다 .

계산기로 다른 숫자를 얻습니다.

NormalizeDouble()이 적용을 시도했지만 아직 결과가 없습니다.

이거 다 어디서 보나요?
 
artmedia70 :
이거 다 어디서 보나요?


반올림에서 갈 곳이 없습니다. 그러나 문제는 5 또는 4 자리에서 반올림하는 이유입니다.
아래 코드에서:

 Comment ( "Средняя цена Buy " ,BuyAP, " Sell " ,SellAP, " Последняя цена " ,LastPrise);
                                                                               // принтуем
 
Limita :


반올림에서 갈 곳이 없습니다. 하지만 문제는 왜 5번째 또는 4번째 숫자에서 반올림하느냐는 것입니다.
아래 코드에서:

그래서 나는 시도했다

 Comment ( "Средняя цена Buy " ,DoubleToStr(BuyAP, 5 ), " Sell " ,DoubleToStr(SellAP, 5 ), " Последняя цена " ,DoubleToStr(LastPrise, 5 ));

stringDoubleToStr ( 이중 값, 정수 숫자 )
숫자 값을 지정된 정밀도 형식으로 숫자의 문자 표현을 포함하는 텍스트 문자열로 변환합니다.

 

안녕하세요 여러분, 저는 다음과 같은 임무를 가지고 있습니다.

최소한의 코드를 사용 하고 막대 여는 시간에 묶인 변수를 사용하지 않고 새 막대(합성)의 모양을 결정합니다. 다음과 같이 결정했습니다.

 if (Bid>Open[ 0 ] || Bid<Open[ 0 ]) return ;
테스터 및 데모에서 사용할 때 발생할 수 있는 함정은 무엇입니까?
 
dmitriy086 :

안녕하세요 여러분, 저는 다음과 같은 임무를 가지고 있습니다.

최소한의 코드를 사용하고 막대 여는 시간에 묶인 변수를 사용하지 않고 새 막대(합성)의 모양을 결정합니다. 다음과 같이 결정했습니다.

테스터 및 데모에서 사용할 때 발생할 수 있는 함정은 무엇입니까?


합성을 거래할 때 이 상품에 대한 단일 막대가 없지만 각각에 대해 새로운 막대를 결정하려고 시도할 수 있는 일련의 상품이 있습니다. 전문가가 한 쌍에 매달리고 이 상품에 대한 틱이 올 때만 다른 틱도 볼 수 있기 때문에 거래 중인 상품이 많을수록 시간의 오류 또는 미끄러짐의 가능성이 높아집니다.
전역 변수 를 사용할 수 있지만 이것은 별로 도움이 되지 않습니다. 로봇이 없는 다른 쌍에서 새로운 틱을 추적했다면 해당 쌍에 틱이 없기 때문에 여전히 거래를 할 수 없기 때문입니다. 당신은 타이머에 투표를 할 수 있습니다 - 또한 몇 가지 문제가 있습니다. 거래에 상품이 많지 않은 경우 가장 쉬운 방법은 로봇이 한 번에 모든 곳에 매달려 있다는 점을 고려하여 로봇을 작성하는 것입니다.

모든 버퍼의 값을 별도의 표시창에 표시하지 않는 것이 가능한지 아는 사람이 있습니까? 이것은 칠면조 창의 왼쪽 상단 모서리에 쓰여진 흰색 선입니다. 그렇지 않으면 8개의 버퍼를 사용하여 불필요한 숫자를 너무 많이 볼 때 이미 분노합니다.

 
Desead :


모든 버퍼의 값을 별도의 표시창에 표시하지 않는 것이 가능한지 아는 사람이 있습니까? 이것은 칠면조 창의 왼쪽 상단 모서리에 쓰여진 흰색 선입니다. 그렇지 않으면 8개의 버퍼를 사용하여 불필요한 숫자를 너무 많이 볼 때 이미 분노합니다.


SetIndexLabel(...,"") 초기화에서 버퍼도 데이터 창 에서 사라집니다.