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

 
두 개의 표시기 Ind_1 및 Ind_GV가 있습니다. Ind_GV 지시자는 클라이언트 단말의 전역 변수 로부터 설정 중 하나의 값을 수신한다는 점에서 Ind_1과 다릅니다.
Ind_1과 Ind_GV의 설정 파라미터가 같을 때 Ind_GV의 결과 값은 Ind_1의 결과 값과 약간 다릅니다.
Ind_1과 Ind_GV에 대한 설정이 일치하는 동안 테스터에서 일시 중지하고 Ind_GV를 컴파일하면 두 표시기의 결과 값이 완전히 일치합니다.
이것이 어떻게 설명될 수 있는지 누가 압니까?
 

EA 최적화 모드인 전략 테스터에서 실행하려면 EA 자체에 코드가 필요합니까?

나는 그것을 최적화하기 위해 조언자를 썼지만 나에게는 다음과 같이 보입니다.


2014.02.18 21:54:30.386 테스터: 캐시 파일 "C:\...\tester\caches\test.NZDUSD5.0"이 발견되었으며 추가 최적화에 사용할 수 있습니다.

2014.02.18 21:54:30.388 TestGenerator: 실제 틱 파일 "C:\...\tester\history\NZDUSD5_0.fxt"를 찾았습니다.

역사가 있습니다. 이 파일 NZDUSD5_0.fxt의 무게는 이미 +150미터입니다.

테스터 로그에서도 발생합니다.

2014.02.18 22:50:21.251 TestGenerator: 일치하지 않는 데이터 오류(2014.02.12 13:35에서 볼륨 제한 305 초과)

이것은 무엇을 위한 것입니까?


 

도와주세요, 제발!

각 변수는 1에서 5까지의 값을 가질 수 있습니다 ... 3125 옵션을 쓰지 않는 방법을 알려주십시오)))

   if   (Kx== 5 &&     K>T &&     K>SA &&     K>SB &&     K> Bid &&
        Tx== 4 &&     T<K &&     T>SA &&     T>SB &&     T> Bid && 
        SAx== 3 &&    SA<K &&    SA<T &&     SA>SB &&    SA> Bid &&
        SBx== 2 &&    SB<K &&    SB<T &&     SB<SA &&    SB> Bid &&
        BID== 1 &&     Bid <K &&   Bid <T &&     Bid <SA &&   Bid <SB
       )
 
niktron :

도와주세요, 제발!

각 변수는 1에서 5까지의 값을 가질 수 있습니다 ... 3125 옵션을 쓰지 않는 방법을 알려주십시오)))

25개의 옵션을 그린 다음 누가 더 많이 가지고 있는지 처리합니다.
 
tara :
25개의 옵션을 그린 다음 누가 더 많이 가지고 있는지 처리합니다.

감사합니다 .. 그게 바로 제가 지금 하고 있는 일입니다 ... 배열로 뒤섞고 싶었지만 tyama가 충분하지 않습니다 ...))))
 
결과적으로 25개가 아닌 3125개의 옵션이 있습니다.. 하지만 25개의 옵션으로 나누는 것도 문제입니다)))
 
즉시 의견을 작성하면 나중에 도움이 됩니다.
 
여자에게 갔다.
 

".mqh" 첨부 파일로 표시기를 도와주세요.

표시기 버퍼 ExtBuffer1[], ExtBuffer2[] 및 Buffer_M[]의 크기는 0인 반면 ExtBuffer0[] 버퍼는 제대로 작동하고 그 크기는 Bars와 동일해야 합니다. 가장 흥미로운 점은 새 버전으로 업데이트될 때까지 모든 것이 이전 버전의 MT4에서 제대로 작동했다는 것입니다. 그리고 더. 첨부 파일의 모든 내용이 표시기의 하나의 기본 mq4 파일로 전송되면 모든 것이 다시 제대로 작동합니다.

질문: 첨부 파일의 표시기 버퍼에 대한 배열 크기가 0으로 재설정되는 이유는 무엇입니까?

다음은 지표 소스 코드입니다.

//+------------------------------------------------------------------+

//| AO_EMA_(with_includes).mq4 |

//+------------------------------------------------------------------+

#include <AO_EMA_(with_includes)_GLOB.mqh>

//--------------------------------------------

int init()

{

#include <AO_EMA_(with_includes)_INIT.mqh>

return(0);

}

//--------------------------------------------

int start()

{

#include <AO_EMA_(with_includes)_START.mqh>

return(0);

}

//+------------------------------------------------------------------+





//+------------------------------------------------------------------+

//| AO_EMA_(with_includes)_GLOB.mq4 |

//+------------------------------------------------------------------+

#property indicator_separate_window

#property indicator_buffers 4

#property indicator_color1 Black

#property indicator_color2 Green

#property indicator_color3 Red


//---- Input Data

extern int Slow = 100;

extern double Slow_Fast = 4.318;

extern int Average = 25; // Усреднение АО

extern bool Show_AO_G = true,

Show_AO_R = true;


//---- Глобальные переменные

int Fast;

bool Alert_done = false; // Флаг говорит о том, что Alert уже был раз сгенерирован.

//---- indicator buffers

double ExtBuffer0[];

double ExtBuffer1[];

double ExtBuffer2[];

//---- Буфера индикатора, для промежуточных расчетов

double Buffer_M[];

//+------------------------------------------------------------------+

//| AO_EMA_(with_includes)_INIT.mq4 |

//+------------------------------------------------------------------+

//---- Установка значение для переменной "Fast"

Fast = NormalizeDouble(Slow / Slow_Fast, 0);


//---- indicator buffers mapping

SetIndexBuffer(0, ExtBuffer0);

SetIndexBuffer(1, ExtBuffer1);

SetIndexBuffer(2, ExtBuffer2);

SetIndexBuffer(3, Buffer_M);


//---- drawing settings

SetIndexStyle(0, DRAW_NONE); // Линия не рисуется

SetIndexStyle(1, DRAW_HISTOGRAM); // Гистограмма

SetIndexStyle(2, DRAW_HISTOGRAM); // Гистограмма

SetIndexStyle(3, DRAW_NONE); // Линия не рисуется

//---- drawing begin settings

SetIndexDrawBegin(0, Fast); // Индикатор начинает рисоваться с этого бара, от начала графика слева.

SetIndexDrawBegin(1, Fast);

SetIndexDrawBegin(2, Slow);

SetIndexDrawBegin(3, Slow);


IndicatorDigits(Digits+1);

//---- name for DataWindow and indicator subwindow label

IndicatorShortName("AO_EMA ("+Fast+"-"+Slow+")");

SetIndexLabel(1,"Green");

SetIndexLabel(2,"Red");

//---- Обнуляем буфер индикатора

SetIndexEmptyValue(0, 0.0); SetIndexEmptyValue(1, 0.0);

SetIndexEmptyValue(2, 0.0); SetIndexEmptyValue(3, 0.0);

//---- initialization done

//+------------------------------------------------------------------+

//| AO_EMA_(with_includes)_START.mq4 |

//+------------------------------------------------------------------+

int limit, pos;

int counted_bars=IndicatorCounted();

double prev,current, pr;

bool up;


//---- Последний посчитанный бар будет пересчитан

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

Print("counted_bars=",counted_bars," Bars=",Bars," limit=",limit);

Print("0=",ArraySize(ExtBuffer0)," 1=",ArraySize(ExtBuffer1)," 2=",ArraySize(ExtBuffer2)," M=",ArraySize(Buffer_M));


//---- Расчет MACD для Гистограммы "= EMA(fast) - EMA(slow)"

if(Show_AO_G == true || Show_AO_R == true)

{ for(int i=0; i<limit; i++)

Buffer_M[i]=iMA(NULL,0,Fast,0,MODE_EMA,PRICE_MEDIAN,i)-iMA(NULL,0,Slow,0,MODE_EMA,PRICE_MEDIAN,i);


//---- Усредняем MACD по "Average".Это и будет рисоваться на графике..

//---- ... можно заменить на " EMA(Fast)".

pr=2.0/(Average+1);

pos=Bars-2;

if(counted_bars>2) pos=Bars-counted_bars-1;

//---- Основной расчет

while(pos>=0)

{ if(pos==Bars-2) ExtBuffer0[pos+1]=Buffer_M[pos+1];

ExtBuffer0[pos]=Buffer_M[pos]*pr+ExtBuffer0[pos+1]*(1-pr);

pos--; }

//---- Расперделение данных между 2-я буферами, для разделения по цветам

for(i=limit-1; i>=0; i--)

{ // При перерасчете самого левого бара, порядковый номер в массиве [i+1] выходит за пределы размера массива, поэтому расчет первого цикла прорускаем.

if(i == Bars-1) continue;

//------------------------------------

current = ExtBuffer0[i];

prev = ExtBuffer0[i+1];

if(current == prev) continue;

else

{ if(current>prev) up=true;

if(current<prev) up=false;

if(!up)

{ ExtBuffer2[i]=current;

ExtBuffer1[i]=0.0; }

else

{ ExtBuffer1[i]=current;

ExtBuffer2[i]=0.0; }

}}}

//--- Устанавливаем видимость индикаторов

if(Show_AO_G == false) SetIndexStyle(1, DRAW_NONE);

if(Show_AO_R == false) SetIndexStyle(2, DRAW_NONE);

 
NEP :

".mqh" 첨부 파일로 표시기를 도와주세요.

표시기 버퍼 ExtBuffer1[], ExtBuffer2[] 및 Buffer_M[]의 크기는 0인 반면 ExtBuffer0[] 버퍼는 제대로 작동하고 그 크기는 Bars와 동일해야 합니다. 가장 흥미로운 점은 새 버전으로 업데이트될 때까지 모든 것이 이전 버전의 MT4에서 제대로 작동했다는 것입니다. 그리고 더. 첨부 파일의 모든 내용이 표시기의 하나의 기본 mq4 파일로 전송되면 모든 것이 다시 제대로 작동합니다.

질문: 첨부 파일의 표시기 버퍼에 대한 배열 크기가 0으로 재설정되는 이유는 무엇입니까?

다음은 지표 소스 코드입니다.




엉덩이를 통해 모든 것을 하는 것을 좋아합니까?