Open Forex4you Account

Server รัน EA 1000 / ปี

สั่งชื้อคู่มือการโปรแรกม MQL4

Author Topic: ขอความคิดเห็นหน่อยครับ  (Read 12277 times)

momoja

  • Newbie
  • *
  • Posts: 21
ขอความคิดเห็นหน่อยครับ
« on: พฤศจิกายน 17, 2013, 03:07:16 am »
#define __STRATEGY_MAGIC 1902502644

//Inputs

//Declaration
double _Moving_Avarage;
double _Moving_Avarage_2;
double _Moving_Avarage_3;
double _Moving_Avarage_4;
bool _Compare;
bool _Compare_2;
bool _Close_Position;
bool _Open_buy;
bool _Open_sell;
bool _Close_Position_2;
bool _Modify_Position;
bool _Modify_Position_2;
double _Order_Data;
double _Order_Data_2;
double _Order_Data_3;
double _Order_Data_4;
double _Ask;
double _Bid;

int start(){

   //Level 1
   _Moving_Avarage = iMA(Symbol(),0,26,0,0,0,0);
   _Moving_Avarage_2 = iMA(Symbol(),0,12,0,0,0,0);
   _Moving_Avarage_3 = iMA(Symbol(),0,12,0,0,0,0);
   _Moving_Avarage_4 = iMA(Symbol(),0,26,0,0,0,0);
   _Order_Data_2 = __Ticket(0);
   _Order_Data_3 = __TakeProfit(0);
   _Order_Data_4 = __StopLoss(0);
   _Ask = Ask;
   _Bid = Bid;

   //Level 2
   _Compare = _Moving_Avarage_2 > _Moving_Avarage;
   _Compare_2 = _Moving_Avarage_4 > _Moving_Avarage_3;
   if(false && !__isExist(_Ask))_Open_buy = OrderSend(Symbol(),0,0.1,MarketInfo(Symbol(),MODE_ASK),0,0,0,"",__STRATEGY_MAGIC + _Ask)>=0;
   _Order_Data = __Lots(_Order_Data_3);

   //Level 3
   if(_Compare)_Close_Position = OrderClose(__Ticket(_Ask),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID)+MarketInfo(OrderSymbol(),MODE_SPREAD)*MarketInfo(OrderSymbol(),MODE_POINT)*(OrderType()==1),0);
   if(false && !__isExist(_Bid))_Open_sell = OrderSend(Symbol(),0,0.1,MarketInfo(Symbol(),MODE_ASK),0,0,0,"",__STRATEGY_MAGIC + _Bid)>=0;
   if(_Compare_2)_Close_Position_2 = OrderClose(__Ticket(_Bid),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID)+MarketInfo(OrderSymbol(),MODE_SPREAD)*MarketInfo(OrderSymbol(),MODE_POINT)*(OrderType()==1),0);
   if(_Open_buy)_Modify_Position = OrderModify(__Ticket(0),0,OrderOpenPrice()+MarketInfo(OrderSymbol(),MODE_POINT)*0*(1-2*(OrderType()==0||OrderType()==2||OrderType()==4)),OrderOpenPrice()+MarketInfo(OrderSymbol(),MODE_POINT)*0*(1-2*(OrderType()==1||OrderType()==3||OrderType()==5)),0);

   //Level 4
   if(_Open_sell)_Modify_Position_2 = OrderModify(__Ticket(0),0,OrderOpenPrice()+MarketInfo(OrderSymbol(),MODE_POINT)*0*(1-2*(OrderType()==0||OrderType()==2||OrderType()==4)),OrderOpenPrice()+MarketInfo(OrderSymbol(),MODE_POINT)*0*(1-2*(OrderType()==1||OrderType()==3||OrderType()==5)),0);
   return(0);
}

//Services
bool __selectOrderByMagic(int __magic){for(int __i=0;__i<OrdersTotal();__i++){if(OrderSelect(__i,SELECT_BY_POS,MODE_TRADES)&&OrderMagicNumber()==__STRATEGY_MAGIC+__magic)return(true);}return(false);}
bool __isExist(int __magic){return(__selectOrderByMagic(__magic));}
int __Ticket(int __magic){if(!__selectOrderByMagic(__magic))return(0);return(OrderTicket());}
double __Lots(int __magic){if(!__selectOrderByMagic(__magic))return(0);return(OrderLots());}
double __TakeProfit(int __magic){if(!__selectOrderByMagic(__magic))return(0);return(OrderTakeProfit());}
double __StopLoss(int __magic){if(!__selectOrderByMagic(__magic))return(0);return(OrderStopLoss());}


ระบบก็ง่ายๆครับถ้าเส้นMoving Average ตัดกันก็เปิดออเดอร์
ทั้งหมดนี้ใช้โปรแกมเขียนครับ แต่ว่าก็สงใสว่า ทำใมมันไปเปิดออเดอร์เลยหว่า -*- จากนี้ครับ http://strategytune.com/app/

แล้วอีกระะบบที่ทำยังไงก็ไม่ได้สักที (เขียนเองไม่รอด555เลยใช้ appแทน) คือตั้ง Buy Sell limitทุกครังที่เปิดเท่งทียนใหม่ -+จากจุดเปิด20pip
เมื่องเท่งเทียนเปลียน Buy Sell limit ที่ค้างก็จะยกเลิก แล้วเปิด Buy Sell limit ในเท่าเทียนใหม่
อ้อ แล้วก็มี CloseTradesทั้งLossและProfit อ่ะครับ
คร้ายๆกับEA Profit V6 (EURUSD) PendingOrder ในลักษณะการออกออเดอร์ เพียงแต่ลบ Slออกแล้วเปลียน จาก
CloseTrades_After_Account_Lossเป็นCloseTrades_After_Account_Profit นะครับจะเห็นภาพได้ง่าย

ขอบคุณสำหรับทุกความคิดเห็นครับ
« Last Edit: พฤศจิกายน 17, 2013, 03:07:48 pm by momoja »

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: ขอความคิดเห็นหน่อยครับ
« Reply #1 on: พฤศจิกายน 17, 2013, 11:54:08 am »
อีเอน่าจะเสียครับ แอปมันเก่าไปไม่รองรับ 509 มั้ง

momoja

  • Newbie
  • *
  • Posts: 21
Re: ขอความคิดเห็นหน่อยครับ
« Reply #2 on: พฤศจิกายน 17, 2013, 01:54:38 pm »
เหอๆ ขอบคุณครับ T^T

momoja

  • Newbie
  • *
  • Posts: 21
Re: ขอความคิดเห็นหน่อยครับ
« Reply #3 on: พฤศจิกายน 18, 2013, 08:29:15 am »
แล้วถ้าหากผมอยากให้มันเปิดออเดอร์แบบนี้ EA Profit V6 (EURUSD) PendingOrder เพียงแต่เอา slกับ Tpออก แล้วเปลียน CloseTrades_After_Account_Lossเป็นCloseTrades_After_Account_Profit นะครับ

หรือไม่ก็เค่เปิดEA buy sell limit ที่จุดของราคาหรือราคาในตอนั้นๆห่าง30pip(อยากให้กำหนดเองได้) ไม่ต้องมี  slกับ Tp เมื่อเวลาเปิดออเดอร์ใหม่ก็จะลบbuy sell limitที่ค้างแล้วเปิดใหม่ วนแบบนี้เรือยๆครับ
แล้วก็มี  อยู่ด้วยกันจะได้สะดวกในเวลาทดสอบ

การตั้งค่าก็มีแค่ Lots.Setระยะช่วงของการวางออเดอร์. CloseTrades_Profit

พอมีใครเขียนให้ได้มั้ยครับEAลักษณะนี้นะครับหรือที่เคยเขียนไว้แล้ว ขอรบกวนด้วยครับ
« Last Edit: พฤศจิกายน 18, 2013, 08:51:33 am by momoja »

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
Re: ขอความคิดเห็นหน่อยครับ
« Reply #4 on: พฤศจิกายน 18, 2013, 12:07:04 pm »
อีเอที่แนบมาไม่มีซอสโค้ดไม่สามารถแก้ได้ครับ

momoja

  • Newbie
  • *
  • Posts: 21
Re: ขอความคิดเห็นหน่อยครับ
« Reply #5 on: พฤศจิกายน 18, 2013, 03:19:15 pm »
อ่าครับเสียดายเหมือนกัน