Saya cuba menggunakan penunjuk Isyarat EMA Crossover dalam EA dan saya mempunyai masalah untuk mendapatkan nilai-nilai di luarnya. Saya menggunakan iCustom () dan tidak kira gaya yang saya pilih (0 atau 1) penunjuk itu hanya mengembalikan 2147483647. Apa-apa idea mengenai apa yang saya lakukan salah?

Berikut adalah ilustrasi tentang apa yang saya cuba lakukan:

dual EMA = iCustom (NULL, 0, EMA Crossover Signal, 5,13, ??????false, 0,0);

Percetakan (EMA);

Berikut adalah kod indy anda:

// ----------------------------------------------- -------------------
//| EMA-Crossover_Signal. Mq4 |
//| Hak cipta © 2005, Jason Robinson (jnrtrading) |
//|
http://www.jnrtading.co.uk|
//p ----------------------------------------------- -------------------

/*
------------------------------------------------- -----------------
| membolehkan anda memasukkan dua tempoh ema dan kemudian akan memaparkan anda dalam |
| Titik mana mereka menyeberang. Ia lebih berguna tentang yang lebih pendek |
| jarak yang dikaburkan oleh barcandlesticks dan apabila |
| tahap zum berada di luar. Juga membolehkan anda untuk mengeluarkan emas |
| dalam carta. (emas pada asalnya ditetapkan pada 5 dan 6) |
------------------------------------------------- -----------------
*
#property copyright Copyright © 2005, Jason Robinson (jnrtrading)
#property Hyperlink http://www.jnrtrading.co.uk

#property indior_chart_window
#property indior_buffers 2
#property indior_color1 SeaGreen
#property indior_color2 Merah

double CrossUp [];
double CrossDown [];
extern int FasterEMA = 5;
extern int SlowerEMA = 13;
extern bool SoundON = false;
double alertTag;
kawalan double = 2147483647;

// ----------------------------------------------- -------------------
//| Fungsi permulaan penunjuk kustom |
// ----------------------------------------------- -------------------
int init ()

//- petunjuk
SetIndexStyle (0, DRAW_ARROW, EMPTY, 3);
SetIndexArrow (0, 233);
SetIndexBuffer (0, CrossUp);
SetIndexStyle (1, DRAW_ARROW, EMPTY, 3);
SetIndexArrow (1, 234);
SetIndexBuffer (1, CrossDown);
//-
pulangan (0);

// ----------------------------------------------- -------------------
//| Indikator adat fungsi deinitialization |
// ----------------------------------------------- -------------------
int deinit ()

//-

//-
pulangan (0);

// ----------------------------------------------- -------------------
//| Fungsi lelaran indikator khusus |
// ----------------------------------------------- -------------------
int start ()
had had, saya, kaunter;
double fasterEMAnow, slowerEMAnow, fasterEMAprevious, slowerEMAprevious, fasterEMAafter, slowerEMAafter;
Julat berganda, AvgRange;
int counted_bars = IndiorCounted ();
//- semak kesalahan yang mungkin berlaku
jika (counted_barslt; 0) pulangan (-1);
//- bar dikira terakhir akan diceritakan
jika (counted_barsgt; 0) counted_bars--;

had = Bars-counted_bars;

untuk (I = 0; I lt; = had; I )

counter = I;
Julat = 0;
AvgRange = 0;
untuk (counter = I; counterlt; = I 9; counter )

AvgRange = AvgRange MathAbs (Tinggi [counter] -Low [counter]);

Julat = PurataRange10;

fasterEMAnow = iMA (NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, I);
fasterEMAprevious = iMA (NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, I 1);
fasterEMAafter = iMA (NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i-1);

slowerEMAnow = iMA (NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_CLOSE, I);
slowerEMAprevious = iMA (NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_CLOSE, I 1);
slowerEMAafter = iMA (NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_CLOSE, i-1);

jika ((fasterEMAnow gt; slowerEMAnow) (fasterEMAprevious lt; slowerEMAprevious) (fasterEMAafter gt; slowerEMAafter))
CrossUp [I] = Rendah [I] - Julat * 0.5;

lain jika ((fasterEMAnow lt; slowerEMAnow) (fasterEMAprevious gt; slowerEMAprevious) (fasterEMAafter lt; slowerEMAfter))
CrossDown [I] = Tinggi [I] Julat * 0.5;

jika (SoundON == true I == 1 CrossUp [I] gt; CrossDown [I] alertTag! = Waktu [0])
Alert (Trend Cross EMA akan Turun, Simbol (), Peringkat ());
alertTag = Time [0];

jika (SoundON == akurat I == 1 CrossUp [I] lt; CrossDown [Id] alertTag! = Waktu [0])
Alert (Trend Cross EMA berlaku, Simbol (),, Peringkat ());
alertTag = Time [0];



pulangan (0);