Ve evet, hala kafa karışıklığı var. N, datetime türündeyse, D' 19:00 ' bir metin biçimidir. Onları karşılaştırmak mümkün mü? Numara. Zaman karşılaştırması durumunda yazarım
Sevgili programcılar, lütfen bana Rusça olarak geçmiş gösterge okumalarını bir kodla nasıl arayacağınızı açıklayın. Örneğin, satarken, sıfır çubuğundan 3 yüksek ZigZaga'da veya sekizinci üst fraktalın üzerinde bir stop loss ayarlamam gerekiyor.
Sevgili programcılar, lütfen bana Rusça olarak geçmiş gösterge okumalarını bir kodla nasıl arayacağınızı açıklayın. Örneğin, satarken, sıfır çubuğundan 3 yüksek ZigZaga'da veya sekizinci üst fraktalın üzerinde bir stop loss ayarlamam gerekiyor.
Sıfır çubuğundan grafiğin başına geçiş yapın, int x=0. Döngüdeki gerekli göstergeyi, örneğin bir fraktal olarak adlandırın. Değer boş değilse, x'e bir ekleyin, x istenen değere ulaştığında - döngü yinelemesini hatırlayın ve döngüden çıkın, yineleme değeri teorik olarak istenen fraktalın bulunduğu çubuğun sayısıdır. Teorik olarak, çünkü M1 üzerinde çalışan döngü sırasında bir yeni çubuk daha görünebilir, o zaman ayy, işaretçi yanlış çubukta olacaktır)))
evillive : Sıfır çubuğundan grafiğin başına geçiş yapın, int x=0. Döngüdeki gerekli göstergeyi, örneğin bir fraktal olarak adlandırın. Değer boş değilse, x'e bir ekleyin, x istenen değere ulaştığında - döngü yinelemesini hatırlayın ve döngüden çıkın, yineleme değeri teorik olarak istenen fraktalın bulunduğu çubuğun sayısıdır. Teorik olarak, çünkü M1 üzerinde çalışan döngü sırasında bir yeni çubuk daha görünebilir, o zaman ayy, işaretçi yanlış çubukta olacaktır)))
Zamandan tasarruf etmemiz gerekiyor. Ve son fraktalların oluşum zamanını saklayan bir dizi kullanmak daha iyidir. Gereksiz döngülerin başarısız olması nedeniyle işin hızı düşecektir.
Sevgili programcılar, lütfen bana Rusça olarak geçmiş gösterge okumalarını bir kodla nasıl arayacağınızı açıklayın. Örneğin, satarken, sıfır çubuğundan 3 yüksek ZigZaga'da veya sekizinci üst fraktalın üzerinde bir stop loss ayarlamam gerekiyor.
"Rus dili" ve "programlama dili" (kodlu bir açıklama istiyorsanız) aynı şey değildir.
Algoritmik olarak ise:
1) Bir "fraktal noktası" yoksa, ilgilenilen ZigZag'ın hangi değeri döndürdüğünü belirleyin - BOŞ_DEĞER veya 0.0 olabilir.
2) Döngüdeki iCustom() aracılığıyla, döngüde kontrol edilen çubuktaki karşılık gelen arabellek göstergesinin değerini alın ve "boş değerden" farkı kontrol edin, bu farklılıkların bir sayacını tutun. Sizin durumunuzda sayaç 3'e eşit olduğunda - bu çubuğun sayısı (N) istenen çubuk olacaktır;
3) Yüksek[N]\Düşük[N] - istenen seviye olacaktır.
Standart bir ZigZag High için şunun gibi bir şey arıyoruz:
double Up= iFractals ( Symbol (), 0 ,MODE_UPPER, 3 ); //верхний фракталdouble Down= iFractals ( Symbol (), 0 ,MODE_LOWER, 3 ); //нижний фрактал//----if (Up> 0 &&Down== 0 &&Volume[ 0 ]< 2 ) //если верхний есть а нижнего нет то:
{
if ((High[ 3 ]+ 5 * Point -Ask)/ Point >MarketInfo( Symbol (),MODE_STOPLEVEL)) //если цена позволяет выставить отложенный ордер то:OrderSend ( Symbol (),OP_BUYSTOP,Lot,High[ 3 ]+ 5 * Point , 20 ,High[ 3 ]-sl,High[ 3 ]+tp, NULL ,Magic, 0 ,Green); // то выставляем байстоп на 5 пунктов выше верхнего фрактала
{
for ( int pos= 0 ;pos< OrdersTotal ();pos++) // скопировал эту строчку хз откуда ибо не понимаю грёбаный счетчик :) тут видимо и косякOrderSelect (pos,SELECT_BY_POS,MODE_TRADES); // ищем текущие ордераif (OrderMagicNumber()==Magic&&OrderSymbol()== Symbol ()&&OrderType()==OP_BUYSTOP) // и если все условия совпадают то:
{
OrderModify(OrderTicket(),Up+ 5 * Point ,Up-sl,Up+tp, 0 ,CLR_NONE); //переносим байстоп на новый верхний фрактал
}
1) Herhangi bir strateji, aynı anda açık olan siparişlerin sayısına göre belirlenmelidir. Buna göre, bir sonraki siparişi açmadan önce, kaç tanesinin zaten açık olduğunu kontrol etmeniz gerekiyor.
2) Bir çubuk sırasıyla aynı anda UPPER ve LOWER fraktallara sahip olamaz, kontrol edin
if (Up > 0 && Down == 0 )
programcı aptallığı kategorisine aittir.
3) Tampon göstergelerinin değerlerinin döndürülmesi için koşullar yazmadan önce, bunun için hangi değerin "boş" olduğunu tam olarak bilmeniz gerekiyor mu? 0'ı kontrol ettin mi?
4) İnşaat
if (Volume[ 0 ] > 2 )
işe yarayacak olsa da (çoğu durumda), çağrılması daha kolaydır - geliştiricinin "ücretsiz icadı" olduğu ve tüccarın çalışması için bilgilendirici olmadığı için doğal değildir. Alternatif, yeni bir çubuğu izlemektir.
5) Temel bilgilerle başlamalıyız, çünkü:
OrderSend ( Symbol (),OP_BUYSTOP,Lot,High[ 3 ]+ 5 * Point , 20 ,High[ 3 ]-sl,High[ 3 ]+tp, NULL ,Magic, 0 ,Green); // то выставляем байстоп на 5 пунктов выше верхнего фрактала
{
ne yazdığını hiç anlamadığını söylüyor.
Anlamanın en iyi yolu, başkalarının kodlarını incelemek ve bunları kendi amaçlarınız için değiştirmektir. İyi şanlar.
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
Ve evet, hala kafa karışıklığı var. N, datetime türündeyse, D' 19:00 ' bir metin biçimidir. Onları karşılaştırmak mümkün mü? Numara. Zaman karşılaştırması durumunda yazarım
Sevgili programcılar, lütfen bana Rusça olarak geçmiş gösterge okumalarını bir kodla nasıl arayacağınızı açıklayın. Örneğin, satarken, sıfır çubuğundan 3 yüksek ZigZaga'da veya sekizinci üst fraktalın üzerinde bir stop loss ayarlamam gerekiyor.
Sevgili programcılar, lütfen bana Rusça olarak geçmiş gösterge okumalarını bir kodla nasıl arayacağınızı açıklayın. Örneğin, satarken, sıfır çubuğundan 3 yüksek ZigZaga'da veya sekizinci üst fraktalın üzerinde bir stop loss ayarlamam gerekiyor.
Sıfır çubuğundan grafiğin başına geçiş yapın, int x=0. Döngüdeki gerekli göstergeyi, örneğin bir fraktal olarak adlandırın. Değer boş değilse, x'e bir ekleyin, x istenen değere ulaştığında - döngü yinelemesini hatırlayın ve döngüden çıkın, yineleme değeri teorik olarak istenen fraktalın bulunduğu çubuğun sayısıdır. Teorik olarak, çünkü M1 üzerinde çalışan döngü sırasında bir yeni çubuk daha görünebilir, o zaman ayy, işaretçi yanlış çubukta olacaktır)))
Sevgili programcılar, lütfen bana Rusça olarak geçmiş gösterge okumalarını bir kodla nasıl arayacağınızı açıklayın. Örneğin, satarken, sıfır çubuğundan 3 yüksek ZigZaga'da veya sekizinci üst fraktalın üzerinde bir stop loss ayarlamam gerekiyor.
"Rus dili" ve "programlama dili" (kodlu bir açıklama istiyorsanız) aynı şey değildir.
Algoritmik olarak ise:
1) Bir "fraktal noktası" yoksa, ilgilenilen ZigZag'ın hangi değeri döndürdüğünü belirleyin - BOŞ_DEĞER veya 0.0 olabilir.
2) Döngüdeki iCustom() aracılığıyla, döngüde kontrol edilen çubuktaki karşılık gelen arabellek göstergesinin değerini alın ve "boş değerden" farkı kontrol edin, bu farklılıkların bir sayacını tutun. Sizin durumunuzda sayaç 3'e eşit olduğunda - bu çubuğun sayısı (N) istenen çubuk olacaktır;
3) Yüksek[N]\Düşük[N] - istenen seviye olacaktır.
Standart bir ZigZag High için şunun gibi bir şey arıyoruz:
ancak bundan önce, ZigZag kodunda görüntülenen arabellek sayısını 1'den 3'e değiştirmeniz gerekir:
cevaplar için teşekkürler, onlara geri döneceğim :) şimdi sorun şu ki
http://clip2net.com/s/j7xvk9
Siparişi neden değiştirmediğini anlayamıyorum, ama aptalca yeni mevduatlar açıyor
cevaplar için teşekkürler, onlara geri döneceğim :) şimdi sorun şu ki
http://clip2net.com/s/j7xvk9
Siparişi neden değiştirmediğini anlayamıyorum, ama aptalca yeni mevduatlar açıyor
gösterdiğin için teşekkürler :)
1) Herhangi bir strateji, aynı anda açık olan siparişlerin sayısına göre belirlenmelidir. Buna göre, bir sonraki siparişi açmadan önce, kaç tanesinin zaten açık olduğunu kontrol etmeniz gerekiyor.
2) Bir çubuk sırasıyla aynı anda UPPER ve LOWER fraktallara sahip olamaz, kontrol edin
programcı aptallığı kategorisine aittir.
3) Tampon göstergelerinin değerlerinin döndürülmesi için koşullar yazmadan önce, bunun için hangi değerin "boş" olduğunu tam olarak bilmeniz gerekiyor mu? 0'ı kontrol ettin mi?
4) İnşaat
işe yarayacak olsa da (çoğu durumda), çağrılması daha kolaydır - geliştiricinin "ücretsiz icadı" olduğu ve tüccarın çalışması için bilgilendirici olmadığı için doğal değildir. Alternatif, yeni bir çubuğu izlemektir.
5) Temel bilgilerle başlamalıyız, çünkü:
ne yazdığını hiç anlamadığını söylüyor.
Anlamanın en iyi yolu, başkalarının kodlarını incelemek ve bunları kendi amaçlarınız için değiştirmektir. İyi şanlar.