PeneJumawad
New Member
- Credits
- 0
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..
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..