[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 482

 
Urain писал(а) >>

Fiyat ve ayarlanan zarar durdurma arasındaki farkın Durdurma Seviyesinden fazla olup olmadığını kontrol etmek için bir bool işlevi () yazarsınız (pazarlama bilgisinden)

o zaman doğru aksi halde yanlış.

Ardından, bir sipariş açmadan önce, (function()) olup olmadığını kontrol edin ve bir sipariş açın.


Bu DC için durma seviyesinden %30 daha fazla bir durdurma kaybı ayarladıysam neden gerekli?

horosh yazdı >>

2. ve 3. maddeler yanlış. Bu doğru: Zararı durdur ve satın almak için kar al, Satıştan sayılır, zararı durdur ve satış için kar al, Tekliften sayılır.
Kontrol etmek kolaydır. Seçeneğinizle kar al tetiklendiğinde ne kadar artış elde edeceğinizi hesaplayın. Puan olarak kar almak eşit olmayacak. Ve önerilen versiyonda tam olarak eşleşecek.


Bu yüzden olduğu gibi yeniden yaptım - her neyse, sonuç aynı, sadece fiyatın normalleşmesini bıraktım
Ancak test cihazındaki hata devam etti ve en ilginç şey, tüm siparişler için değil, bazıları için
10 kişiden 1'i 4107 hatası verdi ve kalan 9 işlem hatasız.

 

Помогите пожфлуйста с индикаторами: 1-й чтобы не убирал разметку на графике. 2-й чтобы лини старших ТФ были внешними на младших и чтобы можно было задать отоброжение(после того как задаешь отоброжение сразу все нормально пока не перещелкнешь ТФ,после этого все линии младших ТФ на старших)нии младших ТФ на старших)

 
Unuttun...
Dosyalar:
macd.rar  7 kb
 
2
Dosyalar:
multi.rar  9 kb
 
baltik писал(а) >>


Bu DC için durma seviyesinden %30 daha fazla bir durdurma kaybı ayarladıysam neden gerekli?


Bu yüzden olduğu gibi yeniden yaptım - her neyse, sonuç aynı, sadece fiyatın normalleşmesini bıraktım
Ancak test cihazındaki hata devam etti ve en ilginç şey, tüm siparişler için değil, bazıları için
10 kişiden 1'i 4107 hatası verdi ve kalan 9 işlem hatasız.


Kodu gönderin, görelim.
 
Noterday >> :
Народ, у меня проблема, причем никак не могу допетрить в чем дело, особо не пинайте.
Есть стандартный MACD, хочу в индикаторе отметить все пики столбцов (значками), вот код:
Таким образом я нарисовал все экстремумы в индикаторе. Всё ОК, НО!
Когда функцией Print я вывожу значения всех найденых пиков
то вот что выходит:
Я так понимаю что 2147483647 это нули или пустые значения?

Peki, kimse yardım etmeyecek mi? :)

 
Noterday писал(а) >>

Peki, kimse yardım etmeyecek mi? :)


Sorun MAX ve MIN dizilerinde gibi görünüyor.
SetIndexBuffer() işlevi tarafından gösterge arabelleklerine bağlılar mı?

 
Tabiiki :)
 
Noterday писал(а) >>
Tabiiki :)


IndicatorBuffers() işlevini kullanıyor musunuz?

 
İşte tam kod:
#property indicator_separate_window
#property indicator_buffers 4

#property indicator_color1 MediumPurple
#property indicator_color2 MediumPurple
#property indicator_color3 Green
#property indicator_color4 Red

#property indicator_width3 1
#property indicator_width4 1


extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;

double MMACD1[];
double SMACD1[];
double MAX[];
double MIN[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{

SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_LINE);

SetIndexStyle(2,DRAW_ARROW);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(2,119);
SetIndexArrow(3,119);

SetIndexDrawBegin(1,SMACD1);
IndicatorDigits(Digits+2);

SetIndexBuffer(0,MMACD1);
SetIndexBuffer(1,SMACD1);
SetIndexBuffer(2,MAX);
SetIndexBuffer(3,MIN);

IndicatorShortName("MACD("+FastEMA+","+SlowEMA+","+SignalSMA+")");
SetIndexLabel(0,"MACD");
SetIndexLabel(1,"Signal");

return(0);
}
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();

if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;

for(int i=0; i<limit; i++)
MMACD1[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);

for(i=0; i<limit; i++)
SMACD1[i]=iMAOnArray(MMACD1,Bars,SignalSMA,0,MODE_SMA,i);

for(i=0; i<limit; i++)
{
if(MMACD1[i+1] > MMACD1[i+2] && MMACD1[i+1] > MMACD1[i])
MAX[i+1] = MMACD1[i+1];

if(MMACD1[i+1] < MMACD1[i+2] && MMACD1[i+1] < MMACD1[i])
MIN[i+1] = MMACD1[i+1];
}

for(i=0; i<limit; i++)
{
if (MAX[i+1] != EMPTY_VALUE)
Print(MAX[i+1]);
}

return(0);
}
//+------------------------------------------------------------------+