- 뜨거운 파이, 팬케이크, 팬케이크! - 물론, 비유적인 의미에서. 우리는 새로운 지표에 대해 토론하고 비판합니다. - 페이지 5

 

--------------------------------------

프로그래밍에서 발생하는 논리적 오류를 수정하여 약속을 지킵니다.
그녀는 혼자가 아니 었습니다.


오류(1). 이 오류로 표시기는 "특정 이동 방향의 강도"를 나타냅니다. 그것은 변수에 대한 잘못된 설명으로 구성되어 있습니다. 그것이 없으면 그는 "정확한 운동 방향의 상대적인 힘"을 보이기 시작했습니다.

오류(2). 이 오류로 표시기는 "정확한 이동 방향의 상대적 강도"를 나타냅니다. 그것은 공식의 편집에서 만들어진 결함으로 구성되었습니다. 그녀가 없으면 그는 보여주기 시작했습니다
"PRICE 움직임의 정확한 방향의 상대적 강도".


다음은 "건강한" 코드입니다.

 //|+-----------------------------------------------------------------+
//|Название : RSAR_Korsar / Корсар                                   |
//|Создатель : Jonny Bravo / Джони Браво                             |
//|Тип : зеркальнопериодический индикатор                            |
//|Построен на основе RSI, Stohastic, RVI, ADX.                      |
//|Работает на основе экстримумов и фигур.                           |
//|+-----------------------------------------------------------------+
#property copyright "Jonny Bravo"
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 DarkGreen 
#property indicator_color2 Green
#property indicator_color3 MediumSeaGreen
#property indicator_color4 MediumSeaGreen
#property indicator_color5 Green
#property indicator_color6 DarkGreen
//|+-----------------------------------------------------------------+
//|Inputs                                                            |
//|+-----------------------------------------------------------------+
double price;
//|+--+
extern double _N_  = 1 ;
extern double _NN_ = - 1 ;
//|+--+
extern int History = 10000 ;
//|+--+
extern double RSI_Type_Line_1 = 0 ;
extern double RSI_Period_Line_1_1 = 5 ;
extern double ADX_Type_Price_1 = 0 ;
extern double ADX_Period_Line_1 = 5 ;
extern double RVI_Period_Line_1 = 5 ;
extern double Stohastic_MA_Metod_1 = 0 ;
extern double Stochastic_Period_Line_A_1 = 10 ;
extern double Stochastic_Period_Line_B_1 = 6 ;
//|+--+
extern double RSI_Type_Line_2 = 0 ;
extern double RSI_Period_Line_1_2 = 10 ;
extern double ADX_Type_Price_2 = 0 ;
extern double ADX_Period_Line_2 = 10 ;
extern double RVI_Period_Line_2 = 10 ;
extern double Stohastic_MA_Metod_2 = 0 ;
extern double Stochastic_Period_Line_A_2 = 10 ;
extern double Stochastic_Period_Line_B_2 = 6 ;
//|+--+
extern double RSI_Type_Line_3 = 0 ;
extern double RSI_Period_Line_1_3 = 20 ;
extern double ADX_Type_Price_3 = 0 ;
extern double ADX_Period_Line_3 = 20 ;
extern double RVI_Period_Line_3 = 20 ;
extern double Stohastic_MA_Metod_3 = 0 ;
extern double Stochastic_Period_Line_A_3 = 10 ;
extern double Stochastic_Period_Line_B_3 = 6 ;
//|+--+
extern double RSI_Type_Line_4 = 0 ;
extern double ADX_Type_Price_4 = 0 ;
extern double ADX_Period_Line_4 = 5 ;
extern double RVI_Period_Line_4 = 5 ;
extern double Stohastic_MA_Metod_4 = 0 ;
extern double Stochastic_Period_Line_A_4 = 10 ;
extern double Stochastic_Period_Line_B_4 = 6 ;
//|+--+
extern double RSI_Type_Line_5 = 0 ;
extern double ADX_Type_Price_5 = 0 ;
extern double ADX_Period_Line_5 = 10 ;
extern double RVI_Period_Line_5 = 10 ;
extern double Stohastic_MA_Metod_5 = 0 ;
extern double Stochastic_Period_Line_A_5 = 10 ;
extern double Stochastic_Period_Line_B_5 = 6 ;
//|+--+
extern double RSI_Type_Line_6 = 0 ;
extern double ADX_Type_Price_6 = 0 ;
extern double ADX_Period_Line_6 = 20 ;
extern double RVI_Period_Line_6 = 20 ;
extern double Stohastic_MA_Metod_6 = 0 ;
extern double Stochastic_Period_Line_A_6 = 10 ;
extern double Stochastic_Period_Line_B_6 = 6 ;
//|+-----------------------------------------------------------------+
//|Declaration                                                       |
//|+-----------------------------------------------------------------+
int p;
//|+--+
double Buf_0[];   double Buf_1[];   double Buf_2[]; 
double Line_1_A; double Line_2_A; double Line_3_A;
double Line_1_B; double Line_2_B; double Line_3_B;
double Line_1_C; double Line_2_C; double Line_3_C;
double Line_1_D; double Line_2_D; double Line_3_D;
double Line_1_I; double Line_2_I; double Line_3_I;
double Line_1_F; double Line_2_F; double Line_3_F;
double Line_1_K; double Line_2_K; double Line_3_K;
double Line_1_L; double Line_2_L; double Line_3_L;
double Line_1_M; double Line_2_M; double Line_3_M;
//|+--+
double Buf_3[];   double Buf_4[];   double Buf_5[]; 
double Line_4_A; double Line_5_A; double Line_6_A;
double Line_4_B; double Line_5_B; double Line_6_B;
double Line_4_C; double Line_5_C; double Line_6_C;
double Line_4_D; double Line_5_D; double Line_6_D;
double Line_4_I; double Line_5_I; double Line_6_I;
double Line_4_F; double Line_5_F; double Line_6_F;
double Line_4_K; double Line_5_K; double Line_6_K;
double Line_4_L; double Line_5_L; double Line_6_L;
double Line_4_M; double Line_5_M; double Line_6_M;
//|+-----------------------------------------------------------------+
//|Buf inform                                                        |
//|+-----------------------------------------------------------------+
int init()
{
SetIndexBuffer ( 0 ,Buf_0);
SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 );
//|+--+
SetIndexBuffer ( 1 ,Buf_1);
SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 );
//|+--+
SetIndexBuffer ( 2 ,Buf_2);
SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 );
//|+--+
SetIndexBuffer ( 5 ,Buf_3);
SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 );
//|+--+
SetIndexBuffer ( 4 ,Buf_4);
SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 );
//|+--+
SetIndexBuffer ( 3 ,Buf_5);
SetIndexStyle ( 0 , DRAW_LINE , STYLE_SOLID , 2 );
//|+--+
return ;
}
//|+-----------------------------------------------------------------+
//|Start                                                             |
//|+-----------------------------------------------------------------+
int start()
  {
   //|+---------------------------------------------------------------+
   //|Level_1                                                         |
   //|+---------------------------------------------------------------+
   for (
  p= 0 ;
  p<History;
  p++)
    {
     //|+-------------------------------------------------------------+
     //|Level_2                                                       |
     //|+-------------------------------------------------------------+
    price = Bid ;
     //|+--+
    Line_1_A = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_1,RSI_Type_Line_1,p);
    Line_1_M = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_2,RSI_Type_Line_1,p);
    Line_1_L = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_3,RSI_Type_Line_1,p);
    Line_1_B = iStochastic ( Symbol (), 0 ,Stochastic_Period_Line_A_1,Stochastic_Period_Line_B_1,Stochastic_Period_Line_B_1,Stohastic_MA_Metod_1, 0 , 0 ,p);
    Line_1_K = iStochastic ( Symbol (), 0 ,Stochastic_Period_Line_A_1,Stochastic_Period_Line_B_1,Stochastic_Period_Line_B_1,Stohastic_MA_Metod_1, 0 , 1 ,p);
    Line_1_C = iADX ( Symbol (), 0 ,ADX_Period_Line_1,ADX_Type_Price_1, 0 ,p);
    Line_1_D = iADX ( Symbol (), 0 ,ADX_Period_Line_1,ADX_Type_Price_1, 1 ,p);
    Line_1_I = iADX ( Symbol (), 0 ,ADX_Period_Line_1,ADX_Type_Price_1, 2 ,p);
    Line_1_F = iRVI ( Symbol (), 0 ,RVI_Period_Line_1,ADX_Type_Price_1,p);
     //|+--+
    Line_2_A = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_1,RSI_Type_Line_2,p);
    Line_2_M = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_2,RSI_Type_Line_2,p);
    Line_2_L = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_3,RSI_Type_Line_2,p);
    Line_2_B = iStochastic ( Symbol (), 0 ,Stochastic_Period_Line_A_2,Stochastic_Period_Line_B_2,Stochastic_Period_Line_B_2,Stohastic_MA_Metod_2, 0 , 0 ,p);
    Line_2_K = iStochastic ( Symbol (), 0 ,Stochastic_Period_Line_A_2,Stochastic_Period_Line_B_2,Stochastic_Period_Line_B_2,Stohastic_MA_Metod_2, 0 , 1 ,p);
    Line_2_C = iADX ( Symbol (), 0 ,ADX_Period_Line_2,ADX_Type_Price_2, 0 ,p);
    Line_2_D = iADX ( Symbol (), 0 ,ADX_Period_Line_2,ADX_Type_Price_2, 1 ,p);
    Line_2_I = iADX ( Symbol (), 0 ,ADX_Period_Line_2,ADX_Type_Price_2, 2 ,p);
    Line_2_F = iRVI ( Symbol (), 0 ,RVI_Period_Line_2,ADX_Type_Price_2,p);
     //|+--+
    Line_3_A = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_1,RSI_Type_Line_3,p);
    Line_3_M = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_2,RSI_Type_Line_3,p);
    Line_3_L = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_3,RSI_Type_Line_3,p);
    Line_3_B = iStochastic ( Symbol (), 0 ,Stochastic_Period_Line_A_3,Stochastic_Period_Line_B_3,Stochastic_Period_Line_B_3,Stohastic_MA_Metod_3, 0 , 0 ,p);
    Line_3_K = iStochastic ( Symbol (), 0 ,Stochastic_Period_Line_A_3,Stochastic_Period_Line_B_3,Stochastic_Period_Line_B_3,Stohastic_MA_Metod_3, 0 , 1 ,p);
    Line_3_C = iADX ( Symbol (), 0 ,ADX_Period_Line_3,ADX_Type_Price_3, 0 ,p);
    Line_3_D = iADX ( Symbol (), 0 ,ADX_Period_Line_3,ADX_Type_Price_3, 1 ,p);
    Line_3_I = iADX ( Symbol (), 0 ,ADX_Period_Line_3,ADX_Type_Price_3, 2 ,p);
    Line_3_F = iRVI ( Symbol (), 0 ,RVI_Period_Line_3,ADX_Type_Price_3,p);
     //|+--+
    Line_4_A = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_1,RSI_Type_Line_4,p);
    Line_4_M = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_2,RSI_Type_Line_4,p);
    Line_4_L = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_3,RSI_Type_Line_4,p);
    Line_4_B = iStochastic ( Symbol (), 0 ,Stochastic_Period_Line_A_4,Stochastic_Period_Line_B_4,Stochastic_Period_Line_B_4,Stohastic_MA_Metod_4, 0 , 0 ,p);
    Line_4_K = iStochastic ( Symbol (), 0 ,Stochastic_Period_Line_A_4,Stochastic_Period_Line_B_4,Stochastic_Period_Line_B_4,Stohastic_MA_Metod_4, 0 , 1 ,p);
    Line_4_C = iADX ( Symbol (), 0 ,ADX_Period_Line_4,ADX_Type_Price_4, 0 ,p);
    Line_4_D = iADX ( Symbol (), 0 ,ADX_Period_Line_4,ADX_Type_Price_4, 1 ,p);
    Line_4_I = iADX ( Symbol (), 0 ,ADX_Period_Line_4,ADX_Type_Price_4, 2 ,p);
    Line_4_F = iRVI ( Symbol (), 0 ,RVI_Period_Line_4,ADX_Type_Price_4,p);
     //|+--+
    Line_5_A = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_1,RSI_Type_Line_5,p);
    Line_5_M = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_2,RSI_Type_Line_5,p);
    Line_5_L = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_3,RSI_Type_Line_5,p);
    Line_5_B = iStochastic ( Symbol (), 0 ,Stochastic_Period_Line_A_5,Stochastic_Period_Line_B_5,Stochastic_Period_Line_B_5,Stohastic_MA_Metod_5, 0 , 0 ,p);
    Line_5_K = iStochastic ( Symbol (), 0 ,Stochastic_Period_Line_A_5,Stochastic_Period_Line_B_5,Stochastic_Period_Line_B_5,Stohastic_MA_Metod_5, 0 , 1 ,p);
    Line_5_C = iADX ( Symbol (), 0 ,ADX_Period_Line_5,ADX_Type_Price_5, 0 ,p);
    Line_5_D = iADX ( Symbol (), 0 ,ADX_Period_Line_5,ADX_Type_Price_5, 1 ,p);
    Line_5_I = iADX ( Symbol (), 0 ,ADX_Period_Line_5,ADX_Type_Price_5, 2 ,p);
    Line_5_F = iRVI ( Symbol (), 0 ,RVI_Period_Line_5,ADX_Type_Price_5,p);
     //|+--+
    Line_6_A = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_1,RSI_Type_Line_6,p);
    Line_6_M = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_2,RSI_Type_Line_6,p);
    Line_6_L = iRSI ( Symbol (), 0 ,RSI_Period_Line_1_3,RSI_Type_Line_6,p);
    Line_6_B = iStochastic ( Symbol (), 0 ,Stochastic_Period_Line_A_6,Stochastic_Period_Line_B_6,Stochastic_Period_Line_B_6,Stohastic_MA_Metod_6, 0 , 0 ,p);
    Line_6_K = iStochastic ( Symbol (), 0 ,Stochastic_Period_Line_A_6,Stochastic_Period_Line_B_6,Stochastic_Period_Line_B_6,Stohastic_MA_Metod_6, 0 , 1 ,p);
    Line_6_C = iADX ( Symbol (), 0 ,ADX_Period_Line_6,ADX_Type_Price_6, 0 ,p);
    Line_6_D = iADX ( Symbol (), 0 ,ADX_Period_Line_6,ADX_Type_Price_6, 1 ,p);
    Line_6_I = iADX ( Symbol (), 0 ,ADX_Period_Line_6,ADX_Type_Price_6, 2 ,p);
    Line_6_F = iRVI ( Symbol (), 0 ,RVI_Period_Line_6,ADX_Type_Price_6,p);
       //|+-----------------------------------------------------------+
       //|Level_3                                                     |
       //|+-----------------------------------------------------------+
      Buf_0[p] = price * (_N_ * (((Line_1_B + Line_1_F) / Line_1_K) - ((Line_1_D + Line_1_I) / Line_1_C) + ((Line_1_A + Line_1_M) / Line_1_L)));
       //|+--+
      Buf_1[p] = price * (_N_ * (((Line_2_B + Line_2_F) / Line_2_K) - ((Line_2_D + Line_2_I) / Line_2_C) + ((Line_2_A + Line_2_M) / Line_2_L)));
       //|+--+
      Buf_2[p] = price * (_N_ * (((Line_3_B + Line_3_F) / Line_3_K) - ((Line_3_D + Line_3_I) / Line_3_C) + ((Line_3_A + Line_3_M) / Line_3_L)));
       //|+--+
      Buf_3[p] = price * (_NN_ * (((Line_4_B + Line_4_F) / Line_4_K) - ((Line_4_D + Line_4_I) / Line_4_C) + ((Line_4_A + Line_4_M) / Line_4_L)));
       //|+--+
      Buf_4[p] = price * (_NN_ * (((Line_5_B + Line_5_F) / Line_5_K) - ((Line_5_D + Line_5_I) / Line_5_C) + ((Line_5_A + Line_5_M) / Line_5_L)));
       //|+--+
      Buf_5[p] = price * (_NN_ * (((Line_6_B + Line_6_F) / Line_6_K) - ((Line_6_D + Line_6_I) / Line_6_C) + ((Line_6_A + Line_6_M) / Line_6_L)));
         //|+---------------------------------------------------------+
         //|Level_4                                                   |
         //|+---------------------------------------------------------+
        }
         return ;
        }
//|+-----------------------------------------------------------------+
//|The_end                                                           |
//|+-----------------------------------------------------------------+
.
--------------------------------------
 
사악한 라이브 !

MQ4 튜토리얼에서 그런 "구성"을 보았지만 적용하는 방법을 몰랐습니다. )
 
두 개의 지표를 교차하는 데 도움이됩니다. 그렇지 않으면 하나의 창에 둘 수 없습니다.
 
그리고
파일:
 
나는 지금 시도 할거야.
 
sIndex-v6g-uEUR.mq4 - 별도의 창에 표시되는 표시기.
Kolier_SuperTrend_Indip_1_.mq4 - 기본 창에 표시되는 표시기.

그것들을 교차하려면 그 중 하나의 표시 방법(메인 창 또는 하위 창)을 변경하면 충분합니다.
표시기에 계산이 표시되며 최종 결과는 다른 간격으로 표시됩니다.

sIndex-v6g-uEUR.mq4 = x, (2 < x > 3 );
Kolier_SuperTrend_Indip_1_.mq4 = y, (0.5 < y > 2).

그 중 하나를 계산하는 공식을 변경하는 옵션이 있습니다.
 
하지만!!!
 
계산 공식이 변경되면 표시기 판독값이 변경됩니다(공리). :)

sIndex-v6g-uEUR.mq4 * B * R = L, 여기서

B - 마지막 순간의 가격 가치와 동일한 숫자,
R은 표시기 판독값의 균형을 맞추도록 설정된 숫자입니다.

L - 가격과 관련된 표시기 계산의 최종 결과와 동일한 숫자.


Kolier_SuperTrend_Indip_1_.mq4 * T = E, 여기서

T는 0과 1 사이의 숫자입니다(제수로 작동).
또는

Kolier_SuperTrend_Indip_1_.mq4 / T = E.

변수 T는 1에서 (+) 무한대까지 더 넓은 범위를 취합니다.


E - 개인 가격 지표 Kolier_SuperTrend_Indip_1_.mq4 와 동일한 숫자입니다.
 

공식을 많이 바꿀 가치는 없다고 생각합니다.

 
두 가지 다른 지표의 계산을 동일하게 할 수 있지만 "ANSWERS"만 동일하게 해야 합니다.