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

Tanya Jawab MQL

Discussion in 'Belajar MQL dari Nol' started by HendroFX, 09 Apr 2015.

  1. HendroFX

    HendroFX Moderator Moderator

    Equity
    Credit
    Ref Point
    Prinsip pengambilan Nilai RSI sama dengan pengambilan data MA, Bila RSI maka

    Code:
    double iRSI(
    string symbol, // symbol
    int timeframe, // timeframe
    int period, // period
    int applied_price, // applied price
    int shift// shift
    );
    
    if(iRSI(NULL,0,14,PRICE_CLOSE,0)>iRSI(NULL,0,14,PRICE_CLOSE,1))
    // Perintah BUY
    
    Jika Nilai RSI sekarang lebih Besar dari Nilai RSI candle sebelumnya, maka OP BUY

    Untuk penggabungan kedua Indikator yaitu MA dan RSI akan saya bahas setelah beberapa komentar di bawah ini
     
  2. Yoditemon

    Yoditemon Member Credit Hunter

    Equity
    Credit
    Ref Point
    Klo ga ada komentar ga jadi dbahas ya om...;)
    saya tunggu pembahasannya ya om
     
  3. Harby

    Harby New Member

    Equity
    Credit
    Ref Point
    Gan gimana caranya bikin indikator support n resistance?
     
  4. Threadmark: Signal MA dan RSI
    HendroFX

    HendroFX Moderator Moderator

    Equity
    Credit
    Ref Point
    Saya akan membuat Contoh Gabungan Indikator RSI dengan MA, dan pengambilan data Nilai RSI dan MA untuk dijadikan Signal
    aturan.jpg
    Misalnya: Rule Untuk Op Buy adalah, Jika RSI lebih besar dari 70 dan MA10 lebih besar dari MA 100, maka OP BUY

    Code:
    double HdRsi=iRSI(Symbol(),0,14,PRICE_CLOSE,1);
    double HdMa10=iMA(Symbol(),0,10,0,MODE_SMA,PRICE_CLOSE,1);
    double HdMa100=iMA(Symbol(),0,100,0,MODE_SMA,PRICE_CLOSE,1);
    
    if(HdRsi>=70&&HdMa10>HdMa100)// PERINTAH BUY.........
     
  5. nice_guy

    nice_guy New Member

    Equity
    Credit
    Ref Point
    kalo untuk mendapatkan data lot transaksi yg sedang berjalan (open trade) gimana yah gan ?
    spt di bawah ini atau bukan yah gan?

    double lots=OrderLots();

    Tapi sy udah coba command ini di metaeditor tetap saja tidak bisa mendapatkan data lot yg dimaksud.

    lot.png
     
  6. AutoProfit

    AutoProfit Active Member Credit Hunter

    Equity
    Credit
    Ref Point
    cara pertama:
    int tOrder = OrdersTotal();
    for (int i = tOrder-1; i>= 0; i--){
    OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
    double lots = OrderLots();
    }

    cara kedua:
    bila tau no tiketnya,
    OrderSelect(noTicket, SELECT_BY_TICKET, MODE_TRADES);
    double lots = OrderLots();
     
  7. AutoProfit

    AutoProfit Active Member Credit Hunter

    Equity
    Credit
    Ref Point
    1. Definikan dengan baik bagaimana kamu menentukan Support dan Resistance.
    2. gunakan iHighest, iHigh, iLowest dan iLow utk menentukan posisi support resistance.
     
  8. nice_guy

    nice_guy New Member

    Equity
    Credit
    Ref Point
     
  9. HendroFX

    HendroFX Moderator Moderator

    Equity
    Credit
    Ref Point
    Penulisan "Orderselect" harus dikembalikan dengan nilai boolen, yaitu True atau false.
    Code:
    if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))continue;
    // jika gagal untuk memilih maka pencarian akan dilanjutkan
    coba di buat seperti yang saya contohkan, semoga tidak ada warning lagi :)
     
  10. nice_guy

    nice_guy New Member

    Equity
    Credit
    Ref Point
    =========================================================================

    Sudah bisa gan, "warning" nya sudah hilang.

    Terima kasih buat semuanya atas sharing nya. :)

    warning2.png
     
  11. Salman Alfarisi

    Salman Alfarisi New Member

    Equity
    Credit
    Ref Point
    Salam kenal semua,
    Ane newbi nih buat mql,
    Ane mau tanya kalo code close all berdasarkan dari data open terakhir gmn ya,

    Trims,
     
    Last edited: 12 Jun 2017
  12. Ruhartonorudi

    Ruhartonorudi Member Credit Hunter

    Equity
    Credit
    Ref Point
    Mohon bantuan para Master ! ... kira kira salah nya dimana ini kok tidak mau close
    sebelumnya terima kasih

    void Toclose()
    // CLOSE BUY //
    {
    bool close = false;
    bool closeAllow_Buy = false;
    {
    if (SelisihBuy >= Tutup||SelisihBuy <= Tutup*-1){
    closeAllow_Buy = True ;
    }
    if(closeAllow_Buy) {

    for(int i = 0; i < OrdersTotal(); i++) {

    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) break;
    if(OrderSymbol() != Symbol()) continue;
    // continue;
    if(OrderType()==OP_SELL)
    {
    continue;
    }
    else if(OrderType()==OP_BUY)
    {
    close = OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,clrRed);
    }
    }
    }
    // CLOSE SELL /
    {

    bool closeAllow_sell = false;
    {
    if (SelisihSell <= Tutup*-1||SelisihSell >= Tutup){
    closeAllow_sell = True ;
    }
    if(closeAllow_sell) {

    for(int j = 0; j < OrdersTotal(); j--) {

    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) break;
    if(OrderSymbol() != Symbol()) continue;
    // continue;
    if(OrderType()==OP_BUY)
    {
    continue;
    }
    else if(OrderType()==OP_SELL)
    {
    close = OrderClose(OrderTicket(),OrderLots(),Bid,Slippage);
    }
    }
    }
    }
    }
    }
    }
     
  13. Ruhartonorudi

    Ruhartonorudi Member Credit Hunter

    Equity
    Credit
    Ref Point
  14. HendroFX

    HendroFX Moderator Moderator

    Equity
    Credit
    Ref Point
    Logika untuk menutup order harus jelas, saya tidak bisa menunjukkan mana kesalahan dari coding ini karena logika awal tidak jelas
     
  15. Amir Syarifudin

    Amir Syarifudin Member Credit Hunter

    Equity
    Credit
    Ref Point
    void Toclose()
    // CLOSE BUY //
    {
    bool close = false;
    bool closeAllow_Buy = false;
    {
    if (SelisihBuy >= Tutup||SelisihBuy <= Tutup*-1){
    closeAllow_Buy = True ;
    }
    if(closeAllow_Buy) {

    for(int i = 0; i < OrdersTotal(); i++) {

    if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){continue;}
    if(OrderSymbol() != Symbol()) continue;
    // continue;
    if(OrderType()!=OP_BUY){continue;}
    close = OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,clrRed);

    }
    }
    // CLOSE SELL /
    {

    bool closeAllow_sell = false;
    {
    if (SelisihSell <= Tutup*-1||SelisihSell >= Tutup){
    closeAllow_sell = True ;
    }
    if(closeAllow_sell) {

    for(int j = 0; j < OrdersTotal(); j++) {

    if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){continue;}
    if(OrderSymbol() != Symbol()) continue;
    // continue;
    if(OrderType()!=OP_SELL){continue;}
    close = OrderClose(OrderTicket(),OrderLots(),Bid,Slippage);
    }
    }
    }
    }
    }
    }
     
  16. Ruhartonorudi

    Ruhartonorudi Member Credit Hunter

    Equity
    Credit
    Ref Point
    sel
    terima kasih telah menanggapi
    karena keterbatasan pengetahuan saya ini tetep tidak bisa close
    berikut saya sertakan mq4 nya, EA ini cuma hasil comot sana sini saja kali kali ada yang berkenan menyempurnakan EA ini sehingga bermanfaat bagi kita semua, EA ini bertipe arbitrage
    jadi ada 2 file yang terdiri dari server dan client
     

    Attached Files:

  17. Amir Syarifudin

    Amir Syarifudin Member Credit Hunter

    Equity
    Credit
    Ref Point
    Ini yang sudah saya betulkan, coba perhatikan baris ke 115 dan bandingkan yang belum diperbaiki. Coba test apakah masih belum bisa close?
     

    Attached Files:

    • Like Like x 1
  18. HendroFX

    HendroFX Moderator Moderator

    Equity
    Credit
    Ref Point
    Mungkin bisa dijelaskan maksud dari pertanyaan Close All posisi dari data open order terakir bagaimana gan?

    Untuk mengetahui open order terakir dapata menggunakan
    Code:
    int tiket;
    for(int i=OrdersTotal()-1; i>=0; i--)
      { if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES) continue;
         tiket=OrderTilet();
       if (tiket >0) break;
    // di sini kita dapatkan info mengenai data terakir dari order
    }
     
  19. raisfx

    raisfx New Member

    Equity
    Credit
    Ref Point
    Help
    permisi om admin newbie izin bertanya kepda smua master..
    bagaimana coding agar EA hanya OP sekali setiap signal ketika sudah TP/SL .. jadi baik rugi ataupun profit EA akan OP lagi menunggu signal berikutnya?
     
  20. HendroFX

    HendroFX Moderator Moderator

    Equity
    Credit
    Ref Point
    Pertama Agan harus membuat fungsi menghitung Order dulu,
    Code:
    if(TotalOrder<=0)
    {
    if(signalBuy) Perintah Order BUY
    if(SignalSell) perintah order Sell
    } 
    Artinya EA akan menghtung jumlah order dulu, ketika Jumlahnya kurang dari sama dengan NOL maka EA akan Open posisi susai signal yang dihasilkan
     

Share This Page