BTC USD 79,899.5 Gold USD 4,349.40
Time now: Jun 1, 12:00 AM

Belajar Coding EA (mql) asas

Saya pakai script untuk msuk pose, bagaimana saya nak jadikan ianya berlapis lapis
contoh.. saya open eu 10 pose, bagaimana jika hendak jadikan price masuk bertingkat tingkat macam kek lapis..mohon peneranagan
 
//+------------------------------------------------------------------+
//| OPEN SELL EURUSD PAIR .mq4 |
//| Copyright © 2009, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
// allow script to accept inputs from user
#property show_inputs

//user input
extern double Lots = 0.5;
extern int Slippage = 2;
extern int TP = 15;
extern int SL = 50;
extern string MiniSetting = "Mini/Micro Setting:";
extern bool isMini = false;
extern string postfix = ".";

// globals
string mySymbol;

// trade management
double ask, bid, point;

string TradeComment = "Buy KekLapis";
int MagicNumber = 12345678;


// used for verbose error logging
#include <stdlib.mqh>


//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int init() {
if(!isMini) postfix="";

mySymbol = "EURUSD" + postfix; OpenPos("Buy");
mySymbol = "EURUSD" + postfix; OpenPos("Buy");
mySymbol = "EURUSD" + postfix; OpenPos("Buy");
mySymbol = "EURUSD" + postfix; OpenPos("Buy");
mySymbol = "EURUSD" + postfix; OpenPos("Buy");
mySymbol = "EURUSD" + postfix; OpenPos("Buy");
mySymbol = "EURUSD" + postfix; OpenPos("Buy");
mySymbol = "EURUSD" + postfix; OpenPos("Buy");
mySymbol = "EURUSD" + postfix; OpenPos("Buy");
mySymbol = "EURUSD" + postfix; OpenPos("Buy");



}

int start() {}

void OpenPos(string Trade) {
int gle = 0;
int ticket = 0;

int loopcount;

loopcount=0;

while(true) {
bid=MarketInfo(mySymbol, MODE_BID);
ask=MarketInfo(mySymbol, MODE_ASK);
point=MarketInfo(mySymbol, MODE_POINT);

double TPBuy = 0;
double SLBuy = 0;
double TPSell = 0;
double SLSell = 0;

if(TP > 0){ TPBuy = ask + TP * point; TPSell = bid - TP * point; }
if(SL > 0){ SLBuy = ask - SL * point; SLSell = bid + SL * point; }

if (Trade == "Buy") ticket=OrderSend(mySymbol, OP_BUY, Lots, ask, Slippage, SLBuy, TPBuy, TradeComment, MagicNumber, White);
if (Trade == "Sell") ticket=OrderSend(mySymbol, OP_SELL, Lots, bid, Slippage, SLSell, TPSell, TradeComment, MagicNumber, Red);

gle = GetLastError();

if(gle == 0) {
if (Trade == "Buy") Print("BUY PLACED Ticket="+ticket+" Ask="+ask+" Lots="+Lots);
if (Trade == "Sell") Print("SELL PLACED Ticket="+ticket+" Bid="+bid+" Lots="+Lots);
break;

} else {
if (Trade == "Buy") Print("-----ERROR----- Placing BUY order: Lots="+Lots+" SL="+SL+" TP="+TP+" Bid="+bid+" Ask="+ask+" ticket="+ticket+" Err="+gle+" "+ErrorDescription(gle));
if (Trade == "Sell") Print("-----ERROR----- placing SELL order: Lots="+Lots+" SL="+SL+" TP="+TP+" Bid="+bid+" Ask="+ask+" ticket="+ticket+" Err="+gle+" "+ErrorDescription(gle));

RefreshRates();
Sleep(500);

// give up after 10 tries (~5 seconds)
loopcount++;

if(loopcount > 10) {
if (Trade == "Buy") Print("-----ERROR----- Giving up on placing BUY order");
if (Trade == "Sell") Print("-----ERROR----- Giving up on placing SELL order");

return(gle);
}
}
}
}

bagaimana nak delaykan price masuk...
 
kalau nak bertingkat2 kena guna Pending order
 
bro aiman..?

Ada tak EA yg boleh buat duit..?

Adakah semua teknik forex boleh di EA kn..?
 
bro aiman..?

Ada tak EA yg boleh buat duit..?

Adakah semua teknik forex boleh di EA kn..?

secara teknikalnya, semua teknik boleh diprogramkan selagi semua info boleh diaccess oleh terminal
 
Code:
double P = 0,

//---- Set line labels on chart window
    if(ObjectFind("P label") != 0)
      {
        ObjectCreate("P label", OBJ_TEXT, 0, Time[20], P);
        ObjectSetText("P label", " Pivot", 8, "Arial", Red);
      }
    else
      {
        ObjectMove("P label", 0, Time[20], P);
      }

soalan saya

1 - bagaimana nak ambil nilai P bagi open candle jam 10am hari ini?
 
Last edited:
Code:
double P = 0,

//---- Set line labels on chart window
    if(ObjectFind("P label") != 0)
      {
        ObjectCreate("P label", OBJ_TEXT, 0, Time[20], P);
        ObjectSetText("P label", " Pivot", 8, "Arial", Red);
      }
    else
      {
        ObjectMove("P label", 0, Time[20], P);
      }

soalan saya

1 - bagaimana nak ambil nilai P bagi open candle jam 10am hari ini?

Code:
string today = TimeToStr(TimeCurrent(),TIME_DATE);
datetime myTime = TimeCurrent() - (TimeCurrent() - StrToTime(today + " 10:00"));
int myBar=iBarShift(Symbol(),Period(),myTime,0);
     
P=Open[myBar];
 
memula define today

Code:
string today = TimeToStr(TimeCurrent(),TIME_DATE);

lepas tu define myTime

Code:
datetime myTime = TimeCurrent() - (TimeCurrent() - StrToTime(today + "10:00"));

last sekali candle pilihan

Code:
int myBar=iBarShift(Symbol(),Period(),myTime,0);

pastu letak P dekat Open bar pilihan tadi

Code:
P=Open[myBar];

thanks:)cgrock
 
Pastikan ada space depan 10:00
datetime myTime = TimeCurrent() - (TimeCurrent() - StrToTime(today + " 10:00"));
" 10:00", bukan "10:00"

atau pun tuan boleh buat
StrToTime(today + " " + "10:00") <-- tambah " "

Sebab kita nak dapatkan format "2012.06.15 10:00"
kalau takde space akan jadi "2012.06.1510:00"
date dan time akan jadi rapat
 
kalau define variable banyak2 sekali boleh x?

Code:
double zon_a, zon_b, zon_c, zon_max, zon_min, zon_patah_balik
int tp1, tp2, tp3, sl1, sl2, sl3, trailingSL
 

Live Forex Chart

Currency
Rates
EUR / USD
1.14617
USD / JPY
157.871
GBP / USD
1.33605
USD / CHF
0.82512
USD / CAD
1.40084
EUR / JPY
180.458
AUD / USD
0.71084
Back
Top
Log in Register