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

 

Yardım! Lütfen yardım edin - diğer şeylerin yanı sıra Al ve Sat oklarını çizen özel bir gösterge var. Buna dayalı bir Uzman Danışman nasıl yapılır???? Expert Advisor'dan bir ok çizilip çizilmediğini belirlemek ne kadar kolay? Veya gösterge kodunu bir danışman işlevi şeklinde yapın???? MQL'ye S. Kovalyov'un ders kitabı düzeyinde aşinayım. Orada sorularıma cevap bulamadım.

Yardım çok gerekli.

 
andrey14 >> :

Yardım! Lütfen yardım edin - diğer şeylerin yanı sıra Al ve Sat oklarını çizen özel bir gösterge var. Buna dayalı bir Uzman Danışman nasıl yapılır???? Expert Advisor'dan bir ok çizilip çizilmediğini belirlemek ne kadar kolay? Veya gösterge kodunu bir danışman işlevi şeklinde yapın???? MQL'ye S. Kovalyov'un ders kitabı düzeyinde aşinayım. Orada sorularıma cevap bulamadım.

Yardım çok gerekli.

https://www.mql5.com/ru/code/8524

 

Mükemmel, hazır danışman! İnceleyeceğim, teşekkürler!

 
sergeev >> :
deneme günlüğüne ne yazıyor?

hiçbir şey yazmıyor

 
Mischek >> :

https://www.mql5.com/ru/code/8524

Görünüşe göre, her şey biraz daha karmaşık. Bu Uzman Danışman, oklara iki gösterge dizisinin (gösterge arabellekleri) atandığı göstergelerle çalışır. Ve göstergemde, nesneler (oklar) ObjectCreate() yöntemiyle oluşturulur. Anladığım kadarıyla orada, belirli göstergeler altında, zaman-fiyat koordinatları boyunca bir nesne (ok) oluşturuluyor. Bence en kolay yol, belli bir fonksiyonda gösterge formülünün deyim yerindeyse kullanılacağı ve aynı koşullarda oklar yerine pozisyonların açılacağı bir danışman yapmaktır. nasıl olunur??? Yardım!

 
andrey14 >> :

Görünüşe göre, her şey biraz daha karmaşık. Bu Uzman Danışman, oklara iki gösterge dizisinin (gösterge arabellekleri) atandığı göstergelerle çalışır. Göstergemde nesneler (oklar) ObjectCreate() yöntemiyle oluşturulur. Ve bu durumda nasıl olunur??? Yardım!

Gösterge kodunu bir Uzman Danışmana kolayca aktarabilirsiniz. Ve zaten orada, Satın Al oku için ObjectCreate() komutu yerine bir Satın Al anlaşması açın. Benzer şekilde Sat.
 
Benzer konuların listesine baktım - bir nesneyi aramak gibi, sayma dışında tek yol bu - gösterge kodunu tamamen danışmana aktarmanın. Onlar. göstergeyi bu şekilde atın. Bana ne kadar kolay olduğunu söyle. Yoksa başka yollar var mı?
 
LostTrader >> :
Gösterge kodunu bir Uzman Danışmana kolayca aktarabilirsiniz. Ve zaten orada, Satın Al oku için ObjectCreate() komutu yerine bir Satın Al anlaşması açın. Benzer şekilde Sat.

Teşekkür ederim! Alacağım - bence bunda karmaşık bir şey yok.

 

Merhaba

Anlamama yardım et. Sorunun özü. EA sadece satar ve kapatır, tek siparişle çalışır. Stokastik 80'in üzerindeyken birkaç kayıp yakalayabilirsiniz ve pozisyon stop loss ile kapatılmışsa satış koşullarını değiştirmek için bir fikir vardır, bunun için KimA'dan olan isCloseLastPosByStop işlevi kullanılır. Yani, bu doğru son pozisyon stoploss ile kapatıldığında, kapatılmadıysa false ve bu koşullar satış koşullarına girilir. Bağlandığında, stoploss ile kapatılan veya hiç kapanmayan bir pozisyon açılır. Büyük bir istek, bana kodda neyin yanlış olduğunu veya teoride olması için nasıl yapılacağını söyle

ben

int başlangıç()

{

int

cnt=0,

bilet,

Toplam;

çift

StokK_0, // Değer. K satırı

StochD_1, // Değer. D hattı

SL=Kaybı Durdur;

bool

isCloseLastPosByStop(NULL,OP_SELL, MagicNumber); // KimA

StochK_0=iStochastic(NULL, 0, K_per,D_per,Yavaş,MODE_SMA,0,MODE_MAIN, 0); // K

StochD_1=iStochastic(NULL, 0, K_per,D_per,Yavaş,MODE_SMA,0,MODE_MAIN, 2); //D

bilet=SiparişTicket();

toplam=SiparişToplam();

Eğer (toplam<1)

Eğer ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 0)

{

if ( (StochK_0<StochD_1) && (StochD_1 > 80) ) // 1 inci dönş. satış

bilet=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*Point,0, "Benim EXP", MagicNamber,0,Green); // satmak

OrderSelect(0, SELECT_BY_POS);

if (OrderSelect(0, SELECT_BY_POS)==true )

Yazdır("seçildi");

başka

Print("hatayı seçmedi: ", GetLastError() );

if((StochK_0<30)&& (StochD_1 < 30))

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);

}

başka

Eğer ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 1)

{

if ((StochK_0<StochD_1) && (StochK_0 < 60) && (StochD_1 < 60) ) 2. dönş. satış

bilet=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*0,0, "Benim EXP", MagicNamber,0,Green); //

OrderSelect(0, SELECT_BY_POS);

if (OrderSelect(0, SELECT_BY_POS)==true )

Yazdır("seçilen2");

başka

Print("seçmedi2 hatası : ",GetLastError());

if((StochK_0<30)&& (StochD_1 < 30)) // kapanış koşulu

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);

}

dönüş(0);

}

//___ f-ya ______ isCloseLastPosByStop(NULL,OP_SEL, MagicNamber)______

bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {

……………vb…………………………

 
oklara göre ticaret yapmak için göstergeden basit bir danışman nasıl yapılır??????