1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Welcome back! Thank you for being a part of this Traders Community. Let's discuss and share :)
    Selamat datang kembali! Trimakasih telah menjadi bagian dari Komunitas Trader ini. Mari berdiskusi dan berbagi :)
    Dismiss Notice

Suggestion MASALAH VALUE ZIGZAG

Discussion in 'Belajar MQL dari Nol' started by zeref, 27 Jan 2025.

  1. zeref

    zeref New Member

    Equity
    Credit
    Ref Point
    upload_2025-1-27_13-33-26.png

    Halo teman-teman apakah ada yang tau cara ambil value zigzag lower low atau higher high sebelumnnya ?
    kode saya seperti ini
    apakah bisa di bantu


    void OnTick()
    {
    //---
    //---
    double Ask;
    double Bid;
    int Spread;
    double ZigZagHigh = iCustom(Symbol(), 0, "ZigZag", 12, 5, 3, 0, 0); // Puncak tertinggi (Higher High)
    double ZigZagLow = iCustom(Symbol(), 0, "ZigZag", 12, 5, 3, 0, 1); // Lembah terendah (Lower Low)
    double ParabolicSAR = iSAR(NULL, 0, 0.02, 0.2, 0);


    Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
    Bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
    Spread=SymbolInfoInteger(Symbol(),SYMBOL_SPREAD);
    //--- Output values in three lines
    Comment(StringFormat("Show prices\nAsk = %G\nBid = %G\nSpread = %d\nVolume = %d\nzigzighigh = %G\nzigziglow = %G",Ask,Bid,Spread,Volume[0],ZigZagHigh,ZigZagLow));
    if(Volume[0] > 1 )return;





    }
     
  2. Littleguy

    Littleguy New Member Credit Hunter

    Equity
    Credit
    Ref Point
    double GetPreviousZigZagValue(int mode) {
    // mode = 0 untuk Higher High (puncak)
    // mode = 1 untuk Lower Low (lembah)

    for (int i = 1; i < 20; i++) { // Loop 20 candle ke belakang
    double zz_value = iCustom(Symbol(), 0, "ZigZag", 12, 5, 3, 0, i);
    if (zz_value > 0) return zz_value; // Jika menemukan nilai valid, kembalikan
    }
    return 0; // Jika tidak ditemukan, return 0
    }

    void OnTick() {
    double Ask = SymbolInfoDouble(Symbol(), SYMBOL_ASK);
    double Bid = SymbolInfoDouble(Symbol(), SYMBOL_BID);
    int Spread = SymbolInfoInteger(Symbol(), SYMBOL_SPREAD);

    // Cari nilai Higher High & Lower Low sebelumnya
    double ZigZagHighPrev = GetPreviousZigZagValue(0); // Puncak sebelumnya
    double ZigZagLowPrev = GetPreviousZigZagValue(1); // Lembah sebelumnya
    double ParabolicSAR = iSAR(NULL, 0, 0.02, 0.2, 0);

    Comment(StringFormat(
    "Show prices\nAsk = %G\nBid = %G\nSpread = %d\nzigzighigh_prev = %G\nzigziglow_prev = %G",
    Ask, Bid, Spread, ZigZagHighPrev, ZigZagLowPrev
    ));

    if (Volume[0] > 1) return;
    }


    bantu menyelesaikan kode ku juga ya
    https://soehoe.id/pullback-trend-following-with-sar-breakout.t31090/
     

Share This Page