- หน้าหลัก
- ชุมชน
- การเขียนโปรแกรม
- OrdersTotal
Edit Your Comment
OrdersTotal
Mar 22, 2015 at 09:08
(แก้ไขแล้ว Mar 21, 2015 at 18:18)
เป็นสมาชิกตั้งแต่ Sep 04, 2014
25 โพสต์
Hello,
I add this in my EA witch determinate if there is open positions. I would like it to count only for the pair of the current chart.
Someone could help me?
total=OrdersTotal();
if(total<1) //continue
Thank you!
I add this in my EA witch determinate if there is open positions. I would like it to count only for the pair of the current chart.
Someone could help me?
total=OrdersTotal();
if(total<1) //continue
Thank you!
luclevesque17@
เป็นสมาชิกตั้งแต่ Nov 21, 2011
1718 โพสต์
Mar 22, 2015 at 16:32
เป็นสมาชิกตั้งแต่ Nov 21, 2011
1718 โพสต์
if( OrderSymbol() == Symbol() && OrderMagicNumber() == YourMagicNum && (OrderType() == OP_BUY || OrderType() == OP_SELL) )
So it would count only for the specific requirement: Pair/EA/(Long or short)
So it would count only for the specific requirement: Pair/EA/(Long or short)
forex_trader_25447
เป็นสมาชิกตั้งแต่ Dec 21, 2010
131 โพสต์
Mar 23, 2015 at 09:03
(แก้ไขแล้ว Mar 23, 2015 at 09:10)
เป็นสมาชิกตั้งแต่ Dec 21, 2010
131 โพสต์
@CrazyTrader
As CrazyTrader wrote, will work on test-mode (or 1-chart), but not on more than 1 chart.
It must be in a loop , to read all orders (all pairs), and select only current pair :
int Index=OrdersTotal();
while (Index>0)
{ Index=Index-1;
OrderSelect(Index, SELECT_BY_POS, MODE_TRADES);
if( OrderSymbol() == Symbol() &&
OrderMagicNumber() == YourMagicNum &&
(OrderType() == OP_BUY || OrderType() == OP_SELL) // Pending orders NOT counted
) break; // here find 1 order and exit
}
// here continue
As CrazyTrader wrote, will work on test-mode (or 1-chart), but not on more than 1 chart.
It must be in a loop , to read all orders (all pairs), and select only current pair :
int Index=OrdersTotal();
while (Index>0)
{ Index=Index-1;
OrderSelect(Index, SELECT_BY_POS, MODE_TRADES);
if( OrderSymbol() == Symbol() &&
OrderMagicNumber() == YourMagicNum &&
(OrderType() == OP_BUY || OrderType() == OP_SELL) // Pending orders NOT counted
) break; // here find 1 order and exit
}
// here continue
Apr 05, 2015 at 08:15
(แก้ไขแล้ว Apr 05, 2015 at 08:16)
เป็นสมาชิกตั้งแต่ Sep 16, 2009
190 โพสต์
This is a stand alone function ... I use it heavily in my codes ... it will make things easier with functions ...
int CountTrades() {
int cnt = 0;
for (int i = OrdersTotal() - 1; i >= 0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_SELL || OrderType() == OP_BUY) cnt++;
}
return (cnt);
}
int CountTrades() {
int cnt = 0;
for (int i = OrdersTotal() - 1; i >= 0; i--) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
if (OrderType() == OP_SELL || OrderType() == OP_BUY) cnt++;
}
return (cnt);
}
... oshaban ... skype: oshaban27 ...
*การใช้งานเชิงพาณิชย์และสแปมจะไม่ได้รับการยอมรับ และอาจส่งผลให้บัญชีถูกยกเลิก
เคล็ดลับ: การโพสต์รูปภาพ/youtube url จะฝังลงในโพสต์ของคุณโดยอัตโนมัติ!
เคล็ดลับ: พิมพ์เครื่องหมาย @ เพื่อป้อนชื่อผู้ใช้ที่เข้าร่วมการสนทนานี้โดยอัตโนมัติ