Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 488

 
Ind_1 ve Ind_GV olmak üzere iki gösterge vardır. Ind_GV göstergesi, ayarlardan birinin değerini istemci terminalinin global değişkeninden alması bakımından Ind_1'den farklıdır.
Ind_1 ve Ind_GV'nin ayar parametresi aynı olduğunda, Ind_GV'nin sonuç değeri, Ind_1'in sonuç değerinden biraz farklıdır.
Ind_1 ve Ind_GV ayarlarının eşleştiği süre boyunca, test cihazında duraklar ve Ind_GV derlerseniz, her iki göstergenin sonuç değeri tamamen çakışır.
Bunun nasıl açıklanabileceğini kim bilebilir?
 

Söyleyin bana, strateji test cihazında EA optimizasyon modunu çalıştırmak için EA'nın kendisinde herhangi bir koda ihtiyacınız var mı?

Optimize etmeye çalışan bir danışman yazdım, ancak bana şöyle görünüyor:


2014.02.18 21:54:30.386 Test eden: "C:\...\tester\caches\test.NZDUSD5.0" önbellek dosyası bulundu ve daha fazla optimizasyon için kullanılabilir

2014.02.18 21:54:30.388 TestGenerator: "C:\...\tester\history\NZDUSD5_0.fxt" gerçek onay dosyası bulundu

Tarih var. Bu dosya NZDUSD5_0.fxt zaten +150 metre ağırlığında..

Test kullanıcısı günlüklerinde de olur

2014.02.18 22:50:21.251 TestGenerator: eşleşmeyen veri hatası (2014.02.12 13:35'te 305 ses sınırı aşıldı)

Bu ne için?


 

Bana yardım et lütfen!

Değişkenlerin her biri 1'den 5'e kadar bir değer alabilir... Söylesene 3125 seçenek nasıl yazılmaz)))

   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 :

Bana yardım et lütfen!

Değişkenlerin her biri 1'den 5'e kadar bir değer alabilir... Söylesene 3125 seçenek nasıl yazılmaz)))

25 seçenek çizin ve sonra kimin kime daha çok sahip olduğuyla ilgilenin.
 
tara :
25 seçenek çizin ve sonra kimin kime daha çok sahip olduğuyla ilgilenin.

Teşekkür ederim .. şimdi tam olarak bunu yapıyorum ... Dizilerle karıştırmak istedim ama yeterli tyama yok ...)))
 
Sonuç olarak 25 değil 3125 seçenek var ama onu 25 seçeneğe bölmek de mesele)))
 
Hemen yorum yazın, daha sonra yardımcı olurlar.
 
bir kadına gitti.
 

Lütfen ".mqh" ekleri ile göstergeye yardım edin.

Gösterge arabellekleri ExtBuffer1[], ExtBuffer2[] ve Buffer_M[] 0 boyutuna sahipken, ExtBuffer0[] arabelleği düzgün çalışıyor ve boyutu olması gerektiği gibi Çubuklara eşit. En ilginç olanı, MT4'ün eski sürümünde, yenisine güncellenene kadar her şey düzgün çalıştı. Ve ilerisi. Eklerin tüm içeriği göstergenin bir ana mq4 dosyasına aktarılırsa, her şey tekrar düzgün çalışır.

Soru: Eklerdeki gösterge arabellekleri için dizilerin boyutları neden 0'a sıfırlanıyor?

İşte gösterge kaynak kodu.

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

//| 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 :

Lütfen ".mqh" ekleri ile göstergeye yardım edin.

Gösterge arabellekleri ExtBuffer1[], ExtBuffer2[] ve Buffer_M[] 0 boyutuna sahipken, ExtBuffer0[] arabelleği düzgün çalışıyor ve boyutu olması gerektiği gibi Çubuklara eşit. En ilginç olanı, MT4'ün eski sürümünde, yenisine güncellenene kadar her şey düzgün çalıştı. Ve ilerisi. Eklerin tüm içeriği göstergenin bir ana mq4 dosyasına aktarılırsa, her şey tekrar düzgün çalışır.

Soru: Eklerdeki gösterge arabellekleri için dizilerin boyutları neden 0'a sıfırlanıyor?

İşte gösterge kaynak kodu.




Her şeyi kıçından yapmayı sever misin?
Neden: