BTC USD 76,377.0 Gold USD 4,296.09
Time now: Jun 1, 12:00 AM

Belajar Coding EA (mql) asas

iOpen = candle open price
iClose = candle close price

Kalau guna MarketInfo("GBPUSD", MODE_HIGH); bermaksud, High price untuk GBPUSD sahaja. Kalau EA attach pada EU, price tetap diambil drp GU.
Tapi kat sini bro guna "iClose (0,0,0)",
Sepatutnya iClose ("GBPUSD",0,0)

iClose (0,0,0) = close price untuk current chart
iClose ("GBPUSD",0,0) = close price untuk GBPUSD

Kalau EA diguna untuk current chart, tak perlu guna MarketInfo
 
iOpen = candle open price
iClose = candle close price

Kalau guna MarketInfo("GBPUSD", MODE_HIGH); bermaksud, High price untuk GBPUSD sahaja. Kalau EA attach pada EU, price tetap diambil drp GU.
Tapi kat sini bro guna "iClose (0,0,0)",
Sepatutnya iClose ("GBPUSD",0,0)

iClose (0,0,0) = close price untuk current chart
iClose ("GBPUSD",0,0) = close price untuk GBPUSD

Kalau EA diguna untuk current chart, tak perlu guna MarketInfo


thanks bro...


iClose (untuk pair,untuk period kan,0)

jadi iClose ni untuk harga close dalam candle je ke..?

cth iclose("GBPUSD",H1,0)

bermakna untuk tahu harga close dalam canlde H1 je ke..?

atau iclose ni = untuk harga semasa macam BID, ASK..?
 
iClose("GBPUSD",Period_H1,0) , sekiranya bar selain 0 nilainya statik. Kalau 0 adalah bersamaan Bid price. Kzlau iOpen semuanya statik. Boleh juga guna MarketInfo("GBPUSD",Mode_Bid), sama nilai dengan iClose("GBPUSD",0,0). Reply pakai henfon, tak boleh enter, tak de perenggan
 
Kat bawah ni semua sama nilai

iClose ("GBPUSD",0,0)
iClose ("GBPUSD",Period(),0)
iClose ("GBPUSD",Period_M15,0)
iClose ("GBPUSD",Period_H1,0)
MarketInfo("GBPUSD",Mode_Bid)


return value = Bid price untuk GBPUSD
Untuk iClose, selagi bar/shift = 0, nilai yang diberi adalah Bid price.

Sekiranya EA bro untuk current chart, guna "Bid" terus

Code:
double tinggi = MarketInfo([COLOR="Red"]Symbol()[/COLOR], MODE_HIGH);
double rendah = MarketInfo([COLOR="red"]Symbol()[/COLOR], MODE_LOW);

double pivot = (tinggi+rendah)/2;

double Apivot = pivot-15*Point;
double Bpivot = pivot-25*Point;

if ([COLOR="red"]Bid [/COLOR]<= Apivot && Ask >= Bpivot){
 
Kat bawah ni semua sama nilai

iClose ("GBPUSD",0,0)
iClose ("GBPUSD",Period(),0)
iClose ("GBPUSD",Period_M15,0)
iClose ("GBPUSD",Period_H1,0)
MarketInfo("GBPUSD",Mode_Bid)


return value = Bid price untuk GBPUSD
Untuk iClose, selagi bar/shift = 0, nilai yang diberi adalah Bid price.

Sekiranya EA bro untuk current chart, guna "Bid" terus

Code:
double tinggi = MarketInfo([COLOR="Red"]Symbol()[/COLOR], MODE_HIGH);
double rendah = MarketInfo([COLOR="red"]Symbol()[/COLOR], MODE_LOW);

double pivot = (tinggi+rendah)/2;

double Apivot = pivot-15*Point;
double Bpivot = pivot-25*Point;

if ([COLOR="red"]Bid [/COLOR]<= Apivot && Ask >= Bpivot){

sye pakai untuk multi chart...:D
macam basket...

tu sye tk pakai:-

- Point
- Bid
- Ask

btul ke..?
 
sye pakai untuk multi chart...:D
macam basket...

tu sye tk pakai:-

- Point
- Bid
- Ask

btul ke..?

multi chart atau multi pair? Kalau single chart multi pair, Point pun kena pakai MarketInfo....
 
multi chart atau multi pair? Kalau single chart multi pair, Point pun kena pakai MarketInfo....


multipair...

masta...tunjuk la SS EA yg mantap tu untuk pembakar semangat belajar MQL ni...:D
 
salam...

cam ne nk buat code lepas 40 minit kalau rugi...close position..
kalau untung lepas 40 minit wat trailing..


ni contoh kode saya...btul ke cara ni...atau bro ada yg lebih mantap..


Code:
int tutupmasa()
   {

double pBid, pAsk, bb, as, pp;
   
   
int maxDuration = 40 * 60;
pp = MarketInfo(OrderSymbol(), MODE_POINT);
  as = MarketInfo(OrderSymbol(), MODE_ASK);
  bb = MarketInfo(OrderSymbol(), MODE_BID); 
 
 
 
 for(int pos = OrdersTotal()-1; pos >= 0 ; pos--) if (
    OrderSelect(pos, SELECT_BY_POS)            
&&  OrderSymbol()==Symbol()|| OrderSymbol()!=Symbol()){               
    int duration = TimeCurrent() - OrderOpenTime();
    
    if (duration >= maxDuration)
    {
    
    
    if (OrderType()==OP_BUY)
    
    {
    if (bb-OrderOpenPrice()<1*pp)
    
    OrderClose( OrderTicket(), OrderLots(), OrderClosePrice(),3*Point);
    }
    
    
    if (OrderType()==OP_SELL)
    
    {
    if (OrderOpenPrice()-as<1*pp)
   
  
         OrderClose( OrderTicket(), OrderLots(), OrderClosePrice(),3*Point);
         }
            }
            
            
    
        
            
    else 
    
    trail();    
         
}     return(0);
      }
 
salam...

cam ne nk buat code lepas 40 minit kalau rugi...close position..
kalau untung lepas 40 minit wat trailing..


ni contoh kode saya...btul ke cara ni...atau bro ada yg lebih mantap..


Code:
int tutupmasa()
   {

double pBid, pAsk, bb, as, pp;
   
   
int maxDuration = 40 * 60;
pp = MarketInfo(OrderSymbol(), MODE_POINT);
  as = MarketInfo(OrderSymbol(), MODE_ASK);
  bb = MarketInfo(OrderSymbol(), MODE_BID); 
 
 
 
 for(int pos = OrdersTotal()-1; pos >= 0 ; pos--) if (
    OrderSelect(pos, SELECT_BY_POS)            
&&  OrderSymbol()==Symbol()|| OrderSymbol()!=Symbol()){               
    int duration = TimeCurrent() - OrderOpenTime();
    
    if (duration >= maxDuration)
    {
    
    
    if (OrderType()==OP_BUY)
    
    {
    if (bb-OrderOpenPrice()<1*pp)
    
    OrderClose( OrderTicket(), OrderLots(), OrderClosePrice(),3*Point);
    }
    
    
    if (OrderType()==OP_SELL)
    
    {
    if (OrderOpenPrice()-as<1*pp)
   
  
         OrderClose( OrderTicket(), OrderLots(), OrderClosePrice(),3*Point);
         }
            }
            
            
    
        
            
    else 
    
    trail();    
         
}     return(0);
      }

part OrderClose saya tak pernah guna OrderClosePrice().
OrderClosePrice() biasa saya guna untuk post yang dah closed, kalau post masih open tak pasti pula apa return valuenya, tak pernah check.

Untuk OrderClose, saya akan buat lebih kurang macm ni
Code:
if (duration >= maxDuration)
{
   if (OrderProfit()<0)
   {
      if (OrderType()==OP_BUY) OrderClose (OrderTicket(), OrderLots(), Bid, 3, Blue);
      if (OrderType()==OP_SELL) OrderClose (OrderTicket(), OrderLots(), Ask, 3, Pink);
   }
   else trail();
}

Code atas tu, saya taip terus kat sini, mungkin ada silap. Mungkin ada terlepas pandang. Bro try and error sendiri.
 
Assalamualaikum Masta

contoh 1
string Nama[]={"Abu","Chong","Samy"};


contoh 2
string Nama[3];
Nama[0]="Abu";
Nama[1]="Chong";
Nama[2]="Samy";


Perkenalkan nama saya Asep Sopandi dari Indonesia, saya banyak membaca tulisan-tulisannya masta Aiman. Saya lebih mengenal masta dari segi master EA. Saya boleh tak minta EA Boleh tak minta EA "jika TP kena, maka seluruh Pending Order di delete semua!"

Saya menggabungkan teknik dari sistem MNTPOD.
Ditunggu balasannya masta.

Mudah2an masta selalu diberkahi dan diberi kesehatan selalu.
Aamiin

Terima kasih
 

Latest Posts

Live Forex Chart

Currency
Rates
EUR / USD
1.14601
USD / JPY
156.027
GBP / USD
1.33809
USD / CHF
0.82557
USD / CAD
1.39893
EUR / JPY
178.918
AUD / USD
0.71089
Back
Top
Log in Register