[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 117

 
TarasBY :

Bunun gibi bir şey:

Geçerli zamandan Time_Control'e kadar olan ZigZag uç noktaları bir dizide toplanır.


 void fGet_ExtremumsZZPrice ( string fs_Symbol,           // инструмент
                             int fi_TF,                   // таймфрейм
                             datetime fdt_TimeControl,   // время, до которого ищем экстремумы
                             int fi_ExtDepth = 12 ,       // ExtDepth         
                             int fi_ExtDeviation = 5 ,     // ExtDeviation
                             int fi_ExtBackstep = 3 )     // ExtBackstep
{
     double ld_Value, lda_Extremum[];
     int     li_size = iBarShift (fs_Symbol, fi_TF, fdt_TimeControl), li_IND = 0 ;
//---- 
     for ( int li_Bar = 1 ; li_Bar < li_size; li_Bar++)
    {
        ld_Value = iCustom (fs_Symbol, fi_TF, "ZigZag" , fi_ExtDepth, fi_ExtDeviation, fi_ExtBackstep, 0 , li_Bar);
         if (ld_Value != 0 .)
        {
             ArrayResize (lda_Extremum, li_IND + 1 );
            lda_Extremum[li_IND] = ld_Value;
            li_IND++;
        }
    }
//---- 
}

Ve bana böyle bir an söyle, tüm zikzaklar nasıl sayılır, kaç tane var?

 

Merhaba,

Dilbilgisi için şimdiden özür dilerim :/. Soru, alıntı geçmişinin nasıl yeniden yazılacağıdır (kod yoluyla)? Hotelosby, başka bir komisyoncudan gelen verileri analiz etmek için MT4'ü kullanacak.
 
berezhnuy :

Ve bana böyle bir an söyle, tüm zikzaklar nasıl sayılır, kaç tane var?




li_IND değişkeninde kaydedildi, ya da öylesine
count= ArraySize (lda_Extremum);
 
berezhnuy :

Ve bana böyle bir an söyle, tüm zikzaklar nasıl sayılır, kaç tane var?

Eğer bunu yaparsan:

 int fGet_ExtremumsZZPrice ( string fs_Symbol,           // инструмент
                           int fi_TF,                   // таймфрейм
                           datetime fdt_TimeControl,   // время, до которого ищем экстремумы
                           int fi_ExtDepth = 12 ,       // ExtDepth         
                           int fi_ExtDeviation = 5 ,     // ExtDeviation
                           int fi_ExtBackstep = 3 )     // ExtBackstep
{
     double ld_Value, lda_Extremum[];
     int     li_size = iBarShift (fs_Symbol, fi_TF, fdt_TimeControl), li_IND = 0 ;
//---- 
     for ( int li_Bar = 1 ; li_Bar < li_size; li_Bar++)
    {
        ld_Value = iCustom (fs_Symbol, fi_TF, "ZigZag" , fi_ExtDepth, fi_ExtDeviation, fi_ExtBackstep, 0 , li_Bar);
         if (ld_Value != 0 .)
        {
             ArrayResize (lda_Extremum, li_IND + 1 );
            lda_Extremum[li_IND] = ld_Value;
            li_IND++;
        }
    }
//----
    return (li_IND);
}
- fonksiyon fdt_TimeControl'den beri bulunan ekstremumların sayısını döndürür.
 

Sayesinde

 

Merhaba,

Ayarlarda sabit 1: 1 ölçekli bir grafiğin mümkün olduğunu bir uzmana yazmak mümkün mü?

Mümkünse lütfen bana nasıl olduğunu söyleyin.

Şimdiden teşekkürler.

 
Lütfen bana çizelgemde birkaç saniyede bir mumların renklerinin renge ve tekrar siyah beyaza dönüştüğünü söyle. Daha önce durum böyle değildi. Bu bir şekilde kapatılabilir mi?
 

Tünaydın.

a=true ve b=true koşullarında bekleyen iki emir (BuyStop ve SellStop) açmak için bir kod yazdım ve bir süre sonra danışman ikinci bir sinyal görünene kadar her iki emri de kapatır, ancak bazen danışman 2 bekleyen emir açar aynı yön. Bu neden oluyor ve bu "hata" nasıl önlenir?



if (a=true && b=true)
{
int OrderCount = OrdersTotal();
if (OrderCount>1) return(0);
bilet1=OrderSend(Symbol(), OP_BUYSTOP, getLot(), PriceOpen_Buy, kayma, PriceOpen_Sell,0,0,Green);
uyku(1000);

bilet2=OrderSend(Symbol(), OP_SELLSTOP, getLot(), PriceOpen_Sell, kayma, PriceOpen_Buy,0,0,Green);

Uyku(1000*59*Zaman Çerçevesi);

for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUYSTOP ) OrderDelete(OrderTicket());
if (OrderType()==OP_SELLSTOP ) OrderDelete(OrderTicket());
if (OrderType()==OP_SELL ) OrderClose(OrderTicket(),OrderLots(),Ask,slippage);
if (OrderType()==OP_BUY ) OrderClose(OrderTicket(),OrderLots(),Bid,slippage);
}

dönüş(0);

}


Lütfen bana söyle.

Şimdiden teşekkürler

 
r772ra :



Bu değişkenlerin değerleri tayseries dizilerinde saklanır.

yani, iyisin.

Koşullar,

Teşekkürler, deneyeceğim)
 
Shixan :

Tünaydın.

a=true ve b=true koşullarında bekleyen iki emir (BuyStop ve SellStop) açmak için bir kod yazdım ve bir süre sonra danışman ikinci bir sinyal görünene kadar her iki emri de kapatır, ancak bazen danışman 2 bekleyen emir açar aynı yön. Bu neden oluyor ve bu "hata" nasıl önlenir?

Lütfen bana söyle.

Şimdiden teşekkürler

Belki burada:

 if (OrderCount> 0 ) return ( 0 );

Aslında o kadar da "uyumazlar" - Sleep(1000*59*TimeFrame); - yeni bir tick geldi, kodunuz çalışmaya başladı, iki emir açıldı, ardından "2 saat" (şartlı olarak) bir duraklama ve sonra kapatmaya çalışıyorsunuz, eğer aniden emirlerden biri o fiyatlarda bir piyasa haline geldiyse 2 saat önce aldınız - ORİJİNAL!!! SİZE KİM ÖĞRETTİ???

Genel bir değişkende siparişlerin açılma zamanını sabitleyebilir ve TimeCurrent() ile sabit zaman arasındaki farkı kontrol edebilirsiniz.

Neden: