Partial Lots로 작동하도록 EA를 변경할 수 있습니까? 내 거래 플랫폼은 .1, .2, .3 등을 허용합니다. 이 EA 내의 X Pips에는 주문의 마감 부분이 있지만 작업을 위해서는 최소한 두 개의 로트를 거래해야합니다.
내가 수정할 수있는 것입니까?
// ----------------------------------------------- -------------------
//| luktom 시각적 인 순서 editor.mq4 |
//| 루크트톰 :: #ukasz Tomaszkiewicz |
//|
http://luktom.biz/|
// ----------------------------------------------- -------------------
#property copyright luktom :: #ukasz Tomaszkiewicz
#property link
http://luktom.biz/
#include lt; stderror.mqhgt;
#include lt; stdlib.mqhgt;
extern bool use_timer = true;
extern int default_sl_level = 10;
extern int default_tp_level = 500;
extern color sl_color = 빨강;
extern int sl_style = STYLE_DASH;
extern color tp_color = 아쿠아;
extern int tp_style = STYLE_DASH;
extern color be_color = 노란색;
extern int be_style = STYLE_DASH;
extern int be_offset = 1;
extern color cl_color = 보라색;
extern int cl_style = STYLE_DASH;
extern bool use_cp = false;
extern color cp_color = 파란색;
extern int cp_style = STYLE_DASH;
extern int cp_level = 0;
extern int cp_closedlevel = 0;
extern double cp_lots = 0;
extern color ol_sell_color = 오렌지색;
extern int ol_sell_style = STYLE_DASH;
extern color ol_buy_color = 청색;
extern int ol_buy_style = STYLE_DASH;
extern bool use_be = false;
extern int default_be_level = 10;
extern bool use_cl = false;
extern int default_cl_level = 0;
extern bool delete_on_deinit = true;
void init ()
if (use_timer)
시간제 노동자();
무효 타이머 ()
동안 (사실)
수면 (1000);
if (IsStopped ())
반환;
스타트();
void deinit ()
if (delete_on_deinit)
for (int I = 0; ilt; ObjectsTotal (); I )
문자열 이름 = ObjectName (I);
if (String Substr (name, 0,4) == love)
ObjectDelete (name);
void start () {
for (int I = 0; ilt; OrdersTotal (); I ) {
if (OrderSelect (I, SELECT_BY_POS)) {
if (OrderSymbol () == Symbol ()) {
int dgts = MarketInfo (OrderSymbol (), MODE_DIGITS);
if (ObjectFind (lvoe_ol_ OrderTicket ()) == - 1) else
if (OrderStopLoss () gt; 0 || default_sl_levelgt; 0)
if (ObjectFind (lvoe_sl_ OrderTicket ()) == - 1)
if (OrderStopLoss () == 0)
ObjectCreate (lvoe_sl_ OrderTicket (), OBJ_HLINE, 0, Time [0], OrderOpenPrice () - orderDir (OrderType ()) * default_sl_level * Point);
그밖에
ObjectCreate (lvoe_sl_ OrderTicket (), OBJ_HLINE, 0, Time [0], OrderStopLoss ());
ObjectSet (lvoe_sl_ OrderTicket (), OBJPROP_COLOR, sl_color);
ObjectSet (lvoe_sl_ OrderTicket (), OBJPROP_STYLE, sl_style);
ObjectSetText (lvoe_sl_ OrderTicket (), # OrderTicket () 중지 감소, 11);
그밖에
정렬 (lvoe_sl_ OrderTicket ());
if (NormalizeDouble (OrderStopLoss (), dgts)!) = NormalizeDouble (ObjectGet (lvoe_sl_ OrderTicket (), OBJPROP_PRICE1), dgts))
(! OrderModify (OrderTicket (), OrderOpenPrice (), ObjectGet (lvoe_sl_ OrderTicket (), OBJPROP_PRICE1), OrderTakeProfit (), OrderExpiration (), CLR_NONE)
//경고 (ErrorDescription (GetLastError ()));
지속;
그밖에
if (ObjectFind (lvoe_sl_ OrderTicket ())!) = -1)
ObjectDelete (lvoe_sl_ OrderTicket ());
if (OrderTakeProfit () gt; 0 || default_tp_level)
if (ObjectFind (lvoe_tp_ OrderTicket ()) == - 1)
if (OrderTakeProfit () == 0)
ObjectCreate (lvoe_tp_ OrderTicket (), OBJ_HLINE, 0, Time [0], OrderOpenPrice () orderDir (OrderType ()) * default_tp_level * Point);
그밖에
ObjectCreate (lvoe_tp_ OrderTicket (), OBJ_HLINE, 0, Time [0], OrderTakeProfit ());
ObjectSet (lvoe_tp_ OrderTicket (), OBJPROP_COLOR, tp_color);
ObjectSet (lvoe_tp_ OrderTicket (), OBJPROP_STYLE, tp_style);
그밖에
정렬 (lvoe_tp_ OrderTicket ());
if (NormalizeDouble (OrderTakeProfit (), 4)! = NormalizeDouble (ObjectGet (lvoe_tp_ OrderTicket (), OBJPROP_PRICE1), 4))
(! OrderModify (OrderTicket (), OrderOpenPrice (), OrderStopLoss (), ObjectGet (lvoe_tp_ OrderTicket (), OBJPROP_PRICE1), OrderExpiration (), CLR_NONE)
//경고 (ErrorDescription (GetLastError ()));
지속;
그밖에
if (ObjectFind (lvoe_tp_ OrderTicket ())!) = -1)
ObjectDelete (lvoe_tp_ OrderTicket ());
if (use_cp cp_levelgt; 0)
if (ObjectFind (lvoe_cp_ OrderTicket ()) == - 1)
if (OrderType () == OP_BUY else
if (OrderType () == OP_BUY)
if (MarketInfo (OrderSymbol (), MODE_BID) gt; ObjectGet (lvoe_cp_ OrderTicket (), OBJPROP_PRICE1))
if (OrderClose (OrderTicket (), cp_lots, MarketInfo (OrderSymbol (), MODE_BID), 0))
ObjectSet (lvoe_cp_ OrderTicket (), OBJPROP_PRICE1, MarketInfo (OrderSymbol (), MODE_BID) cp_closedlevel * MarketInfo (OrderSymbol (), MODE_POINT));
지속;
if (OrderType () == OP_SELL)
if (MarketInfo (OrderSymbol (), MODE_ASK) lt; ObjectGet (lvoe_cp_ OrderTicket (), OBJPROP_PRICE1))
if (OrderClose (OrderTicket (), cp_lots, MarketInfo (OrderSymbol (), MODE_ASK), 0))
ObjectSet (lvoe_cp_ OrderTicket (), OBJPROP_PRICE1, MarketInfo (OrderSymbol (), MODE_ASK) -cp_closedlevel * MarketInfo (OrderSymbol (), MODE_POINT));
지속;
if (use_be) {
if (ObjectFind (lvoe_be_ OrderTicket ()) == - 1) else {
if (OrderType () == OP_BUY) {
if (MarketInfo (OrderSymbol (), MODE_BID) gt; ObjectGet (lvoe_be_ OrderTicket (), OBJPROP_PRICE1)) {
ObjectSet (lvoe_sl_ OrderTicket (), OBJPROP_PRICE1, OrderOpenPrice () be_offset * MarketInfo (OrderSymbol (), MODE_POINT));
/*
if!! OrderModify (OrderTicket (), OrderOpenPrice (), OrderOpenPrice (), OrderTakeProfit (), OrderExpiration (), CLR_NONE))
//경고 (ErrorDescription (GetLastError ()));
*
지속;
}
}
if (OrderType () == OP_SELL)
if (MarketInfo (OrderSymbol (), MODE_ASK) lt; ObjectGet (lvoe_be_ OrderTicket (), OBJPROP_PRICE1))
ObjectSet (lvoe_sl_ OrderTicket (), OBJPROP_PRICE1, OrderOpenPrice () - be_offset * MarketInfo (OrderSymbol (), MODE_POINT));
/*
if!! OrderModify (OrderTicket (), OrderOpenPrice (), OrderOpenPrice (), OrderTakeProfit (), OrderExpiration (), CLR_NONE))
//경고 (ErrorDescription (GetLastError ()));
*
지속;
}
}
if (use_cl)
if (ObjectFind (lvoe_cl_ OrderTicket ()) == - 1)
if (OrderType ()!) = OP_BUY OrderType ()! = OP_SELL)
else OrderType () == OP_SELLSTOP)
if (MarketInfo (OrderSymbol (), MODE_ASK) gt; ObjectGet (lvoe_cl_ OrderTicket (), OBJPROP_PRICE1))
OrderDelete (OrderTicket ());
if (OrderType () == OP_BUY)
}
}
}
for (I = 0; ilt; OrdersHistoryTotal (); I )
if (OrderSelect (I, SELECT_BY_POS, MODE_HISTORY)))
if (ObjectFind (lvoe_ol_ OrderTicket ())!) = -1)
ObjectDelete (lvoe_ol_ OrderTicket ());
if (ObjectFind (lvoe_tp_ OrderTicket ())!) = -1)
ObjectDelete (lvoe_tp_ OrderTicket ());
if (ObjectFind (lvoe_sl_ OrderTicket ())!) = -1)
ObjectDelete (lvoe_sl_ OrderTicket ());
if (ObjectFind (lvoe_be_ OrderTicket ())!) = -1)
ObjectDelete (lvoe_be_ OrderTicket ());
if (ObjectFind (lvoe_cl_ OrderTicket ())!) = -1)
ObjectDelete (lvoe_cl_ OrderTicket ());
if (ObjectFind (lvoe_cp_ OrderTicket ())!) = -1)
ObjectDelete (lvoe_cp_ OrderTicket ());
}
void align (string name)
ObjectSet (제목, OBJPROP_PRICE1, NormalizeDouble (ObjectGet (제목, OBJPROP_PRICE1), 숫자));
int orderDir (int oType)