|
Post by Xa Em on Jul 8, 2016 10:56:25 GMT 7
ใช่ครับ อาจารย์ ลองไปดูที่ หน้าที่ Strength28 ตัวนี้เป็นตัวดึง ค่ามาครับ แต่ผมหาคำสั่งนี้อยู่ มันมาจากไหน 'MT4'|HIGH!AUDUSD
|
|
|
Post by Xa Em on Jul 8, 2016 11:03:33 GMT 7
รู้ละครับ อิอิ ดึงข้อมูลมา ด้วยคำสั่ง มาจาก DDE โดย ='MT4'|(จะดึงค่าอะไร)!(Symbol)
|
|
|
Post by Xa Em on Jul 8, 2016 11:06:48 GMT 7
ส่งสัยทำเป็น EA ได้เลย อิอิ
|
|
|
Post by iamgotzaa on Jul 8, 2016 13:58:43 GMT 7
รู้ละครับ อิอิ ดึงข้อมูลมา ด้วยคำสั่ง มาจาก DDE โดย ='MT4'|(จะดึงค่าอะไร)!(Symbol)
|
|
|
Post by iamgotzaa on Jul 8, 2016 13:59:42 GMT 7
BID request: = MT4|BID!USDCHF result: 1.5773 ASK request: = MT4|ASK!USDCHF result: 1.5778 HIGH request: = MT4|HIGH!USDCHF result: 1.5801 LOW request: = MT4|LOW!USDCHF result: 1.5741 TIME request: = MT4|TIME!USDCHF result: 21.05.02 9:52 TIMESEC request: = MT4|TIME!USDCHF result: 21.05.02 9:52:43 QUOTE request: = MT4|QUOTE!USDCHF result: 21.05.02 9:52:43 1.5773 1.5778 1.5776 link = www.metatrader4.com/en/trading-platform/help/service/dde
|
|
marot
New Member
Posts: 43
|
Post by marot on Jul 8, 2016 14:15:32 GMT 7
DDE ... เป็นเครื่องมีอ ที่เก่า และ ช้า... ครับ..
ทำให้ ในกรณีของ Error Handshake ... อาจจะมีปัญหาเหมือนกัน...
ยิ่งตอนที่ มีข่าวออก... ครับ
นอกจากนั้น... การดึงข้อมูลจาก 28คู่สกุล จาก Broker ที่มี Volume มาก ๆ ... อาจจะหลุดได้ นะครับ...
ไม่รู้ว่า คนพัฒนา ได้คิดถึงจุดนี้หรือเปล่า...?
|
|
marot
New Member
Posts: 43
|
Post by marot on Jul 8, 2016 14:16:28 GMT 7
คาดว่า คงจะ Delay และ ดึง เฉพาะ ราคาปิด.. นะครับ...
|
|
|
Post by iamgotzaa on Jul 8, 2016 14:38:50 GMT 7
='MT4'|BID!AUDCAD ='MT4'|BID!AUDCHF ='MT4'|BID!AUDJPY ='MT4'|BID!AUDNZD ='MT4'|BID!AUDUSD ='MT4'|BID!CADCHF ='MT4'|BID!CADJPY ='MT4'|BID!CHFJPY ='MT4'|BID!EURAUD ='MT4'|BID!EURCAD ='MT4'|BID!EURCHF ='MT4'|BID!EURGBP ='MT4'|BID!EURJPY ='MT4'|BID!EURNZD ='MT4'|BID!EURUSD ='MT4'|BID!GBPAUD ='MT4'|BID!GBPCAD ='MT4'|BID!GBPCHF ='MT4'|BID!GBPJPY ='MT4'|BID!GBPNZD ='MT4'|BID!GBPUSD ='MT4'|BID!NZDCAD ='MT4'|BID!NZDCHF ='MT4'|BID!NZDJPY ='MT4'|BID!NZDUSD ='MT4'|BID!USDCAD ='MT4'|BID!USDCHF ='MT4'|BID!USDJPY
ทำมาฝากตอนนี้ผมลองเล่นอยู่ หนุกดีอ่ะ
|
|
|
Post by iamgotzaa on Jul 8, 2016 14:40:08 GMT 7
DDE ... เป็นเครื่องมีอ ที่เก่า และ ช้า... ครับ.. ทำให้ ในกรณีของ Error Handshake ... อาจจะมีปัญหาเหมือนกัน... ยิ่งตอนที่ มีข่าวออก... ครับ นอกจากนั้น... การดึงข้อมูลจาก 28คู่สกุล จาก Broker ที่มี Volume มาก ๆ ... อาจจะหลุดได้ นะครับ... ไม่รู้ว่า คนพัฒนา ได้คิดถึงจุดนี้หรือเปล่า...? เห็นด้วยครับ อ่อ ผมเห็น exness เค้ามี mt4 api ใช้ JSON 2.0 RCP ด้วยอ่ะครับ ทำไม่เป็น เขียนมาเท่าที่เห็น อยากทำเป็นอ่ะ ใช้ เป็ฯ javascript ชิมิครับ?
|
|
marot
New Member
Posts: 43
|
Post by marot on Jul 8, 2016 14:46:03 GMT 7
DDE ... เป็นเครื่องมีอ ที่เก่า และ ช้า... ครับ.. ทำให้ ในกรณีของ Error Handshake ... อาจจะมีปัญหาเหมือนกัน... ยิ่งตอนที่ มีข่าวออก... ครับ นอกจากนั้น... การดึงข้อมูลจาก 28คู่สกุล จาก Broker ที่มี Volume มาก ๆ ... อาจจะหลุดได้ นะครับ... ไม่รู้ว่า คนพัฒนา ได้คิดถึงจุดนี้หรือเปล่า...? เห็นด้วยครับ อ่อ ผมเห็น exness เค้ามี mt4 api ใช้ JSON 2.0 RCP ด้วยอ่ะครับ ทำไม่เป็น เขียนมาเท่าที่เห็น อยากทำเป็นอ่ะ ใช้ เป็ฯ javascript ชิมิครับ? เห็นเขียนบอกว่า ใช้กับ .NET ได้ด้วยนะครับ.. น่าจะใช้กับ ASP.NET A fast, open-source JSON-RPC 2.0 server. Supports sockets, pipes, and HTTP with ASP.NET. Requires Mono or .NET Framework 4.0.
|
|
|
Post by iamgotzaa on Jul 8, 2016 14:48:03 GMT 7
ทำไงต่อล่ะครับ ผม โน ไอเดีย
|
|
marot
New Member
Posts: 43
|
Post by marot on Jul 8, 2016 14:48:55 GMT 7
ความจริงแล้ว.. MT4 .. ใช้ Socket, Pipes ... ได้นะครับ.. แต่ต้องหา dll ... บางตัวช่วยนะครับ
|
|
marot
New Member
Posts: 43
|
Post by marot on Jul 8, 2016 14:50:52 GMT 7
ทำไงต่อล่ะครับ ผม โน ไอเดีย แต่จริง ๆ แล้ว.. ส่งออกไปข้างนอก ให้มีปัญหา เรื่อง การส่งข้อมูลทำไมครับ... แค่เขียนเป็น dll.. ก็ได้แล้ว... ง่ายกว่าเยอะครับ
|
|
|
Post by Xa Em on Jul 8, 2016 14:54:24 GMT 7
อิอิ ผมอาจมีตัวช่วย
|
|
|
Post by Xa Em on Jul 8, 2016 14:57:21 GMT 7
เขียนไม่เป็นครับ ผมอาจจะถนัด VBA เอาตัวนี้ก่อน แล้วค่อยไปต่อยอดก่อน
|
|
|
Post by iamgotzaa on Jul 8, 2016 15:22:57 GMT 7
ทำไงต่อล่ะครับ ผม โน ไอเดีย แต่จริง ๆ แล้ว.. ส่งออกไปข้างนอก ให้มีปัญหา เรื่อง การส่งข้อมูลทำไมครับ... แค่เขียนเป็น dll.. ก็ได้แล้ว... ง่ายกว่าเยอะครับ k.marot ช่วยหน่อยจิ
|
|
|
Post by iamgotzaa on Jul 8, 2016 15:33:04 GMT 7
มันคือค่าอะไรครับ?
|
|
marot
New Member
Posts: 43
|
Post by marot on Jul 8, 2016 16:43:07 GMT 7
แย่ที่ผม ไม่ได้ลง Excel ไว้ นะสิครับ... ลง MT4 ไว้อย่างเดียว.. เปิดบน OneDrive ก็ไม่ได้ครับ...
|
|
marot
New Member
Posts: 43
|
Post by marot on Jul 8, 2016 16:43:48 GMT 7
คงไม่ใช่ Swap นะครับ..
|
|
|
Post by Xa Em on Jul 8, 2016 17:01:11 GMT 7
|
|
|
Post by Xa Em on Jul 8, 2016 17:01:44 GMT 7
สนุกกว่าเดิมอีก
|
|
|
Post by iamgotzaa on Jul 8, 2016 20:14:54 GMT 7
ได้ของเล่นใหม่ล่ะครับ 555
|
|
|
Post by Xa Em on Jul 12, 2016 18:10:38 GMT 7
อยากจะให้ปิด ออเดอ ที่ ติดลบก่อน แล้วค่อยปิดออเดอที่บวก เมื่อได้กำไรตามที่กำหนด
void CloseAll() {
bool closed = false;
for (int i = OrdersTotal(); i >=0; i--) {
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
while(IsTradeContextBusy()) Sleep(100);
RefreshRates();
if (OrderType() == OP_BUY) {
//if(OrderProfit() >0) closed = OrderClose( OrderTicket(), OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(OrderSymbol(),MODE_DIGITS)), _SLIPPAGE, White);
if(OrderProfit() >0) closed = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),(int)_SLIPPAGE,CLR_NONE);
}
if (OrderType() == OP_SELL) {
//if(OrderProfit() >0) closed = OrderClose( OrderTicket(), OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(OrderSymbol(),MODE_DIGITS)), _SLIPPAGE, White);
if(OrderProfit() >0) closed = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),(int)_SLIPPAGE,CLR_NONE);
}
}
}
}
|
|
|
Post by iamgotzaa on Jul 13, 2016 10:09:51 GMT 7
แล้วมันจะต่างกับปิดทีเดียวทั้งหมดเหรอครับ แค่เริ่มจากที่ลบมากๆก่อน?
|
|
|
Post by Xa Em on Jul 13, 2016 10:41:04 GMT 7
มันปิดไม่หมดครับ เช่น ออเดอ1 = -1 ออเดอ2 = -2 ออเดอ3 = 1 ออเดอ4 = 2 ออเดอ5 = 3 ออเดอ6 = 1 ออเดอ7 = 2 profit _all =5 total_profit >= profit_all มันปิดออเดอที่ได้กำไร ส่วนออเดอที่ติดลบ ไม่ยอมปิด
|
|
|
Post by iamgotzaa on Jul 13, 2016 10:57:18 GMT 7
ตอนมันวนลูปปิด มันจะไล่จาก index ก่อนน่ะครับ ถ้าเริ่ม จาก index 0 จาก for (int i=0, i<OrdersTotal(), i++) แบบนี้มันก็ไล่จากออเดอร์เก่าสุดมาน่ะครับ
ไม่งั้นก็ต้อง list ticket number หรือ order number ออกมาเรียงกันก่อน เช่น ติดลบ 5 ออเดอร์ มี ticket # 112,113,120,160,230 จากนั้นก็ไล่ลบไปจบกว่าจะครบ ถึงจะชัวร์
เช่นเดียวกันครับ ใช้ state machine เข้ามาช่วย (ดันอีกแล้ว) ฮ่าๆๆ
ปล. ผมยังหาคอมมาแอบเล่นทีทำงานไม่ได้เลย T-T
|
|
|
Post by Xa Em on Jul 13, 2016 14:51:55 GMT 7
ผลเสียของการปิดออเดอไม่หมด
|
|
|
Post by iamgotzaa on Jul 14, 2016 7:49:22 GMT 7
หุหุ
เอาผลประกอบการมาให้ชมมั่งสิครับ
|
|
|
Post by Xa Em on Jul 14, 2016 8:13:47 GMT 7
ยังไม่ราบรื่นเท่าไรนะครับ กำลังพัฒนาไปเรื่อยๆ
|
|
|
Post by Xa Em on Jul 14, 2016 10:14:09 GMT 7
เช้านี้ได้มาอีก 5$ กว่า อิอิ
|
|