ขออ้างอิงข้อมูลจากคุณ preeyada ได้ตอบไว้จากกระทู้
http://www.thaiforexea.com/index.php/topic,774.0.htmlOrderSend(Symbol(),OP_BUY,Lots,Ask,3,เติมค่า stop loss ที่ต้องการ,0,"",MAGICMA,0,Blue);
ตัวอย่างนะครับ
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-Point*10,0,"",MAGICMA,0,Blue);
Bid-Point*10 ตือ ค่า stop loss ที่เราต้องการให้ห่างออกไปอีกประมาณ 10 pip (เอา10 คูณ point) ครับผม
คำถามต่อไปก็คือว่า
ตรงที่คุณ preeyada ได้เน้นสีแดงเอาไว้น่ะครับ ตรงนี้จำเป็นมั๊ยครับว่าต้องเอาค่า bid หรือ ask มาทำการคำนวนกับค่า point น่ะครับ
ถ้าผมต้องการเปลี่ยนเอาค่าอย่างอื่นมาใส่แทนจะได้มั๊ยครับ เช่น เอาค่าของ iclose มาใส่ ถ้าสมมติใส่ได้นี่ต้องใส่ค่ายังไงครับ
อันนี้เป็นส่วนหนึ่งของ ea ที่ผมทำเองน่ะครับ แต่ทำจากเว็บ ea builder มาน่ะครับ
//Sell
if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {
if(!IsTrade) {
//Check free margin
if (AccountFreeMargin() < (1000 * Lots)) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (UseStopLoss) StopLossLevel =
Var4; else StopLossLevel = 0.0;
if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;
Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "Sell(#" + MagicNumber + ")", MagicNumber, 0, DeepPink);
if(Ticket > 0) {
if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
Print("SELL order opened : ", OrderOpenPrice());
if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");
} else {
Print("Error opening SELL order : ", GetLastError());
}
}
if (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bars;
return(0);
}
}
if (!EachTickMode) BarCount = Bars;
return(0);
}
ถ้าอย่างในกรณีของ ea ของผมนี้ ต้องไปแก้ไขยังไงครับ
แต่พอดีผมลองเอาค่าของ Var4 มาใส่แทน ซึ่งเป็นตัวแปรที่เก็บค่าของ iclose ไว้น่ะครับ
ถ้าผมจะเปลี่ยนจาก Var4 มาใส่ iclose แบบนี้ได้มั๊ยครับ iClose(NULL, 0, Current + 2)
รบกวนผู้รู้ช่วยตอบทีนะครับ
ขอบคุณครับ