ICözel işlev - sayfa 10

 

Merhaba, bu uzmanın detaylandırılmasında bana yardımcı olabilir misiniz?

FreedomBar göstergesine göre...

Önceki kare kırmızıyı kapatırsa -> sat (piyasa fiyatı) -> sonraki önceki karedeki ticareti kapat maviye döner ve satın almak için tersine döner (piyasa fiyatı)

Satın alma siparişlerinde Idem

TF, tp, sl ve takip eden durdurma seçenekleri iyi olurdu.

Şimdiden teşekkürler

Dosyalar:
 

Herhangi bir yardım lütfen. icustom kullanarak bir EA'dan ve göstergeden okuyorum, backtest sırasında trend oldukça mutlu bir şekilde çalışıyor, daha sonra bir nedenden dolayı icustom parametreleri tersine dönüyor, bu yüzden gösterge ticaret etkinleştirildikten sonra aşağı iniyor olsa bile trendim aşağı yerine yükseliyor i kendi kendine düzeliyor ve bir süre sonra tekrar oluyor

 
increase:
Herhangi bir yardım lütfen. icustom kullanarak bir EA'dan ve göstergeden okuyorum, backtest sırasında trend oldukça mutlu bir şekilde çalışıyor, daha sonra bir nedenden dolayı icustom parametreleri tersine dönüyor, bu yüzden gösterge ticaret etkinleştirildikten sonra aşağı iniyor olsa bile trendim aşağı yerine yükseliyor i kendi kendine düzeliyor ve bir süre sonra tekrar oluyor

mmm, bu yüzden gösterge sorun gibi görünüyor, SuperTrend volty gibi ama FX Sniper Ergodic ve Fisher gibi diğer yeniden boyamayan göstergelerde sorun yaşadım.

Buradaki zorluk, göstergenin aşağı doğru bir yönü gösterdiği, ancak hareketin başlangıç noktasının bitiş noktasından daha düşük olduğu ve göstergenin görünmesine neden olan ancak verilerin okunduğu birçok zaman var gibi görünüyor.

Bununla ilgili herhangi bir yorum var mı, bunu yapmayan yeniden boyamayan bir göstergesi veya başka bir çözümü olan var mı?

lütfen ekteki resme bakın

Dosyalar:
pic.jpg  38 kb
 

iÖzel işlevi

herkese merhaba... bu benim ilk mesajım

yaratmaya çalıştığım ea ile ilgili yardıma ihtiyacım var. bu adet göstergenin rengine göre pozisyonu kapatmak için kullanılacak ama pozisyonu manuel olarak açacağım. göstergeyi geri derleme sürümüne sahip olmadığım için, icustom'ın gitmenin yolu olduğunu düşünüyorum.

ama renge göre işlevi nasıl çağırırım?

Örneğin. Heikin Ashi_SW kullanmış olsaydım ve bar kapandıktan sonra renk maviyken satış pozisyonunu kapatmak istersem ve bunun tersi de geçerlidir.

şimdiden teşekkürler

 

ICözel sorunlar

8 arabelleği 1.0 ile dolduran, #TestIndicator adında, dışsal olmayan basit bir Özel Göstergem var, ancak arabellekleri EA'mda geri getirdiğimde, arabellek sonuçları her zaman 0 oluyor. Bana bu konuda yardımcı olur musunuz.

#TestGöstergesi

#property indicator_chart_window

#property indicator_buffers 8

double buf4_up[];

double buf4_down[];

double buf3_up[];

double buf3_down[];

double buf2_up[];

double buf2_down[];

double buf1_up[];

double buf1_down[];

int UniqueNum = 0070;

string shortname = "";

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

//| Custom indicator initialization function |

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

int init()

{

shortname = "#TFX";

IndicatorBuffers(8);

IndicatorShortName(shortname);

//---- indicators

SetIndexBuffer(0,buf4_up);

SetIndexBuffer(1,buf4_down);

SetIndexBuffer(2,buf3_up);

SetIndexBuffer(3,buf3_down);

SetIndexBuffer(4,buf2_up);

SetIndexBuffer(5,buf2_down);

SetIndexBuffer(6,buf1_up);

SetIndexBuffer(7,buf1_down);

//----

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int limit;

int counted_bars = IndicatorCounted();

//---- the last calculated bar will be recalculated

if(counted_bars > 0)

counted_bars--;

limit = Bars - counted_bars - 1;

//---- the main cycle

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

{

//----

buf4_up=1.0;

buf4_down=1.0;

buf3_up=1.0;

buf3_down=1.0;

buf2_up=1.0;

buf2_down=1.0;

buf1_up=1.0;

buf1_down=1.0;

}

//----

//----

//----

return(0);

}

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

[/CODE]

EA Code

[CODE]

double test4_up[];

double test4_down[];

double test3_up[];

double test3_down[];

double test2_up[];

double test2_down[];

double test1_up[];

double test1_down[];

int UniqueNum = 009;

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

//| expert initialization function |

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

int init()

{

//----

Print("Inside init");

//----

return(0);

}

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

//| expert deinitialization function |

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

int deinit()

{

//----

Print("Inside deinit");

//----

return(0);

}

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

//| expert start function |

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

int start()

{

//----

Print("Inside start");

int counted_bars=IndicatorCounted();

int y5m=0, y1h=0, y30m=0, y15m=0, yy=0;

int i=0;

int limit=Bars-counted_bars;

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

{

test4_up = iCustom(NULL, 0, "#TestIndicator",0,i);

test4_down = iCustom(NULL, 0, "#TestIndicator",1,i);

}

for(i=0;i<30;i++)

{

Print("Test 4 UP ", test4_up," Bar ",i );

Print("Test 4 DOWN ", test4_down," Bar ",i );

//Print("This is a test");

}

//----

return(0);

}

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

Test Cihazındaki Sonuçlar

 
Xaun:
8 arabelleği 1.0 ile dolduran, #TestIndicator adında, dışsal olmayan basit bir Özel Göstergem var, ancak arabellekleri EA'mda geri getirdiğimde, arabellek sonuçları her zaman 0 oluyor. Bana bu konuda yardımcı olur musunuz.

EA Kodu

double test4_up[];

double test4_down[];

double test3_up[];

double test3_down[];

double test2_up[];

double test2_down[];

double test1_up[];

double test1_down[];

int UniqueNum = 009;

..

..

...

......

..

int i=0;

int limit=Bars-counted_bars;

ArrayResize(test4_up, limit);

ArrayResize(test4_down, limit);

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

{

test4_up = iCustom(NULL, 0, "#TestIndicator",0,i);

test4_down = iCustom(NULL, 0, "#TestIndicator",1,i);

}

for(i=0;i<30;i++)

{

Print("Test 4 UP ", test4_up," Bar ",i );

Print("Test 4 DOWN ", test4_down," Bar ",i );

//Print("This is a test");

}

//----

return(0);

}

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

]

Maybay size EA dizi boyutunu tanımlamanız gerekir.

 

teşekkürler

okfar:
Maybay size EA dizi boyutunu tanımlamanız gerekir.

Okfar'a teşekkürler. sorun tam olarak buydu

 

Verilerinize nasıl erişeceğinize bağlı olarak, göstergeleri yeniden hesaplamanız gerekmediği gibi, her bir işarette diziyi yeniden doldurmanız gerekmez. görmek

bool ArraySetAsSeries ( double &array[], bool set) Dizinin indeksleme yönünü ayarlar . set parametresi TRUE değerine sahipse, dizi ters sırada indekslenir, yani son elemanın indeksi sıfırdır. YANLIŞ değeri, standart bir indeksleme sırası belirler. İşlev önceki durumu döndürür.

 

...

Yalnızca bir göstergeden kullanılması amaçlanan özellikleri kullanmaya çalışıyorsunuz.

IndicatorCounted() bir EA'dan çağrıldığında hiçbir anlamı yoktur. EA kodu içinde çağrıldığında her zaman -1 döndürür. Bunun yerine bir sabit (ikinci döngünüzdeki gibi) veya Çubuklar (geçmişin tamamını istiyorsanız) kullanmayı deneyin.

Ayrıca, EA içinde kullanılan diziler boyutlandırılmalı, başlatılmalı ve normalde metatrader'ın göstergeler ve göstergeler içindeki tamponlar söz konusu olduğunda yaptığı tüm iş. EA, göstergelerde kullanılan bir SetIndexBuffer() eşdeğerine sahip değildir. Ea'nızda başlatılmamış diziler var ve yalnızca metatrader EA'nızın platformu çökmesini engelledi (bu durumlarda her zaman 0 döndürür, çünkü okumaya çalıştığınız öğe değeri mevcut değildir ve aslında bu diziler yoktur ( sadece ilan edildiler, tahsis edilmediler, başlatıldılar,...))

Saygılarımızla

mladen

Xaun:
8 arabelleği 1.0 ile dolduran, #TestIndicator adında, dışsal olmayan basit bir Özel Göstergem var, ancak arabellekleri EA'mda geri getirdiğimde, arabellek sonuçları her zaman 0 oluyor. Bana bu konuda yardımcı olur musunuz.

#TestGöstergesi

#property indicator_chart_window

#property indicator_buffers 8

double buf4_up[];

double buf4_down[];

double buf3_up[];

double buf3_down[];

double buf2_up[];

double buf2_down[];

double buf1_up[];

double buf1_down[];

int UniqueNum = 0070;

string shortname = "";

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

//| Custom indicator initialization function |

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

int init()

{

shortname = "#TFX";

IndicatorBuffers(8);

IndicatorShortName(shortname);

//---- indicators

SetIndexBuffer(0,buf4_up);

SetIndexBuffer(1,buf4_down);

SetIndexBuffer(2,buf3_up);

SetIndexBuffer(3,buf3_down);

SetIndexBuffer(4,buf2_up);

SetIndexBuffer(5,buf2_down);

SetIndexBuffer(6,buf1_up);

SetIndexBuffer(7,buf1_down);

//----

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int limit;

int counted_bars = IndicatorCounted();

//---- the last calculated bar will be recalculated

if(counted_bars > 0)

counted_bars--;

limit = Bars - counted_bars - 1;

//---- the main cycle

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

{

//----

buf4_up=1.0;

buf4_down=1.0;

buf3_up=1.0;

buf3_down=1.0;

buf2_up=1.0;

buf2_down=1.0;

buf1_up=1.0;

buf1_down=1.0;

}

//----

//----

//----

return(0);

}

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

[/code]EA Code

[code]

double test4_up[];

double test4_down[];

double test3_up[];

double test3_down[];

double test2_up[];

double test2_down[];

double test1_up[];

double test1_down[];

int UniqueNum = 009;

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

//| expert initialization function |

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

int init()

{

//----

Print("Inside init");

//----

return(0);

}

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

//| expert deinitialization function |

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

int deinit()

{

//----

Print("Inside deinit");

//----

return(0);

}

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

//| expert start function |

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

int start()

{

//----

Print("Inside start");

int counted_bars=IndicatorCounted();

int y5m=0, y1h=0, y30m=0, y15m=0, yy=0;

int i=0;

int limit=Bars-counted_bars;

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

{

test4_up = iCustom(NULL, 0, "#TestIndicator",0,i);

test4_down = iCustom(NULL, 0, "#TestIndicator",1,i);

}

for(i=0;i<30;i++)

{

Print("Test 4 UP ", test4_up," Bar ",i );

Print("Test 4 DOWN ", test4_down," Bar ",i );

//Print("This is a test");

}

//----

return(0);

}

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

Test Cihazındaki Sonuçlar...

 

Kodlama Sorusu

Çok sevdiğim bir göstergem var ve birkaç haftadır demosunu yaptım ve oldukça başarılı oldu. Göstergeye göre alım/satım emirlerini otomatikleştirmenin bir yolu var mı? Kısa özet, sevdiğim göstergeler sıralandığında grafikte yukarı veya aşağı bakan küçük bir ok. Ok açıldığında benim için bir sipariş vermenin bir yolu var mı?