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

 
MarkTrade :

죄송합니다. 여기에 무엇이 잘못되었는지 설명해주십시오. 내가 이해할 수없는.


 for (i= 0 ;i> 5 <==ошибка ;i++)
 
MarkTrade :

죄송합니다. 여기에 무엇이 잘못되었는지 설명해주십시오. 내가 이해할 수없는.

줄을 끊자

 for (i= 0 ;i< 5 ;i++)

0에서 5로 가겠습니다. 각 반복 후에 카운터는 1씩 증가합니다. i가 5보다 작은 동안 반복이 계산됩니다. 즉, 이러한 사이클이 작동하고 5개의 오산이 발생합니다. 0, 1, 2, 3, 4 - 이것들은 사이클 카운터 i가 취할 값입니다. i가 5가 되면 루프가 끊어집니다.

당신은 무엇을 가지고 있는지 보자:

 for (i= 0 ;i > 5 ;i++)

카운터 i는 0으로 초기화되지만 루프는 i 가 5보다 클 때까지 반복해야 합니다. 그리고 그는 처음에 5명을 넘지 않았습니다 . 따라서 주기가 시작되지 않습니다.

 
artmedia70 :

줄을 끊자

0에서 5로 가겠습니다. 각 반복 후에 카운터는 1씩 증가합니다. i가 5보다 작은 동안 반복이 계산됩니다. 즉, 이러한 사이클이 작동하고 5개의 오산이 발생합니다. 0, 1, 2, 3, 4 - 이것들은 사이클 카운터 i가 취할 값입니다. i가 5가 되면 루프가 끊어집니다.

당신은 무엇을 가지고 있는지 보자:

카운터 i는 0으로 초기화되지만 루프는 i 가 5보다 클 때까지 반복해야 합니다. 그리고 그는 처음에 5명을 넘지 않았습니다 . 따라서 주기가 시작되지 않습니다.



정확히! 고맙습니다! 내 눈이 흐릿한 것 같아
 
Kot :

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\

프로그래머님! 어드바이저와 지표를 결합하는 방법을 알려주세요.

예를 들어, 자체 알고리즘으로 거래하는 간단한 mo_bidir.mq4 봇을 사용했는데 해당 알고리즘에 따라 거래를 계속 열려면 이 봇이 필요하지만 3x MA 신호 후에는 -

예를 들어 ~에 신호 - 3개의 이동 평균 :

FastEMA>MediumEMA>SlowEMA( 경향 위로 ) - 구매

FastEMA<MediumEMA<SlowEMA ( 경향 아래로 ) – 팔다

Inp_Signal_ThreeEMA_FastPeriod = 8;

Inp_Signal_ThreeEMA_MediumPeriod = 38;

Inp _ 신호 _ ThreeEMA _ SlowPeriod = 48;

또한 어드바이저가 5분 차트에서 계속 거래하고 지표가 일일 또는 4시간 시간대의 신호를 제공하여 봇 설정에서 시간대를 변경할 수 있도록 해야 합니다.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\

반복해서 죄송합니다. 하지만 최소한 어떤 포럼 스레드에 적용할지 알려주십시오. 아니면 새 주제를 만들어야 하나요?

고맙습니다.


원하는 작업을 필터링이라고 합니다. 따라서 "필터"라는 단어를 검색하고 필터링 기능이 있는 두 명의 전문 고문을 보면 알다시피 필요한 작업을 직접 수행할 수 있습니다.
 
artmedia70 :

나는 이미 완전히 무언가를 운전하고 있습니다 ... :) 작업 :

1. 0.1랏의 거래량이 있는 오픈 포지션이 있습니다.

2. 그녀의 TakeProfit은 50핍입니다.

3. PotentialProfit = Lottes*TakeProfit*MarketInfo(Symbol(), MODE_TICKVALUE) 공식을 사용하여 잠재적 이익을 계산합니다.

4. 계산에 따르면 5.00달러(0.1 * 50 * 1.0)의 잠재적 이익을 얻습니다.

포지션은 마이너스가 되고 어느 시점에서 또 다른 평균 매수가 열리지만 많은 0.2

1. 이 두 포지션에 대한 손익분기점을 계산합니다. 이 기능은 필요에 따라 오랫동안 사용되어 왔으며 아직까지 불만 사항을 발견하지 못했습니다.

2. 좋아요. 우리는 손익분기점을 계산했지만... 이 두 포지션을 취하면 0에 가까워질 것입니다. 알겠습니다. 이제 이전에 계산된 $5와 동일한 총 이익을 얻는 데 필요한 만큼 이 BU 수준에 포인트를 추가해야 합니다.

3. 그리고 여기 뇌에 플러그가 있습니다. 내가 하는 일: 5달러를 받고 이 두 위치(0.1+0.2=0.3)의 총 몫으로 나누고 TICK_VALUE를 곱합니다.

나는 5/(0.3*1.0) = 16.66666이 있습니다. 그런 다음 포인트(0.00016)를 곱하고 손익분기점에 추가합니다.

4. 훌륭합니다. 테이크가 거기로 이전되지만 이 수준에서 마감하는 두 백의 총 이익은 $5와 같지 않은 것 같습니다. 제가 보기에는 더 적은 것 같습니다. 이는 시험 일정에서 확인할 수 있습니다. 총 테이크의 계산된 수준에 따라 하나의 포지션이 청산될 때, 많은 포지션이 청산될 때보다 잔고의 증가가 훨씬 더 크다는 것을 분명히 보여줍니다(차트의 이러한 위치는 그 위에 에퀴티 라인의 모양으로 볼 수 있음) ). 일정:


내가 어디에서 잘못 되었습니까?

총 이익을 출력할 수 있다는 것은 이해하지만... 변수가 얼마인지가 아니라 계산에서 어디가 잘못될 수 있는지 이해하고 싶습니다. 이미 인쇄했습니다.

( 0.3 * 16 = 4.8 ) < ( 0.3 * 16.66666 = 5 )
그런 차이를 말씀하신건지 모르겠지만 반올림 16.6666으로 인해 당연히 수익은 예상했던 5달러 미만이 됩니다.
[삭제]  
artmedia70 :

나는 이미 완전히 무언가를 운전하고 있습니다 ... :) 작업 :

1. 0.1랏의 거래량이 있는 오픈 포지션이 있습니다.

2. 그녀의 TakeProfit은 50핍입니다.

3. PotentialProfit = Lottes*TakeProfit*MarketInfo(Symbol(), MODE_TICKVALUE) 공식을 사용하여 잠재적 이익을 계산합니다.

4. 계산에 따르면 5.00달러(0.1 * 50 * 1.0)의 잠재적 이익을 얻습니다.

포지션은 마이너스가 되고 어느 시점에서 또 다른 평균 매수가 열리지만 많은 0.2

1. 이 두 포지션에 대한 손익분기점을 계산합니다. 이 기능은 필요에 따라 오랫동안 사용되어 왔으며 아직까지 불만 사항을 발견하지 못했습니다.

2. 좋아요. 우리는 손익분기점을 계산했지만... 이 두 포지션을 취하면 0에 가까워질 것입니다. 알겠습니다. 이제 이전에 계산된 $5와 동일한 총 이익을 얻기 위해 필요한 만큼 이 BU 수준에 포인트를 추가해야 합니다.

3. 그리고 여기 뇌에 플러그가 있습니다. 내가 하는 일: 5달러를 받고 이 두 위치(0.1+0.2=0.3)의 총 몫으로 나누고 TICK_VALUE를 곱합니다.

5/(0.3*1.0) = 16.66666입니다. 그런 다음 포인트(0.00016)를 곱하고 손익분기점에 추가합니다.

4. 훌륭합니다. 테이크가 거기로 이전되지만 이 수준에서 마감하는 두 백의 총 이익은 $5와 같지 않은 것 같습니다. 제가 보기에는 더 적은 것 같습니다. 이는 시험 일정에서 확인할 수 있습니다. 총 테이크의 계산된 수준에 따라 하나의 포지션이 청산될 때, 많은 포지션이 청산될 때보다 잔고의 증가가 훨씬 더 크다는 것을 분명히 보여줍니다(차트의 이러한 위치는 그 위에 에퀴티 라인의 모양으로 볼 수 있음) ). 일정:


내가 어디에서 잘못 되었습니까?

총 이익을 출력할 수 있다는 것은 이해하지만... 변수가 얼마인지가 아니라 계산에서 어디가 잘못될 수 있는지 이해하고 싶습니다. 이미 인쇄했습니다.

왜 이렇게 복잡한지 이해가 안됨
더 쉽겠죠??

   double sumprofit= 0 ;
   for ( int i= 0 ; i< OrdersTotal (); i++) 
      {
       if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) 
          {
           if ((OrderSymbol()== Symbol ()) 
              {
               if (OrderType()==OP_BUY || OrderType()==OP_SELL) 
                  {
                    sumprofit+=OrderProfit()+OrderCommission()+OrderSwap();
                  }
             }
         }
      }
   if (sumprofit > 5 ) AllPosClose();// 5 ----> суммарный профит позиций
[삭제]  

그 쯤

 double sumprofit;
   for ( int i= 0 ; i< OrdersTotal (); i++) 
      {
       if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) 
          {
           if ((OrderSymbol()== Symbol ()) 
              {
               if (OrderType()==OP_BUY || OrderType()==OP_SELL) 
                  {
                    sumprofit+=OrderProfit()+OrderCommission()+OrderSwap();
                  }
             }
         }
      }
   if (sumprofit > 5 ) AllPosClose(); //5 ----> суммарный профит позиций
   if (sumprofit < - 5 ) Dolivka(); //  определенным лотом Sell или Buy
 
프로그래머가 아니라 터미널에서 다운로드한 표시기가 어디에 있는지 알려주십시오(표시기를 보고 실행하는 방법). ??? 다운받아 거기에 설치한거 같은데 터미널 자체에서 못찾나요??
 
fox6900 :
프로그래머가 아니라 터미널에서 다운로드한 표시기가 어디에 있는지 알려주십시오(표시기를 보고 실행하는 방법). ??? 다운받아 거기에 설치한거 같은데 터미널 자체에서 못찾나요??

그리고 어떻게 거기에 설치 했습니까? 방법을 알려주십시오 ... 아마도 우리가 당신에게 말할 것입니다 ..
 
dll을 사용하면 AccountNumber () 와 어떻게 읽을 수 있습니까? 적어도 어디를 파야 하는지 힌트를 주세요. 함수 값을 dll로, 즉 동적 라이브러리 자체에서 전송하지 않는다는 의미입니다.