1. 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

Bagaimana cara menentukan jumlah profit / loss dari harga yang ditentukan variabel

Discussion in 'Belajar MQL dari Nol' started by PeneJumawad, 29 Jul 2020.

  1. PeneJumawad

    PeneJumawad New Member

    Equity
    Credit
    Ref Point
    Halo gan,
    Saya baru belajar mql, saya pingin coba hitung profit dalam dollar, tapi harga awal (harga open) ditentukan dari variable, misalnya Price1.

    Saya coba buat dengan kode dibawah ini, tapi selalu salah, profit dalam dollar nya tidak sesuai dengan Op yang sebenarnya.
    Mohon koreksi nya gan, salahnya dimana ya..
    //===========================
    input string Pair1 = "GBPJPY"; // Pair 1
    input double Price1 = 132.800;
    input double lot1 = 0.01;
    input bool OrderisBuy = true;

    void OnTick()
    {
    //---


    //cek_Gap(Pair1, Pair2, Price1, Price2);
    double var1 = Price1 ;

    double vbid1 = MarketInfo(Pair1,MODE_BID);
    double vask1 = MarketInfo(Pair1,MODE_ASK);
    double vpoint1 = MarketInfo(Pair1,MODE_POINT);
    int vdigits1 = MarketInfo(Pair1,MODE_DIGITS);
    int vspread1 = MarketInfo(Pair1,MODE_SPREAD);
    int pip1;
    double profitDollar = 0.0;

    string mktInfo1, mktInfo2, mktInfo1a, mktInfo2a;
    mktInfo1 = Pair1 +" > BID: " +vbid1 +"; ASK: " +vask1 +"; DIGITS: " +vdigits1 +"; SPREAD: " +vspread1 +"; POINT: " +NormalizeDouble(vpoint1,vdigits1);
    mktInfo1a = Pair1 +" > POINT: " +DoubleToStr(vpoint1,vdigits1);

    if (OrderisBuy) {
    profitDollar = NormalizeDouble(vask1-var1,vdigits1)/vpoint1 * lot1;
    } else {
    profitDollar = NormalizeDouble(var1-vbid1,vdigits1)/vpoint1 * lot1;
    }

    Print(profitDollar);


    }
    //==================


    Hasil profitDollar selalu tidak sama dengan order yang sebenarnya (memang ada OP buy dari harga 132.800, tapi saya ingin hitung manual)

    Tolong pencerahannya gan..
     
  2. Onyx MIB

    Onyx MIB Member

    Equity
    Credit
    Ref Point
    int vdigits1 = MarketInfo(Pair1,MODE_DIGITS);
    double vpoint1 = MarketInfo(Pair1,MODE_POINT);
    //tambahkan code:
    if ( (vdigits1 % 2) == 1 ) vpoint1 = 10 * vpoint1 ;

    //ubah vask1 menjadi vbid1
    profitDollar = NormalizeDouble(vbid1 -var1,vdigits1)/vpoint1 * lot1;


    Bila ada pertanyaan bisa gabung di group belajar t.me/codeMQL
     

Share This Page