[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 69
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Oturuyorum ve algoritmayı nasıl uygulayacağımı gerçekten çözemiyorum.
biri yardım edebilir mi.
1. günün başlangıcını bul (bunu ben yaptım)
2. Günün zirvesini bulun (bitti)
3. Bu maksimumdan sonra MA'yı yukarıdan aşağıya geçtikten sonra ilk fraktalı takip edecek çubukları hesaplamanız gerekir.
bir çizim ekliyorum.
iRSI yerine iCCI olmalıdır.
EPRST ...... gözlerim tamamen düştü ..... teşekkürler, bom edit
Oturuyorum ve algoritmayı nasıl uygulayacağımı gerçekten çözemiyorum.
biri yardım edebilir mi.
3. Bu maksimumdan sonra MA'yı yukarıdan aşağıya geçtikten sonra ilk fraktalı takip edecek çubukları hesaplamanız gerekir."takip edecek çubukları hesapla..."
Daha basit yazın: "Bilgisayarı açtıktan sonra fiyatın nereye gideceğini bilmek istiyorum..." :-)))))
"takip edecek çubukları hesapla..."
Daha basit yazın: "Bilgisayarı açtıktan sonra fiyatın nereye gideceğini bilmek istiyorum..." :-)))))
anlamadın.
bu çubuklar zaten grafikte. ya da diyelim ki bu mevcut çubuk. Ve koşulları karşılıyorsa - istenen çubuktur.
Bu ilk.
Ve ikincisi, ne hakkında olduğunu anlamadıysan neden bir kez daha sel basıyorsun?
şöyle deneyebilirsin
OrderSelect(1, SELECT_BY_POS)
if(OrderOpenTime()!=0)
{
///необходимая операция
}
Ancak bu, yalnızca 1 siparişiniz varsa bir seçenektir!
yani siparişin beklemede olup olmadığını kontrol edelim mi?
Fikir şudur: örneğin, siparişin durdurulmasıyla birlikte, satın alma işlemine bekleyen üç sipariş verilir.
Bu 3 bekleyen emirden birinin normal bir "çalışma emri" haline gelmesi için bir koşul istiyorum.
anlamadın.
bu çubuklar zaten grafikte. ya da diyelim ki bu mevcut çubuk. Ve koşulları karşılıyorsa - istenen çubuktur.
Bu ilk.
Ve ikincisi, ne hakkında olduğunu anlamadıysan neden bir kez daha sel basıyorsun?
" re'den sonraki ilk fraktalı takip edecek çubukları hesapla...". takip edecekler , bu da takip edecekleri anlamına geliyor ve "zaten listede" değil ...
Şimdi, eğer "Şartları karşılıyorsa - istenen çubuktur" - bu başka bir konudur. "Koşulları" tanımlayın, biri yardımcı olacaktır.
Sel için özür dilerim, kırıldı.
" re'den sonraki ilk fraktalı takip edecek çubukları hesapla...". takip edecekler , bu da "zaten listede" değil, izleyecekleri anlamına geliyor ...
Şimdi, eğer "Şartları karşılıyorsa - istenen çubuktur" - bu başka bir konudur. "Koşulları" tanımlayın, biri yardımcı olacaktır.
Sel için özür dilerim, kırıldı.
Vay be aynen böyle yazdım
Neyi bilmediğimi, nerede ve nasıl olduğunu bilmeden bulmayı amaçlamayacağım.
Halihazırda var olan belirli çubuklarla ilgileniyorum. Daha doğrusu onların vardiyası.
Bu arada, zaten uyguladım, o kadar da zor değilmiş gibi görünüyor :)
yani siparişin beklemede olup olmadığını kontrol edelim mi?
Fikir şudur: örneğin, siparişin durdurulmasıyla birlikte, satın alma işlemine bekleyen üç sipariş verilir.
Bu 3 bekleyen emirden birinin normal bir "çalışma emri" haline gelmesi için bir koşul istiyorum.
3 gecikmeniz var ve en az 1 çalıştıysa, bir koşul belirlendi mi?
eğer öyleyse, yapabilirsin
for(int cnt=0;cnt<OrdersTotal();cnt++) // последовательно проверяем все ордера
{
OrderSelect(cnt, SELECT_BY_POS)
if(OrderOpenTime()!=0) ///время не равно 0 значит отложка сработала(или как писал Roger if(OrderType()<2) )
{
///необходимая операция
}
}
yoksa 1 açık + 3 bekleyen siparişiniz mi var?
o zaman şöyle deneyebilirsin
//в глобальных переменных
int tick[3];
//в функции start
//cначало записываем номера тикетов отложек в переменные
for(int cnt=0;cnt<OrdersTotal();cnt++) // последовательно проверяем все ордера
{
OrderSelect(cnt, SELECT_BY_POS)
if(OrderOpenTime()!=0)
{
tick[cnt]=OrderTicket();
}
}
//а далее проверяем выполнился ли отложенный ордер
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS)
if(OrderOpenTime()!=0)
{
for(int cnt2=0;cnt2<3;cnt++)
if(tick[cnt]==OrderTicket())
{
//необходимое условие
}
}
в глоб перем
int mag=12345;
в ф start
/// При открытии отложки укажите ему в качестве магика mag
///ну а далее идет поиск "бывшей" отложки по Magic
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS)
if(OrderOpenTime()!=0&&OrderMagic()==Mag)
{
///необходимая операция
}
}
Olası hatalar için kodu kontrol etmedim!
OrderSelect (0,SELECT_BY_POS) işlevi hangi sırayı döndürür? Hangisi önce açıldı? Siparişler takas edilemez mi? (Bekleyen emirleri kullanmıyorum)
Bu doğru, hangisi ilk. Prensipte yalnızca bir sipariş açabileceğinizi ve bozulmayı önleyebileceğinizi kesin olarak biliyorsanız, bu uygundur. Emirler değiş tokuş edilmez, ancak önceki kapandığında en küçüğüne kaydırılır.