[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 117

 
TarasBY:

こんな感じ。

現在時刻から Time_Control までの ZigZag の極値を配列で収集する。


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++;
        }
    }
//---- 
}

ジグザグは全部で何本あるのか、数え方を教えてください。

 

こんにちは。

文法については、事前にごめんなさい :/。質問ですが、引用履歴を(コードで)書き換えるにはどうしたらいいのでしょうか?MT4を使って、他のブローカーのデータを分析したい。
 
berezhnuy:

ジグザグは全部で何本あるのか、数え方を教えてください。




変数li_INDに書き込むか、次のようにします。
count=ArraySize(lda_Extremum);
 
berezhnuy:

ジグザグは全部で何本あるのか、数え方を教えてください。

次のようにすれば。

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);
}
- を指定すると、fdt_TimeControl 以降に見つかった極値の数が返されます。
 

ありがとうございました。

 

こんにちは。

設定で1:1の固定ウェイトでスケジュールを入力することは可能でしょうか?

可能であれば、その方法を教えてください。

あらかじめご了承ください。

 
私のローソク足は数秒ごとにチャートの色がカラーに変わり、白黒に戻るのですが、教えてください。こんなことは今までなかった。オフにする方法はありますか?
 

午後

a=trueとb=trueの条件で2つの保留注文(BuyStopとSellStop)を開くコードを書き、しばらくしてEAが両方の注文を閉じ、新しいシグナルが現れるまで、しかし時々EAは同じ方向に2つの保留注文を開くのです。なぜこのようなことが起こるのか、この「バグ」を回避する方法は?



if (a=true && b=true)
{
int OrderCount = OrdersTotal();
if (OrderCount>)1) return(0);
ticket1=OrderSend(Symbol(), OP_BUYSTOP, getLot(), PriceOpen_Buy, slippage, PriceOpen_Sell,0,0,Green);
Sleep(1000).

ticket2=OrderSend(Symbol()、OP_SELLSTOP、getLot()、PriceOpen_Sell、slippage、PriceOpen_Buy、0、0、Green)。

Sleep(1000*59*TimeFrame);

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);
} }.

return(0)です。

}


ヒントをください。

よろしくお願いします。

 
r772ra:



これらの変数の値は、array-traceboxesに格納される。

つまり、こんな風に持っているんですね.

条件

ありがとうございます、その方法でやってみます)
 
Shixan:

午後

a=trueとb=trueの条件で2つの保留注文(BuyStopとSellStop)を開くコードを書き、しばらくしてEAが両方の注文を閉じ、新しいシグナルが現れるまで、しかし時々EAは同じ方向で2つの保留注文を開きます。なぜこのようなことが起こるのか、この「バグ」を回避する方法は?

アドバイスをお願いします。

よろしくお願いします。

たぶん、ここです。

if (OrderCount>0) return(0);

実はそんなに「寝て」いない - Sleep(1000*59*TimeFrame); - 新しいティックが入り、あなたのコードが始まり、2つの注文が開き、その後「2時間」(条件付き)休止し、その後、突然2時間前に得た価格で注文の1つが市場になった場合に閉じようとします - ORIGINAL!!!。誰に教わった?

注文開始時刻をグローバル変数に 固定し、m³ TimeCurrent()と固定時刻の差を制御することができます。