One-Click Trade Pro
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «one click trade pro mt4 source code@lifeindreamsworld.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
One-Click Trade Pro — это торговый советник для MetaTrader 4, предназначенный для открытия сделок с графика в один клик. Советник создаёт на графике управляющую панель с несколькими разделами: панель простого ордера, панель отложенных и противоположных ордеров, панель ордеров с линиями, список текущих ордеров и панель настроек. Взаимодействие выполняется через клики по элементам панели и перетаскивание ценовых линий.
Советник позволяет открывать рыночные ордера BUY и SELL, а также отложенные ордера BUY STOP, BUY LIMIT, SELL STOP и SELL LIMIT. Для ордеров можно задавать размер позиции, стоп-лосс и тейк-профит (в пунктах или по цене), магический номер и комментарий. Отдельный режим позволяет размещать пары отложенных ордеров на заданном расстоянии от стартовой цены.
В советнике предусмотрены расчёт рекомендуемого размера позиции на основе заданного процента риска и базы расчёта (баланс, средства или свободная маржа), просмотр списка текущих ордеров с постраничной навигацией, изменение стоп-лосса и тейк-профита существующих ордеров, а также закрытие и удаление ордеров. Дополнительно поддерживается создание скриншота графика при размещении ордера и вывод подтверждающего сообщения.
Советник работает на платформе MetaTrader 4 и использует стандартные торговые функции платформы. Настройки внешнего вида панели включают цвета, размер шрифта, размер панели и смещение по горизонтали и вертикали.
Настройки программы
| Настройка | Описание |
|---|---|
| Comment_1 | Разделительный заголовок группы настроек, связанной с торговлей в один клик. |
| IndicatorName | Префикс имени, используемый при создании объектов панели на графике. |
| Comment_2 | Разделительный заголовок группы настроек по умолчанию. |
| DefaultMarketPending | Тип ордера по умолчанию: рыночный или отложенный. |
| DefaultLotSize | Размер позиции в лотах, используемый по умолчанию при открытии ордера. |
| DefaultLotStep | Шаг изменения размера позиции при использовании кнопок увеличения и уменьшения лота. |
| MaxLotSize | Максимально допустимый размер позиции в лотах. |
| DefaultSLBy | Способ задания стоп-лосса по умолчанию: в пунктах или по цене. |
| DefaultSLPts | Значение стоп-лосса в пунктах, используемое по умолчанию. |
| DefaultTPPts | Значение тейк-профита в пунктах, используемое по умолчанию. |
| DefaultMagic | Магический номер, присваиваемый новым ордерам по умолчанию. |
| DefaultComment | Комментарий, который по умолчанию подставляется в новые ордера. |
| DefaultRiskPerc | Процент риска, используемый при расчёте рекомендуемого размера позиции. |
| DefaultRiskBase | База для расчёта рекомендуемого размера позиции: баланс, средства или свободная маржа. |
| DefaultTakeScrenshot | Включение создания скриншота графика при размещении ордера по умолчанию. |
| ScreenshotRes | Разрешение создаваемого скриншота графика. |
| DefaultOrdersPerPage | Количество ордеров, отображаемых на одной странице списка текущих ордеров. |
| Slippage | Допустимое проскальзывание в пунктах при выполнении торговых операций. |
| ShowMsg | Включение показа подтверждающего сообщения при размещении ордера. |
| UseRecommended | Автоматически подставлять рекомендуемый размер позиции, когда он доступен. |
| Comment_2a | Разделительный заголовок группы настроек для отложенных и противоположных ордеров. |
| DefaultPendingOppStartMode | Способ задания стартовой цены для отложенных ордеров: текущая цена или ручное значение. |
| DefaultPendingOrderSide | Направление отложенных ордеров по умолчанию: покупка, продажа или одновременно покупка и продажа. |
| DefaultPendingOrderType | Тип отложенного ордера по умолчанию: стоп или лимит. |
| DefaultPendingBuyPrice | Базовая цена (Ask или Bid), используемая по умолчанию для расчёта цены отложенного ордера на покупку. |
| DefaultPendingSellPrice | Базовая цена (Ask или Bid), используемая по умолчанию для расчёта цены отложенного ордера на продажу. |
| DefaultPendingOrderDistance | Расстояние в пунктах от стартовой цены для размещения отложенных ордеров по умолчанию. |
| Comment_2b | Разделительный заголовок группы настроек для ордеров с линиями. |
| DefaultOrderLineSide | Направление ордера по умолчанию для режима ордеров с линиями: покупка или продажа. |
| DefaultOrderLineType | Тип ордера по умолчанию для режима ордеров с линиями: рыночный, отложенный стоп или отложенный лимит. |
| LineOpenPriceColor | Цвет горизонтальной линии цены открытия ордера. |
| LineSLPriceColor | Цвет горизонтальной линии стоп-лосса. |
| LineTPPriceColor | Цвет горизонтальной линии тейк-профита. |
| LineStyle | Стиль отображения горизонтальных ценовых линий. |
| Comment_4 | Разделительный заголовок группы настроек цветов и расположения панели. |
| OpenBuyColor | Цвет, применяемый для элементов и ордеров на покупку. |
| OpenSellColor | Цвет, применяемый для элементов и ордеров на продажу. |
| Xoff | Горизонтальное смещение управляющей панели на графике. |
| Yoff | Вертикальное смещение управляющей панели на графике. |
| NOFontSize | Размер шрифта, используемый для текста на панели. |
| PanelSize | Размер управляющей панели: малый, большой или сверхширокий. |
Поиск по коду файла
#property version "1.06"
#property strict
#property description "This expert advisor allows you to open trades with just one click."
#property description "It provides the ability to specify a comment and magic number."
#property description "You can also view the list of orders with Magic number and change stop-loss and take-profit levels."
#property description " "
#property description "@LifeInDreamsWorld"
#property icon "\\Files\\EF-Icon-64x64px.ico"
#include <MQLTA ErrorHandling.mqh>
#include <MQLTA Utils.mqh>
enum ENUM_PANEL_SIZE
{
PANEL_SMALL = 1, // SMALL
PANEL_LARGE = 2, // LARGE
PANEL_ULTRA = 4, // ULTRA WIDE
};
enum SCRSHOT_RES
{
VGA = 0, // 640x480
SVGA = 1, // 800x600
XGA = 2, // 1024x768
SXGA = 3, // 1280x1024
WXGA = 4, // 1600x900
HD1080 = 5, // 1920x1080
CURRENT = 6, // CHART SIZE
};
enum DEF_MARKPEND
{
Market = 0, // MARKET ORDER
Pending = 1, // PENDING ORDER
};
enum DEF_SL
{
ByPts = 0, // BY POINTS
ByPrice = 1, // BY PRICE
};
enum DEF_PERCCALC
{
Balance = 0, // BALANCE
Equity = 1, // EQUITY
FreeMargin = 2, // FREE MARGIN
};
enum ENUM_PENDING_TYPE
{
PENDING_STOP = 0, // STOP ORDER
PENDING_LIMIT = 1, // LIMIT ORDER
};
enum ENUM_PENDING_SIDE
{
PENDING_BUY = 0, // PENDING BUY
PENDING_SELL = 1, // PENDING SELL
PENDING_BUYSELL = 2, // PENDING BUY AND SELL
};
enum ENUM_PRICE_FOR_PENDING
{
PRICE_ASK = 0, // ASK PRICE
PRICE_BID = 1, // BID PRICE
};
enum ENUM_PENDING_START_PRICE_MODE
{
PENDING_START_CURRENT = 0, // CURRENT PRICE
PENDING_START_MANUAL = 1, // MANUAL PRICE
};
enum ENUM_LINE_ORDER_SIDE
{
LINE_ORDER_BUY = 0, // BUY
LINE_ORDER_SELL = 1, // SELL
};
enum ENUM_LINE_ORDER_TYPE
{
LINE_ORDER_MARKET = 0, // MARKET ORDER
LINE_ORDER_STOP = 1, // PENDING STOP ORDER
LINE_ORDER_LIMIT = 2, // PENDING LIMIT ORDER
};
enum ENUM_LINE_TYPE
{
LINE_OPEN_PRICE = 0, // OPEN PRICE
LINE_SL_PRICE = 1, // STOP LOSS PRICE
LINE_TP_PRICE = 2, // TAKE PROFIT LINE
LINE_ALL = 3, // ALL LINES
};
input string Comment_1 = "===================="; // One-Click Trade
input string IndicatorName = "OCTP"; // Indicator Name (used to draw objects)
input string Comment_2 = "===================="; // Default Settings
input DEF_MARKPEND DefaultMarketPending = Market; // Default Type of Order
input double DefaultLotSize = 1; // Default Lot Size
input double DefaultLotStep = 1; // Default Increment/Decrement of size
input double MaxLotSize = 100; // Maximum Allowed Position Size
input DEF_SL DefaultSLBy = ByPts; // Default Stop Loss Type
input int DefaultSLPts = 0; // Default Stop Loss in Points
input int DefaultTPPts = 0; // Default Take Profit in Points
input int DefaultMagic = 0; // Default Magic Number
input string DefaultComment = ""; // Default Comment
input double DefaultRiskPerc = 2; // Default % of Risk
input DEF_PERCCALC DefaultRiskBase = Balance; // Default Risk Calculation Base
input bool DefaultTakeScrenshot = false; // Default Take Screenshot Option
input SCRSHOT_RES ScreenshotRes = CURRENT; // Default Screenshot Resolution
input int DefaultOrdersPerPage = 10; // Default Orders per page to show
input int Slippage = 10; // Slippage (in Points)
input bool ShowMsg = false; // Enable Order Confirmation Message
input bool UseRecommended = false; // Always Use Recommended Size When Available
input string Comment_2a = "===================="; // Additional Default For Pending Opposite
input ENUM_PENDING_START_PRICE_MODE DefaultPendingOppStartMode = PENDING_START_CURRENT; // Default Start Price
input ENUM_PENDING_SIDE DefaultPendingOrderSide = PENDING_BUYSELL; // Default Pending Order Side
input ENUM_PENDING_TYPE DefaultPendingOrderType = PENDING_STOP; // Default Pending Order Type
input ENUM_PRICE_FOR_PENDING DefaultPendingBuyPrice = PRICE_ASK; // Default Price Used For Buy Pending
input ENUM_PRICE_FOR_PENDING DefaultPendingSellPrice = PRICE_BID; // Default Price Used For Sell Pending
input int DefaultPendingOrderDistance = 500; // Default Pending Order Distance
input string Comment_2b = "===================="; // Additional Default For Lines Order
input ENUM_LINE_ORDER_SIDE DefaultOrderLineSide = LINE_ORDER_BUY; // Default Order Side
input ENUM_LINE_ORDER_TYPE DefaultOrderLineType = LINE_ORDER_MARKET; // Default Order Type
input color LineOpenPriceColor = clrGray; // Open Price Line Color
input color LineSLPriceColor = clrRed; // Stop Loss Price Line Color
input color LineTPPriceColor = clrGreen; // Take Profit Price Line Color
input ENUM_LINE_STYLE LineStyle = STYLE_DASH; // Line Style
input string Comment_4 = "===================="; // Colors and Position
input color OpenBuyColor = clrGreen; // Open Buy Order Color
input color OpenSellColor = clrRed; // Open Sell Order Color
extern int Xoff = 20; // Horizontal spacing for the control panel
extern int Yoff = 20; // Vertical spacing for the control panel
input int NOFontSize = 8; // Font Size
input ENUM_PANEL_SIZE PanelSize = PANEL_SMALL; // Panel Size
input bool ShowURL = true; // Show Website URL
int CurrMarketPending = Market;
int CurrSLPtsOrPrice = ByPts;
int CurrPendingOppType = PENDING_STOP;
int CurrPendingOppSide = PENDING_BUYSELL;
int CurrPendingOppDistance = DefaultPendingOrderDistance;
int CurrPendingOppBuyPrice = DefaultPendingBuyPrice;
int CurrPendingOppSellPrice = DefaultPendingSellPrice;
int CurrPendingOppStartMode = DefaultPendingOppStartMode;
int CurrLinesSide = DefaultOrderLineSide;
int CurrLinesType = DefaultOrderLineType;
double CurrLotSize = 0;
double CurrSLPrice = 0;
double CurrTPPrice = 0;
double CurrSLPts = 0;
double CurrTPPts = 0;
double CurrOpenPrice = 0;
int CurrMagic = 0;
string CurrComment = "";
bool NewOrderPanelOpen = false;
bool TakeScreenshot = false;
double LotSize = 0;
double LotStep = 0;
double RiskPerc = 0;
int RiskBase = Equity;
bool NewOrderPanelIsOpen = false;
bool NewPendingOppPanelIsOpen = false;
bool NewOrderLinesPanelIsOpen = false;
int TotalOrders = 0;
long Orders[][2];
int DetectedOrders = 0;
int OrdersPerPage = DefaultOrdersPerPage;
int CurrentPage = 0;
bool DetailsOpen = false;
bool EditOpen = false;
int DeinitializationReason = -1;
double DPIScale; // Scaling parameter for the panel based on the screen DPI.
int PanelMovX, PanelMovY, PanelLabX, PanelLabY, PanelRecX;
int NewOrderMonoX, NewOrderDoubleX, NewOrderTripleX, NewOrderLabelY;
int NewPendingOppMonoX, NewPendingOppDoubleX, NewPendingOppTripleX, NewPendingOppLabelY;
int NewOrderLinesMonoX, NewOrderLinesDoubleX, NewOrderLinesTripleX, NewOrderLinesLabelY;
int DetGLabelX, DetGLabelY, DetCmntLabelX, DetButtonX, DetButtonY;
int SetGLabelX, SetGLabelEX, SetGLabelY, SetButtonX;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
DeinitializationReason = reason; // Remember reason to avoid recreating the panel in the OnInit() if it is not deleted here.
if (DeinitializationReason != REASON_CHARTCHANGE) CleanChart();
}
void OnTick()
{
// код доступен только после оплаты
}
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
if (id == CHARTEVENT_OBJECT_CLICK)
{
if (sparam == PanelExp)
{
InitializeDefaults();
CloseSettings();
CloseNewOrder();
CloseDetails();
CloseNewOrderLines();
CloseNewPendingOpp();
DeleteNewOrderLine(LINE_ALL);
ExitEdit();
ShowNewOrder();
}
else if (sparam == PanelPend)
{
InitializeDefaults();
CloseSettings();
CloseNewOrder();
CloseDetails();
CloseNewOrderLines();
DeleteNewOrderLine(LINE_ALL);
ExitEdit();
ShowNewPendingOpp();
}
else if (sparam == PanelLines)
{
InitializeDefaults();
CloseSettings();
CloseNewOrder();
CloseDetails();
CloseNewPendingOpp();
DeleteNewOrderLine(LINE_ALL);
ExitEdit();
ShowNewOrderLines();
}
else if (sparam == PanelList)
{
CloseSettings();
CloseNewOrder();
CloseDetails();
CloseNewPendingOpp();
CloseNewOrderLines();
DeleteNewOrderLine(LINE_ALL);
ExitEdit();
ShowDetails();
}
else if (sparam == PanelOptions)
{
CloseSettings();
CloseNewOrder();
CloseDetails();
CloseNewOrderLines();
DeleteNewOrderLine(LINE_ALL);
CloseNewPendingOpp();
ExitEdit();
ShowSettings();
}
else if (sparam == NewOrderClose)
{
CloseNewOrder();
}
else if (sparam == NewPendingOppClose)
{
CloseNewPendingOpp();
}
else if (sparam == NewOrderLinesClose)
{
DeleteNewOrderLine(LINE_ALL);
CloseNewOrderLines();
}
else if (sparam == NewOrderMarketPending)
{
ChangeMarketPending();
}
else if (sparam == NewOrderSLType)
{
ChangeSLPtsPrice();
}
else if ((sparam == NewOrderLotMinus) || (sparam == NewPendingOppLotMinus) || (sparam == NewOrderLinesLotMinus))
{
DecrementSize();
}
else if ((sparam == NewOrderLotPlus) || (sparam == NewPendingOppLotPlus) || (sparam == NewOrderLinesLotPlus))
{
IncrementSize();
}
else if (sparam == NewOrderBuy)
{
ExecuteOrder(OP_BUY);
}
else if (sparam == NewOrderBuyLimit)
{
ExecuteOrder(OP_BUYLIMIT);
}
else if (sparam == NewOrderBuyStop)
{
ExecuteOrder(OP_BUYSTOP);
}
else if (sparam == NewOrderSell)
{
ExecuteOrder(OP_SELL);
}
else if (sparam == NewOrderSellLimit)
{
ExecuteOrder(OP_SELLLIMIT);
}
else if (sparam == NewOrderSellStop)
{
ExecuteOrder(OP_SELLSTOP);
}
else if ((sparam == NewOrderRecommendedSize) || (sparam == NewPendingOppRecommendedSize) || (sparam == NewOrderLinesRecommendedSize))
{
ChangeRecommendedSize();
}
else if (sparam == NewPendingOppPendingSide)
{
ChangePendingOppSide();
}
else if (sparam == NewPendingOppPendingType)
{
ChangePendingOppType();
}
else if (sparam == NewPendingOppPendingOpenPrice)
{
ChangePendingOppStartMode();
}
else if (sparam == NewPendingOppSubmit)
{
ExecutePendingOpp(CurrPendingOppSide);
}
else if (sparam == NewOrderLinesSide)
{
ChangeLinesOrderSide();
}
else if (sparam == NewOrderLinesOrderType)
{
ChangeLinesOrderType();
}
else if (sparam == NewOrderLinesSLPrice)
{
ClickNewOrderLinesSLPrice();
if (UseRecommended) ChangeRecommendedSize();
}
else if (sparam == NewOrderLinesTPPrice)
{
ClickNewOrderLinesTPPrice();
}
else if (sparam == NewOrderLinesSubmit)
{
ExecuteOrderLines();
}
else if (sparam == DetailsClose)
{
CloseDetails();
}
else if (sparam == DetailsNext)
{
if (CurrentPage < TotPages)
{
CloseDetails();
CurrentPage++;
ShowDetails(CurrentPage);
}
}
else if (sparam == DetailsPrev)
{
if (CurrentPage > 1)
{
CloseDetails();
CurrentPage--;
ShowDetails(CurrentPage);
}
}
else if (sparam == DetailsEdit)
{
ExitEdit();
CloseDetails();
CloseSettings();
if (TotalOrders > 0) ShowEdit();
}
else if (sparam == EditClose)
{
CloseOrder(EditIndexCurr);
}
else if (sparam == EditExit)
{
ExitEdit();
}
else if (sparam == EditNext)
{
if (EditIndexNext > -1) ShowEdit(EditIndexNext);
}
else if (sparam == EditPrev)
{
if (EditIndexPrev > -1) ShowEdit(EditIndexPrev);
}
else if (sparam == EditSave)
{
UpdateOrder(EditIndexCurr);
}
else if (sparam == SettingsClose)
{
CloseSettings();
}
else if (sparam == SettingsSave)
{
SaveSettingsChanges();
}
else if (sparam == SettingsTakeScreenshotE)
{
ChangeTakeScreenshot();
}
else if (sparam == SettingsRiskBaseE)
{
ChangeRiskBase();
}
}
else if (id == CHARTEVENT_OBJECT_ENDEDIT)
{
if ((sparam == NewOrderLotSize) || (sparam == NewPendingOppLotSize) || (sparam == NewOrderLinesLotSize))
{
ChangeSize();
}
else if ((sparam == NewOrderSLPriceE) || (sparam == NewOrderLinesSLPriceE))
{
ChangeSLPrice();
if (UseRecommended) ChangeRecommendedSize();
}
else if ((sparam == NewOrderTPPriceE) || (sparam == NewOrderLinesTPPriceE))
{
ChangeTPPrice();
}
else if ((sparam == NewOrderSLPtsE) || (sparam == NewPendingOppSLPtsE))
{
ChangeSLPts();
if (UseRecommended) ChangeRecommendedSize();
}
else if ((sparam == NewOrderTPPtsE) || (sparam == NewPendingOppTPPtsE))
{
ChangeTPPts();
}
else if ((sparam == NewOrderPendingOpenPriceE) || (sparam == NewPendingOppPendingOpenPriceE) || (sparam == NewOrderLinesPendingOpenPriceE))
{
ChangePendingOpenPrice();
if (UseRecommended) ChangeRecommendedSize();
}
else if ((sparam == NewOrderMagicE) || (sparam == NewPendingOppMagicE) || (sparam == NewOrderLinesMagicE))
{
ChangeMagic();
}
else if ((sparam == NewOrderCommentE) || (sparam == NewPendingOppCommentE) || (sparam == NewOrderLinesCommentE))
{
ChangeComment();
}
else if (sparam == NewPendingOppPendingDistanceE)
{
ChangePendingOppDistance();
}
else if (sparam == EditOrderSLI)
{
CurrSLPrice = (double)ObjectGetString(0, EditOrderSLI, OBJPROP_TEXT);
UpdateLineByPrice(LineNameSL);
if (UseRecommended) ChangeRecommendedSize();
}
else if (sparam == EditOrderTPI)
{
CurrTPPrice = (double)ObjectGetString(0, EditOrderTPI, OBJPROP_TEXT);
UpdateLineByPrice(LineNameTP);
}
}
else if (id == CHARTEVENT_OBJECT_DRAG)
{
if (sparam == LineNameOpen)
{
UpdatePriceByLine(LineNameOpen);
if (UseRecommended) ChangeRecommendedSize();
}
else if (sparam == LineNameSL)
{
UpdatePriceByLine(LineNameSL);
if (UseRecommended) ChangeRecommendedSize();
}
else if (sparam == LineNameTP)
{
UpdatePriceByLine(LineNameTP);
}
}
else if (id == CHARTEVENT_OBJECT_DELETE)
{
if ((sparam == LineNameOpen) || (sparam == LineNameSL) || (sparam == LineNameTP))
{
UpdateLinesDeleted(sparam);
}
}
else if (id == CHARTEVENT_CHART_CHANGE)
{
if (NewOrderLinesPanelIsOpen)
{
UpdateLinesLabels();
ShowNewOrderLines();
}
}
}
void InitializeDefaults()
{
CurrMarketPending = DefaultMarketPending;
CurrSLPtsOrPrice = DefaultSLBy;
CurrPendingOppType = PENDING_STOP;
CurrPendingOppSide = PENDING_BUYSELL;
CurrPendingOppDistance = DefaultPendingOrderDistance;
CurrPendingOppBuyPrice = DefaultPendingBuyPrice;
CurrPendingOppSellPrice = DefaultPendingSellPrice;
CurrPendingOppStartMode = DefaultPendingOppStartMode;
CurrLinesSide = DefaultOrderLineSide;
CurrLinesType = DefaultOrderLineType;
CurrLotSize = LotSize;
CurrSLPrice = 0;
CurrTPPrice = 0;
CurrSLPts = DefaultSLPts;
CurrTPPts = DefaultTPPts;
CurrOpenPrice = MarketInfo(Symbol(), MODE_ASK);
CurrMagic = DefaultMagic;
CurrComment = DefaultComment;
}
void InitializeSettings()
{
TakeScreenshot = DefaultTakeScrenshot;
LotSize = DefaultLotSize;
LotStep = DefaultLotStep;
RiskPerc = DefaultRiskPerc;
RiskBase = DefaultRiskBase;
OrdersPerPage = DefaultOrdersPerPage;
if ((LotSize >= MarketInfo(Symbol(), MODE_MINLOT)) && (LotSize <= MarketInfo(Symbol(), MODE_MAXLOT)))
{
LotSize = MathRound(LotSize / MarketInfo(Symbol(), MODE_LOTSTEP)) * MarketInfo(Symbol(), MODE_LOTSTEP);
}
else
{
Print("Lot Size must be between " + DoubleToString(MarketInfo(Symbol(), MODE_MINLOT), 2) + " and " + DoubleToString(MarketInfo(Symbol(), MODE_MAXLOT), 2));
LotSize = MarketInfo(Symbol(), MODE_MINLOT);
LotSize = MathRound(LotSize / MarketInfo(Symbol(), MODE_LOTSTEP)) * MarketInfo(Symbol(), MODE_LOTSTEP);
}
if ((LotStep >= MarketInfo(Symbol(), MODE_LOTSTEP)) && (LotStep <= MarketInfo(Symbol(), MODE_MAXLOT)))
{
LotStep = MathRound(LotStep / MarketInfo(Symbol(), MODE_LOTSTEP)) * MarketInfo(Symbol(), MODE_LOTSTEP);
}
else
{
Print("Lot Step must be between " + DoubleToString(MarketInfo(Symbol(), MODE_LOTSTEP), 2) + " and " + DoubleToString(MarketInfo(Symbol(), MODE_MAXLOT), 2));
LotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
LotStep = MathRound(LotStep / MarketInfo(Symbol(), MODE_LOTSTEP)) * MarketInfo(Symbol(), MODE_LOTSTEP);
}
}
void ScanOrders()
{
TotalOrders = 0;
for (int i = 0; i < OrdersTotal(); i++)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
TotalOrders++;
ArrayResize(Orders, TotalOrders);
Orders[TotalOrders - 1][0] = OrderOpenTime();
Orders[TotalOrders - 1][1] = OrderTicket();
}
}
DetectedOrders = ArraySize(Orders) / 2;
}
void ExecuteOrder(int Operation)
{
int LastError = 0;
double OpenPrice = 0;
double TPPrice = 0;
double SLPrice = 0;
int SLPts = 0;
int TPPts = 0;
int Magic = 0;
string Comm = "";
double PositionSize = 0;
double Points = MarketInfo(Symbol(), MODE_POINT);
double Spread = MarketInfo(Symbol(), MODE_SPREAD);
double StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL) * Points;
color Color = 0;
string CurrDate = TimeToStr(TimeCurrent(), TIME_DATE);
string CurrTime = TimeToStr(TimeCurrent(), TIME_SECONDS);
string OperationText = "";
string MessageBoxText = "";
switch(Operation)
{
case OP_BUY:
OperationText = "BUY";
break;
case OP_BUYSTOP:
OperationText = "BUY STOP";
break;
case OP_BUYLIMIT:
OperationText = "BUY LIMIT";
break;
case OP_SELL:
OperationText = "SELL";
break;
case OP_SELLLIMIT:
OperationText = "SELL LIMIT";
break;
case OP_SELLSTOP:
OperationText = "SELL STOP";
break;
}
if ((Operation == OP_BUY) || (Operation == OP_BUYLIMIT) || (Operation == OP_BUYSTOP)) Color = OpenBuyColor;
else if ((Operation == OP_SELL) || (Operation == OP_SELLLIMIT) || (Operation == OP_SELLSTOP)) Color = OpenSellColor;
if (CurrMarketPending == Pending)
{
OpenPrice = CurrOpenPrice;
}
else if (CurrMarketPending == Market)
{
if (Operation == OP_BUY) OpenPrice = MarketInfo(Symbol(), MODE_ASK);
if (Operation == OP_SELL) OpenPrice = MarketInfo(Symbol(), MODE_BID);
}
if (CurrSLPtsOrPrice == ByPrice)
{
SLPrice = CurrSLPrice;
TPPrice = CurrTPPrice;
}
else if (CurrSLPtsOrPrice == ByPts)
{
SLPts = (int)CurrSLPts;
TPPts = (int)CurrTPPts;
if ((Operation == OP_BUY) || (Operation == OP_BUYLIMIT) || (Operation == OP_BUYSTOP))
{
if (SLPts > 0) SLPrice = OpenPrice - SLPts * Points;
if (TPPts > 0) TPPrice = OpenPrice + TPPts * Points;
}
else if ((Operation == OP_SELL) || (Operation == OP_SELLLIMIT) || (Operation == OP_SELLSTOP))
{
if (SLPts > 0) SLPrice = OpenPrice + SLPts * Points;
if (TPPts > 0) TPPrice = OpenPrice - TPPts * Points;
}
}
Magic = CurrMagic;
Comm = CurrComment;
PositionSize = CurrLotSize;
if (CurrMarketPending == Market)
{
if (AccountFreeMarginCheck(Symbol(), Operation, PositionSize) <= 0)
{
MessageBox("Not enough money to order with this position size.");
return;
}
}
if ((Operation == OP_BUY) || (Operation == OP_BUYLIMIT) || (Operation == OP_BUYSTOP))
{
if ((SLPrice > 0) && (SLPrice >= OpenPrice - StopLevel))
{
MessageBox("Stop-loss must be below open price minus stop level.");
return;
}
if ((TPPrice > 0) && (TPPrice <= OpenPrice + StopLevel))
{
MessageBox("Take-profit must be above open price plus stop level.");
return;
}
}
else if ((Operation == OP_SELL) || (Operation == OP_SELLLIMIT) || (Operation == OP_SELLSTOP))
{
if ((SLPrice > 0) && (SLPrice <= OpenPrice + StopLevel))
{
MessageBox("Stop-loss must be above open price plus stop level.");
return;
}
if ((TPPrice > 0) && (TPPrice >= OpenPrice - StopLevel))
{
MessageBox("Take-profit must be below open price minus stop level.");
return;
}
}
if (Operation == OP_BUYSTOP)
{
if (OpenPrice <= Ask + StopLevel)
{
MessageBox("In BUY STOP, the open price must be higher than the ASK + Stop Level.");
return;
}
}
else if (Operation == OP_SELLLIMIT)
{
if (OpenPrice <= Bid + StopLevel)
{
MessageBox("In SELL LIMIT, the open price must be higher than the BID + Stop Level.");
return;
}
}
else if (Operation == OP_SELLSTOP)
{
if (OpenPrice >= Bid - StopLevel)
{
MessageBox("In SELL STOP, the open price must be lower than the BID - Stop Level.");
return;
}
}
else if (Operation == OP_BUYLIMIT)
{
if (OpenPrice >= Ask - StopLevel)
{
MessageBox("In BUY LIMIT, the open price must be lower than the ASK - Stop Level.");
return;
}
}
MessageBoxText += "Current Server Time : " + CurrDate + " " + CurrTime + "\n\n";
MessageBoxText += "ORDER SUCCESSFULLY SUBMITTED\n\n";
MessageBoxText += "Order : " + OperationText + "\n";
MessageBoxText += "Symbol : " + Symbol() + "\n";
MessageBoxText += "Position Size (Lots) : " + DoubleToStr(PositionSize, 2) + "\n";
MessageBoxText += "Open Price : " + DoubleToStr(OpenPrice, Digits) + "\n";
if (SLPrice > 0) MessageBoxText += "Stop Loss Price : " + DoubleToStr(SLPrice, Digits) + "\n";
if (SLPrice == 0) MessageBoxText += "Stop Loss : Not set\n";
if (TPPrice > 0) MessageBoxText += "Take Profit Price : " + DoubleToStr(TPPrice, Digits) + "\n";
if (TPPrice == 0) MessageBoxText += "Take Profit : Not set\n";
if (Magic > 0) MessageBoxText += "Magic Number : " + IntegerToString(Magic) + "\n";
if (Magic == 0) MessageBoxText += "Magic Number : Not set\n";
if (StringLen(Comm) > 0) MessageBoxText += "Comment : " + Comm + "\n";
if (StringLen(Comm) == 0) MessageBoxText += "Comment : Not set\n";
int res = 0;
res = OrderSend(Symbol(), Operation, PositionSize, OpenPrice, Slippage, SLPrice, TPPrice, Comm, Magic, 0, Color);
LastError = GetLastError();
if (res >= 0)
{
if (TakeScreenshot)
{
string Filename = Screenshot();
MessageBoxText += "Screenshot file : " + Filename;
}
if (ShowMsg)
{
MessageBox(MessageBoxText);
}
if (NewOrderLinesPanelIsOpen)
{
DeleteNewOrderLine(LINE_ALL);
InitializeDefaults();
ShowNewOrderLines();
}
}
else
{
MessageBox("Order failed - " + IntegerToString(LastError) + " - " + GetLastErrorText(LastError));
}
}
void ExecutePendingOpp(int Side)
{
CurrMarketPending = Pending;
if (CurrPendingOppDistance <= MarketInfo(Symbol(), MODE_STOPLEVEL))
{
MessageBox("The distance for pending orders must be greater than the stop-level for the instrument.", "ERROR");
return;
}
if (Side == PENDING_BUY)
{
if (CurrPendingOppType == PENDING_LIMIT)
{
if (CurrPendingOppStartMode == PENDING_START_CURRENT)
{
if (CurrPendingOppBuyPrice == PRICE_ASK)
{
RefreshRates();
CurrOpenPrice = Ask - CurrPendingOppDistance * Point;
ExecuteOrder(OP_BUYLIMIT);
}
else if (CurrPendingOppBuyPrice == PRICE_BID)
{
RefreshRates();
CurrOpenPrice = Bid - CurrPendingOppDistance * Point;
ExecuteOrder(OP_BUYLIMIT);
}
}
else if (CurrPendingOppStartMode == PENDING_START_MANUAL)
{
CurrOpenPrice = CurrOpenPrice - CurrPendingOppDistance * Point;
ExecuteOrder(OP_BUYLIMIT);
}
}
else if (CurrPendingOppType == PENDING_STOP)
{
if (CurrPendingOppStartMode == PENDING_START_CURRENT)
{
if (CurrPendingOppBuyPrice == PRICE_ASK)
{
RefreshRates();
CurrOpenPrice = Ask + CurrPendingOppDistance * Point;
ExecuteOrder(OP_BUYSTOP);
}
else if (CurrPendingOppBuyPrice == PRICE_BID)
{
RefreshRates();
CurrOpenPrice = Bid + CurrPendingOppDistance * Point;
ExecuteOrder(OP_BUYSTOP);
}
}
else if (CurrPendingOppStartMode == PENDING_START_MANUAL)
{
CurrOpenPrice = CurrOpenPrice + CurrPendingOppDistance * Point;
ExecuteOrder(OP_BUYSTOP);
}
}
}
else if (Side == PENDING_SELL)
{
if (CurrPendingOppType == PENDING_LIMIT)
{
if (CurrPendingOppStartMode == PENDING_START_CURRENT)
{
if (CurrPendingOppSellPrice == PRICE_ASK)
{
RefreshRates();
CurrOpenPrice = Ask + CurrPendingOppDistance * Point;
ExecuteOrder(OP_SELLLIMIT);
}
else if (CurrPendingOppSellPrice == PRICE_BID)
{
RefreshRates();
CurrOpenPrice = Bid + CurrPendingOppDistance * Point;
ExecuteOrder(OP_SELLLIMIT);
}
}
else if (CurrPendingOppStartMode == PENDING_START_MANUAL)
{
CurrOpenPrice = CurrOpenPrice + CurrPendingOppDistance * Point;
ExecuteOrder(OP_SELLLIMIT);
}
}
else if (CurrPendingOppType == PENDING_STOP)
{
if (CurrPendingOppStartMode == PENDING_START_CURRENT)
{
if (CurrPendingOppSellPrice == PRICE_ASK)
{
RefreshRates();
CurrOpenPrice = Ask - CurrPendingOppDistance * Point;
ExecuteOrder(OP_SELLSTOP);
}
else if (CurrPendingOppSellPrice == PRICE_BID)
{
RefreshRates();
CurrOpenPrice = Bid - CurrPendingOppDistance * Point;
ExecuteOrder(OP_SELLSTOP);
}
}
else if (CurrPendingOppStartMode == PENDING_START_MANUAL)
{
CurrOpenPrice = CurrOpenPrice - CurrPendingOppDistance * Point;
ExecuteOrder(OP_SELLSTOP);
}
}
}
if (Side == PENDING_BUYSELL)
{
ExecutePendingOpp(PENDING_BUY);
ExecutePendingOpp(PENDING_SELL);
}
}
void ExecuteOrderLines()
{
int Operation = 0;
if (CurrLinesSide == LINE_ORDER_BUY)
{
if (CurrLinesType == LINE_ORDER_MARKET) Operation = OP_BUY;
if (CurrLinesType == LINE_ORDER_LIMIT) Operation = OP_BUYLIMIT;
if (CurrLinesType == LINE_ORDER_STOP) Operation = OP_BUYSTOP;
}
else if (CurrLinesSide == LINE_ORDER_SELL)
{
if (CurrLinesType == LINE_ORDER_MARKET) Operation = OP_SELL;
if (CurrLinesType == LINE_ORDER_LIMIT) Operation = OP_SELLLIMIT;
if (CurrLinesType == LINE_ORDER_STOP) Operation = OP_SELLSTOP;
}
ExecuteOrder(Operation);
}
string Screenshot()
{
int X = 0;
int Y = 0;
int FirstBar = -1;
int Scale = -1;
int Mode = -1;
if (ScreenshotRes == VGA)
{
X = 640;
Y = 480;
}
else if (ScreenshotRes == SVGA)
{
X = 800;
Y = 600;
}
else if (ScreenshotRes == XGA)
{
X = 1024;
Y = 768;
}
else if (ScreenshotRes == SXGA)
{
X = 1280;
Y = 1024;
}
else if (ScreenshotRes == WXGA)
{
X = 1600;
Y = 900;
}
else if (ScreenshotRes == HD1080)
{
X = 1920;
Y = 1080;
}
else if (ScreenshotRes == CURRENT)
{
X = (int)ChartGetInteger(0, CHART_WIDTH_IN_PIXELS);
Y = (int)ChartGetInteger(0, CHART_HEIGHT_IN_PIXELS);
}
string CurrDate = TimeToStr(TimeCurrent(), TIME_DATE);
string CurrTime = TimeToStr(TimeCurrent(), TIME_SECONDS);
StringReplace(CurrDate, ".", "");
StringReplace(CurrTime, ":", "");
string Filename = Symbol() + "-" + CurrDate + "-" + CurrTime + ".png";
WindowScreenShot(Filename, X, Y, FirstBar, Scale, Mode);
return Filename;
}
void UpdatePanel()
{
ObjectSet(PanelBase, OBJPROP_XDISTANCE, Xoff);
ObjectSet(PanelBase, OBJPROP_YDISTANCE, Yoff);
ObjectSet(PanelExp, OBJPROP_XDISTANCE, Xoff + PanelLabX + 3);
ObjectSet(PanelExp, OBJPROP_YDISTANCE, Yoff + 2);
ObjectSet(PanelList, OBJPROP_XDISTANCE, Xoff + PanelLabX + (PanelMovX + 2) * 1 + 2);
ObjectSet(PanelList, OBJPROP_YDISTANCE, Yoff + 2);
ObjectSet(PanelOptions, OBJPROP_XDISTANCE, Xoff + (PanelMovX + 2) * 2 + PanelLabX + 1);
ObjectSet(PanelOptions, OBJPROP_YDISTANCE, Yoff + 2);
ObjectSet(PanelLabel, OBJPROP_XDISTANCE, Xoff + 2);
ObjectSet(PanelLabel, OBJPROP_YDISTANCE, Yoff + 2);
}
string PanelBase = IndicatorName + "-BAS";
string PanelMove = IndicatorName + "-MOV";
string PanelList = IndicatorName + "-LST";
string PanelOptions = IndicatorName + "-OPT";
string PanelClose = IndicatorName + "-CLO";
string PanelLabel = IndicatorName + "-LAB";
string PanelExp = IndicatorName + "-EXP";
string PanelPend = IndicatorName + "-PEND";
string PanelLines = IndicatorName + "-LINES";
void CreateMiniPanel()
{
ObjectCreate(0, PanelBase, OBJ_RECTANGLE_LABEL, 0, 0, 0);
ObjectSet(PanelBase, OBJPROP_XDISTANCE, Xoff);
ObjectSet(PanelBase, OBJPROP_YDISTANCE, Yoff);
ObjectSetInteger(0, PanelBase, OBJPROP_XSIZE, PanelRecX);
ObjectSetInteger(0, PanelBase, OBJPROP_YSIZE, PanelMovY + 2 * 2);
ObjectSetInteger(0, PanelBase, OBJPROP_BGCOLOR, clrWhite);
ObjectSetInteger(0, PanelBase, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, PanelBase, OBJPROP_STATE, false);
ObjectSetInteger(0, PanelBase, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, PanelBase, OBJPROP_FONTSIZE, NOFontSize);
ObjectSet(PanelBase, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, PanelBase, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, PanelExp, OBJ_EDIT, 0, 0, 0);
ObjectSet(PanelExp, OBJPROP_XDISTANCE, Xoff + PanelLabX + 3);
ObjectSet(PanelExp, OBJPROP_YDISTANCE, Yoff + 2);
ObjectSetInteger(0, PanelExp, OBJPROP_XSIZE, PanelMovX);
ObjectSetInteger(0, PanelExp, OBJPROP_YSIZE, PanelMovX);
ObjectSetInteger(0, PanelExp, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, PanelExp, OBJPROP_STATE, false);
ObjectSetInteger(0, PanelExp, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, PanelExp, OBJPROP_READONLY, true);
ObjectSetInteger(0, PanelExp, OBJPROP_FONTSIZE, NOFontSize + 2);
ObjectSetString(0, PanelExp, OBJPROP_TOOLTIP, "New Simple Order Panel");
ObjectSetInteger(0, PanelExp, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, PanelExp, OBJPROP_FONT, "Wingdings");
ObjectSetString(0, PanelExp, OBJPROP_TEXT, "!");
ObjectSet(PanelExp, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, PanelExp, OBJPROP_COLOR, clrNavy);
ObjectSetInteger(0, PanelExp, OBJPROP_BGCOLOR, clrKhaki);
ObjectSetInteger(0, PanelExp, OBJPROP_BORDER_COLOR, clrBlack);
ObjectCreate(0, PanelPend, OBJ_EDIT, 0, 0, 0);
ObjectSet(PanelPend, OBJPROP_XDISTANCE, Xoff + PanelLabX + (PanelMovX + 1) * 1 + 3);
ObjectSet(PanelPend, OBJPROP_YDISTANCE, Yoff + 2);
ObjectSetInteger(0, PanelPend, OBJPROP_XSIZE, PanelMovX);
ObjectSetInteger(0, PanelPend, OBJPROP_YSIZE, PanelMovX);
ObjectSetInteger(0, PanelPend, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, PanelPend, OBJPROP_STATE, false);
ObjectSetInteger(0, PanelPend, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, PanelPend, OBJPROP_READONLY, true);
ObjectSetInteger(0, PanelPend, OBJPROP_FONTSIZE, NOFontSize + 2);
ObjectSetString(0, PanelPend, OBJPROP_TOOLTIP, "New Opposite And Pending Order Panel");
ObjectSetInteger(0, PanelPend, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, PanelPend, OBJPROP_FONT, "Wingdings");
ObjectSetString(0, PanelPend, OBJPROP_TEXT, "ô");
ObjectSet(PanelPend, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, PanelPend, OBJPROP_COLOR, clrNavy);
ObjectSetInteger(0, PanelPend, OBJPROP_BGCOLOR, clrKhaki);
ObjectSetInteger(0, PanelPend, OBJPROP_BORDER_COLOR, clrBlack);
ObjectCreate(0, PanelLines, OBJ_EDIT, 0, 0, 0);
ObjectSet(PanelLines, OBJPROP_XDISTANCE, Xoff + PanelLabX + (PanelMovX + 1) * 2 + 3);
ObjectSet(PanelLines, OBJPROP_YDISTANCE, Yoff + 2);
ObjectSetInteger(0, PanelLines, OBJPROP_XSIZE, PanelMovX);
ObjectSetInteger(0, PanelLines, OBJPROP_YSIZE, PanelMovX);
ObjectSetInteger(0, PanelLines, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, PanelLines, OBJPROP_STATE, false);
ObjectSetInteger(0, PanelLines, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, PanelLines, OBJPROP_READONLY, true);
ObjectSetInteger(0, PanelLines, OBJPROP_FONTSIZE, NOFontSize + 2);
ObjectSetString(0, PanelLines, OBJPROP_TOOLTIP, "New Order Through Lines Panel");
ObjectSetInteger(0, PanelLines, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, PanelLines, OBJPROP_FONT, "Consolas");
ObjectSetString(0, PanelLines, OBJPROP_TEXT, "=");
ObjectSet(PanelLines, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, PanelLines, OBJPROP_COLOR, clrNavy);
ObjectSetInteger(0, PanelLines, OBJPROP_BGCOLOR, clrKhaki);
ObjectSetInteger(0, PanelLines, OBJPROP_BORDER_COLOR, clrBlack);
ObjectCreate(0, PanelList, OBJ_EDIT, 0, 0, 0);
ObjectSet(PanelList, OBJPROP_XDISTANCE, Xoff + PanelLabX + (PanelMovX + 1) * 3 + 3);
ObjectSet(PanelList, OBJPROP_YDISTANCE, Yoff + 2);
ObjectSetInteger(0, PanelList, OBJPROP_XSIZE, PanelMovX);
ObjectSetInteger(0, PanelList, OBJPROP_YSIZE, PanelMovX);
ObjectSetInteger(0, PanelList, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, PanelList, OBJPROP_STATE, false);
ObjectSetInteger(0, PanelList, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, PanelList, OBJPROP_READONLY, true);
ObjectSetInteger(0, PanelList, OBJPROP_FONTSIZE, NOFontSize + 2);
ObjectSetString(0, PanelList, OBJPROP_TOOLTIP, "Current Orders Panel");
ObjectSetInteger(0, PanelList, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, PanelList, OBJPROP_FONT, "Wingdings");
ObjectSetString(0, PanelList, OBJPROP_TEXT, "4");
ObjectSet(PanelList, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, PanelList, OBJPROP_COLOR, clrNavy);
ObjectSetInteger(0, PanelList, OBJPROP_BGCOLOR, clrKhaki);
ObjectSetInteger(0, PanelList, OBJPROP_BORDER_COLOR, clrBlack);
ObjectCreate(0, PanelOptions, OBJ_EDIT, 0, 0, 0);
ObjectSet(PanelOptions, OBJPROP_XDISTANCE, Xoff + PanelLabX + (PanelMovX + 1) * 4 + 3);
ObjectSet(PanelOptions, OBJPROP_YDISTANCE, Yoff + 2);
ObjectSetInteger(0, PanelOptions, OBJPROP_XSIZE, PanelMovX);
ObjectSetInteger(0, PanelOptions, OBJPROP_YSIZE, PanelMovX);
ObjectSetInteger(0, PanelOptions, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, PanelOptions, OBJPROP_STATE, false);
ObjectSetInteger(0, PanelOptions, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, PanelOptions, OBJPROP_READONLY, true);
ObjectSetInteger(0, PanelOptions, OBJPROP_FONTSIZE, NOFontSize + 2);
ObjectSetInteger(0, PanelOptions, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, PanelOptions, OBJPROP_FONT, "Wingdings");
ObjectSetString(0, PanelOptions, OBJPROP_TOOLTIP, "Options Panel");
ObjectSetString(0, PanelOptions, OBJPROP_TEXT, ":");
ObjectSet(PanelOptions, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, PanelOptions, OBJPROP_COLOR, clrNavy);
ObjectSetInteger(0, PanelOptions, OBJPROP_BGCOLOR, clrKhaki);
ObjectSetInteger(0, PanelOptions, OBJPROP_BORDER_COLOR, clrBlack);
ObjectCreate(0, PanelLabel, OBJ_EDIT, 0, 0, 0);
ObjectSet(PanelLabel, OBJPROP_XDISTANCE, Xoff + 2);
ObjectSet(PanelLabel, OBJPROP_YDISTANCE, Yoff + 2);
ObjectSetInteger(0, PanelLabel, OBJPROP_XSIZE, PanelLabX);
ObjectSetInteger(0, PanelLabel, OBJPROP_YSIZE, PanelLabY);
ObjectSetInteger(0, PanelLabel, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, PanelLabel, OBJPROP_STATE, false);
ObjectSetInteger(0, PanelLabel, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, PanelLabel, OBJPROP_READONLY, true);
ObjectSetInteger(0, PanelLabel, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, PanelLabel, OBJPROP_TOOLTIP, "One-Click Trade Pro EA");
ObjectSetString(0, PanelLabel, OBJPROP_TEXT, "ONE-CLICK TRADE PRO");
ObjectSetString(0, PanelLabel, OBJPROP_FONT, "Consolas");
ObjectSetInteger(0, PanelLabel, OBJPROP_FONTSIZE, NOFontSize + 2);
ObjectSet(PanelLabel, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, PanelLabel, OBJPROP_COLOR, clrNavy);
ObjectSetInteger(0, PanelLabel, OBJPROP_BGCOLOR, clrKhaki);
ObjectSetInteger(0, PanelLabel, OBJPROP_BORDER_COLOR, clrBlack);
}
string NewOrderBase = IndicatorName + "-NO-Base";
string NewOrderClose = IndicatorName + "-NO-Close";
string NewOrderMarketPending = IndicatorName + "-NO-MarketPending";
string NewOrderPositionSize = IndicatorName + "-NO-PosSize";
string NewOrderRecommendedSize = IndicatorName + "-NO-RecSize";
string NewOrderSpread = IndicatorName + "-NO-Spread";
string NewOrderBuy = IndicatorName + "-NO-Buy";
string NewOrderSell = IndicatorName + "-NO-Sell";
string NewOrderPendingOpenPrice = IndicatorName + "-NO-PendingOP";
string NewOrderPendingOpenPriceE = IndicatorName + "-NO-PendingOPE";
string NewOrderBuyLimit = IndicatorName + "-NO-BuyLimit";
string NewOrderSellLimit = IndicatorName + "-NO-SellLimit";
string NewOrderBuyStop = IndicatorName + "-NO-BuyStop";
string NewOrderSellStop = IndicatorName + "-NO-SellStop";
string NewOrderLotMinus = IndicatorName + "-NO-LotMinus";
string NewOrderLotSize = IndicatorName + "-NO-LotSize";
string NewOrderLotPlus = IndicatorName + "-NO-LotPlus";
string NewOrderSLType = IndicatorName + "-NO-SLType";
string NewOrderSLPts = IndicatorName + "-NO-SLPts";
string NewOrderSLPrice = IndicatorName + "-NO-SLPrice";
string NewOrderTPPts = IndicatorName + "-NO-TPPrs";
string NewOrderTPPrice = IndicatorName + "-NO-TPPrice";
string NewOrderSLPtsE = IndicatorName + "-NO-SLPtsE";
string NewOrderSLPriceE = IndicatorName + "-NO-SLPriceE";
string NewOrderTPPtsE = IndicatorName + "-NO-TPPtsE";
string NewOrderTPPriceE = IndicatorName + "-NO-TPPriceE";
string NewOrderMagic = IndicatorName + "-NO-Magic";
string NewOrderMagicE = IndicatorName + "-NO-MagicE";
string NewOrderComment = IndicatorName + "-NO-Comment";
string NewOrderCommentE = IndicatorName + "-NO-CommentE";
string NewOrderURL = IndicatorName + "-NO-URL";
string NOFont = "Consolas";
void ShowNewOrder()
{
NewOrderPanelIsOpen = true;
int NewOrderXoff = Xoff;
int NewOrderYoff = Yoff + PanelMovY + 2 * 4;
int NewOrderX = NewOrderMonoX + 2 + 2;
int NewOrderY = (NewOrderLabelY + 2) * 11 + 2;
string TextMarketPending = "";
string TextBuyButton = "";
string TextSellButton = "";
string TextSpread = "";
string TextLotSize = "";
string TextSLType = "";
string TextSLPts = "";
string TextTPPts = "";
string TextSLPrice = "";
string TextTPPrice = "";
string TextMagic = "";
string TextComment = "";
string TextSLPtsE = "";
string TextTPPtsE = "";
string TextSLPriceE = "";
string TextTPPriceE = "";
string TextPendingOpenPrice = "";
string TextPendingOpenPriceE = "";
string TextPositionSize = "";
string TextRecSize = "";
int j = 1;
TextSpread = "CURRENT SPREAD IS " + IntegerToString((int)MarketInfo(Symbol(), MODE_SPREAD)) + " POINTS";
TextSLPts = "SL in Points";
TextTPPts = "TP in Points";
TextSLPrice = "SL Price";
TextTPPrice = "TP Price";
TextPendingOpenPrice = "OPEN PRICE";
TextLotSize = DoubleToString(CurrLotSize, 2);
TextMagic = IntegerToString(CurrMagic);
TextComment = CurrComment;
TextSLPriceE = DoubleToString(CurrSLPrice, _Digits);
TextTPPriceE = DoubleToString(CurrTPPrice, _Digits);
TextSLPtsE = DoubleToString(CurrSLPts, 0);
TextTPPtsE = DoubleToString(CurrTPPts, 0);
TextPendingOpenPriceE = DoubleToString(CurrOpenPrice, _Digits);
if (CurrMarketPending == Market) TextMarketPending = "MARKET ORDER";
if (CurrMarketPending == Pending) TextMarketPending = "PENDING ORDER";
TextPositionSize = "POSITION SIZE (LOTS)";
if (RecommendedSize() > 0) TextRecSize = "RECOMMENDED SIZE (LOTS) : " + DoubleToStr(RecommendedSize(), 2);
else TextRecSize = "RECOMMENDED SIZE (LOTS) : N/A";
if (CurrSLPtsOrPrice == ByPts) TextSLType = "STOP LOSS BY POINTS";
if (CurrSLPtsOrPrice == ByPrice) TextSLType = "STOP LOSS BY PRICE";
ObjectCreate(0, NewOrderBase, OBJ_RECTANGLE_LABEL, 0, 0, 0);
ObjectSet(NewOrderBase, OBJPROP_XDISTANCE, NewOrderXoff);
ObjectSet(NewOrderBase, OBJPROP_YDISTANCE, NewOrderYoff);
ObjectSetInteger(0, NewOrderBase, OBJPROP_XSIZE, NewOrderX);
ObjectSetInteger(0, NewOrderBase, OBJPROP_YSIZE, NewOrderY);
ObjectSetInteger(0, NewOrderBase, OBJPROP_BGCOLOR, clrWhite);
ObjectSetInteger(0, NewOrderBase, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderBase, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderBase, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderBase, OBJPROP_FONTSIZE, NOFontSize);
ObjectSet(NewOrderBase, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderBase, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewOrderClose, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderClose, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderClose, OBJPROP_YDISTANCE, NewOrderYoff + 2);
ObjectSetInteger(0, NewOrderClose, OBJPROP_XSIZE, NewOrderMonoX);
ObjectSetInteger(0, NewOrderClose, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderClose, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderClose, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderClose, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderClose, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderClose, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderClose, OBJPROP_TOOLTIP, "Close Panel");
ObjectSetInteger(0, NewOrderClose, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderClose, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderClose, OBJPROP_TEXT, "X");
ObjectSet(NewOrderClose, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderClose, OBJPROP_COLOR, clrBlack);
ObjectSetInteger(0, NewOrderClose, OBJPROP_BGCOLOR, clrCrimson);
ObjectSetInteger(0, NewOrderClose, OBJPROP_BORDER_COLOR, clrBlack);
ObjectCreate(0, NewOrderSpread, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderSpread, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderSpread, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderSpread, OBJPROP_XSIZE, NewOrderMonoX);
ObjectSetInteger(0, NewOrderSpread, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderSpread, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderSpread, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderSpread, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderSpread, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderSpread, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderSpread, OBJPROP_TOOLTIP, "Current Spread");
ObjectSetInteger(0, NewOrderSpread, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderSpread, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderSpread, OBJPROP_TEXT, TextSpread);
ObjectSet(NewOrderSpread, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderSpread, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewOrderMarketPending, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderMarketPending, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderMarketPending, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderMarketPending, OBJPROP_XSIZE, NewOrderMonoX);
ObjectSetInteger(0, NewOrderMarketPending, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderMarketPending, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderMarketPending, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderMarketPending, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderMarketPending, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderMarketPending, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderMarketPending, OBJPROP_TOOLTIP, "Market or Pending Order? Click to change");
ObjectSetInteger(0, NewOrderMarketPending, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderMarketPending, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderMarketPending, OBJPROP_TEXT, TextMarketPending);
ObjectSet(NewOrderMarketPending, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderMarketPending, OBJPROP_COLOR, clrBlack);
ObjectSetInteger(0, NewOrderMarketPending, OBJPROP_BGCOLOR, clrPaleGreen);
ObjectSetInteger(0, NewOrderMarketPending, OBJPROP_BORDER_COLOR, clrBlack);
j++;
if (CurrMarketPending == 0)
{
ObjectCreate(0, NewOrderBuy, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderBuy, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderBuy, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderBuy, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderBuy, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderBuy, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderBuy, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderBuy, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderBuy, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderBuy, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderBuy, OBJPROP_TOOLTIP, "BUY");
ObjectSetInteger(0, NewOrderBuy, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderBuy, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderBuy, OBJPROP_TEXT, "BUY");
ObjectSet(NewOrderBuy, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderBuy, OBJPROP_COLOR, clrWhite);
ObjectSetInteger(0, NewOrderBuy, OBJPROP_BGCOLOR, clrBlue);
ObjectSetInteger(0, NewOrderBuy, OBJPROP_BORDER_COLOR, clrBlack);
ObjectCreate(0, NewOrderSell, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderSell, OBJPROP_XDISTANCE, NewOrderXoff + (NewOrderDoubleX + 2) + 2);
ObjectSet(NewOrderSell, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderSell, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderSell, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderSell, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderSell, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderSell, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderSell, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderSell, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderSell, OBJPROP_TOOLTIP, "SELL");
ObjectSetInteger(0, NewOrderSell, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderSell, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderSell, OBJPROP_TEXT, "SELL");
ObjectSet(NewOrderSell, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderSell, OBJPROP_COLOR, clrWhite);
ObjectSetInteger(0, NewOrderSell, OBJPROP_BGCOLOR, clrRed);
ObjectSetInteger(0, NewOrderSell, OBJPROP_BORDER_COLOR, clrBlack);
j++;
}
else if (CurrMarketPending == 1)
{
ObjectCreate(0, NewOrderBuyStop, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderBuyStop, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderBuyStop, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderBuyStop, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderBuyStop, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderBuyStop, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderBuyStop, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderBuyStop, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderBuyStop, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderBuyStop, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderBuyStop, OBJPROP_TOOLTIP, "BUY STOP");
ObjectSetInteger(0, NewOrderBuyStop, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderBuyStop, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderBuyStop, OBJPROP_TEXT, "BUY STOP");
ObjectSet(NewOrderBuyStop, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderBuyStop, OBJPROP_COLOR, clrWhite);
ObjectSetInteger(0, NewOrderBuyStop, OBJPROP_BGCOLOR, clrBlue);
ObjectSetInteger(0, NewOrderBuyStop, OBJPROP_BORDER_COLOR, clrBlack);
ObjectCreate(0, NewOrderSellStop, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderSellStop, OBJPROP_XDISTANCE, NewOrderXoff + (NewOrderDoubleX + 2) + 2);
ObjectSet(NewOrderSellStop, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderSellStop, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderSellStop, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderSellStop, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderSellStop, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderSellStop, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderSellStop, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderSellStop, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderSellStop, OBJPROP_TOOLTIP, "SELL STOP");
ObjectSetInteger(0, NewOrderSellStop, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderSellStop, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderSellStop, OBJPROP_TEXT, "SELL STOP");
ObjectSet(NewOrderSellStop, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderSellStop, OBJPROP_COLOR, clrWhite);
ObjectSetInteger(0, NewOrderSellStop, OBJPROP_BGCOLOR, clrRed);
ObjectSetInteger(0, NewOrderSellStop, OBJPROP_BORDER_COLOR, clrBlack);
j++;
ObjectCreate(0, NewOrderBuyLimit, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderBuyLimit, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderBuyLimit, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderBuyLimit, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderBuyLimit, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderBuyLimit, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderBuyLimit, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderBuyLimit, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderBuyLimit, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderBuyLimit, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderBuyLimit, OBJPROP_TOOLTIP, "BUY LIMIT");
ObjectSetInteger(0, NewOrderBuyLimit, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderBuyLimit, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderBuyLimit, OBJPROP_TEXT, "BUY LIMIT");
ObjectSet(NewOrderBuyLimit, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderBuyLimit, OBJPROP_COLOR, clrWhite);
ObjectSetInteger(0, NewOrderBuyLimit, OBJPROP_BGCOLOR, clrBlue);
ObjectSetInteger(0, NewOrderBuyLimit, OBJPROP_BORDER_COLOR, clrBlack);
ObjectCreate(0, NewOrderSellLimit, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderSellLimit, OBJPROP_XDISTANCE, NewOrderXoff + (NewOrderDoubleX + 2) + 2);
ObjectSet(NewOrderSellLimit, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderSellLimit, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderSellLimit, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderSellLimit, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderSellLimit, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderSellLimit, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderSellLimit, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderSellLimit, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderSellLimit, OBJPROP_TOOLTIP, "SELL LIMIT");
ObjectSetInteger(0, NewOrderSellLimit, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderSellLimit, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderSellLimit, OBJPROP_TEXT, "SELL LIMIT");
ObjectSet(NewOrderSellLimit, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderSellLimit, OBJPROP_COLOR, clrWhite);
ObjectSetInteger(0, NewOrderSellLimit, OBJPROP_BGCOLOR, clrRed);
ObjectSetInteger(0, NewOrderSellLimit, OBJPROP_BORDER_COLOR, clrBlack);
j++;
ObjectCreate(0, NewOrderPendingOpenPrice, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderPendingOpenPrice, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderPendingOpenPrice, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderPendingOpenPrice, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderPendingOpenPrice, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderPendingOpenPrice, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderPendingOpenPrice, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderPendingOpenPrice, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderPendingOpenPrice, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderPendingOpenPrice, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderPendingOpenPrice, OBJPROP_TOOLTIP, "Open Price");
ObjectSetInteger(0, NewOrderPendingOpenPrice, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderPendingOpenPrice, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderPendingOpenPrice, OBJPROP_TEXT, TextPendingOpenPrice);
ObjectSet(NewOrderPendingOpenPrice, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderPendingOpenPrice, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewOrderPendingOpenPriceE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderPendingOpenPriceE, OBJPROP_XDISTANCE, NewOrderXoff + (NewOrderDoubleX + 2) + 2);
ObjectSet(NewOrderPendingOpenPriceE, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderPendingOpenPriceE, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderPendingOpenPriceE, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderPendingOpenPriceE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderPendingOpenPriceE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderPendingOpenPriceE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderPendingOpenPriceE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewOrderPendingOpenPriceE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderPendingOpenPriceE, OBJPROP_TOOLTIP, "Open Price - Click to change");
ObjectSetInteger(0, NewOrderPendingOpenPriceE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderPendingOpenPriceE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderPendingOpenPriceE, OBJPROP_TEXT, TextPendingOpenPriceE);
ObjectSet(NewOrderPendingOpenPriceE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderPendingOpenPriceE, OBJPROP_COLOR, clrBlack);
j++;
}
ObjectCreate(0, NewOrderPositionSize, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderPositionSize, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderPositionSize, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderPositionSize, OBJPROP_XSIZE, NewOrderMonoX);
ObjectSetInteger(0, NewOrderPositionSize, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderPositionSize, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderPositionSize, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderPositionSize, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderPositionSize, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderPositionSize, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderPositionSize, OBJPROP_TOOLTIP, "Position Size Title");
ObjectSetInteger(0, NewOrderPositionSize, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderPositionSize, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderPositionSize, OBJPROP_TEXT, TextPositionSize);
ObjectSet(NewOrderPositionSize, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderPositionSize, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewOrderLotMinus, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderLotMinus, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderLotMinus, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderLotMinus, OBJPROP_XSIZE, NewOrderTripleX);
ObjectSetInteger(0, NewOrderLotMinus, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderLotMinus, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderLotMinus, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderLotMinus, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderLotMinus, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderLotMinus, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderLotMinus, OBJPROP_TOOLTIP, "Decrease Lot Size");
ObjectSetInteger(0, NewOrderLotMinus, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderLotMinus, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderLotMinus, OBJPROP_TEXT, "-");
ObjectSet(NewOrderLotMinus, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderLotMinus, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewOrderLotSize, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderLotSize, OBJPROP_XDISTANCE, NewOrderXoff + 2 + NewOrderTripleX + 2);
ObjectSet(NewOrderLotSize, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderLotSize, OBJPROP_XSIZE, NewOrderTripleX);
ObjectSetInteger(0, NewOrderLotSize, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderLotSize, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderLotSize, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderLotSize, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderLotSize, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewOrderLotSize, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderLotSize, OBJPROP_TOOLTIP, "Lot Size");
ObjectSetInteger(0, NewOrderLotSize, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderLotSize, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderLotSize, OBJPROP_TEXT, TextLotSize);
ObjectSet(NewOrderLotSize, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderLotSize, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewOrderLotPlus, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderLotPlus, OBJPROP_XDISTANCE, NewOrderXoff + 2 + (NewOrderTripleX + 2) * 2);
ObjectSet(NewOrderLotPlus, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderLotPlus, OBJPROP_XSIZE, NewOrderTripleX);
ObjectSetInteger(0, NewOrderLotPlus, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderLotPlus, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderLotPlus, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderLotPlus, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderLotPlus, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderLotPlus, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderLotPlus, OBJPROP_TOOLTIP, "Increase Lot Size");
ObjectSetInteger(0, NewOrderLotPlus, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderLotPlus, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderLotPlus, OBJPROP_TEXT, "+");
ObjectSet(NewOrderLotPlus, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderLotPlus, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewOrderRecommendedSize, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderRecommendedSize, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderRecommendedSize, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderRecommendedSize, OBJPROP_XSIZE, NewOrderMonoX);
ObjectSetInteger(0, NewOrderRecommendedSize, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderRecommendedSize, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderRecommendedSize, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderRecommendedSize, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderRecommendedSize, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderRecommendedSize, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderRecommendedSize, OBJPROP_TOOLTIP, "Recommended Position Size - Click to copy to Position Size");
ObjectSetInteger(0, NewOrderRecommendedSize, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderRecommendedSize, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderRecommendedSize, OBJPROP_TEXT, TextRecSize);
ObjectSet(NewOrderRecommendedSize, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderRecommendedSize, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewOrderSLType, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderSLType, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderSLType, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderSLType, OBJPROP_XSIZE, NewOrderMonoX);
ObjectSetInteger(0, NewOrderSLType, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderSLType, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderSLType, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderSLType, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderSLType, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderSLType, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderSLType, OBJPROP_TOOLTIP, "Stop Loss by Price or Points? Click to change");
ObjectSetInteger(0, NewOrderSLType, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderSLType, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderSLType, OBJPROP_TEXT, TextSLType);
ObjectSet(NewOrderSLType, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderSLType, OBJPROP_COLOR, clrBlack);
ObjectSetInteger(0, NewOrderSLType, OBJPROP_BGCOLOR, clrPaleGreen);
ObjectSetInteger(0, NewOrderSLType, OBJPROP_BORDER_COLOR, clrBlack);
j++;
if (CurrSLPtsOrPrice == 0)
{
ObjectCreate(0, NewOrderSLPts, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderSLPts, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderSLPts, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderSLPts, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderSLPts, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderSLPts, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderSLPts, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderSLPts, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderSLPts, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderSLPts, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderSLPts, OBJPROP_TOOLTIP, "Stop Loss in Points");
ObjectSetInteger(0, NewOrderSLPts, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderSLPts, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderSLPts, OBJPROP_TEXT, TextSLPts);
ObjectSet(NewOrderSLPts, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderSLPts, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewOrderSLPtsE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderSLPtsE, OBJPROP_XDISTANCE, NewOrderXoff + (NewOrderDoubleX + 2) + 2);
ObjectSet(NewOrderSLPtsE, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderSLPtsE, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderSLPtsE, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderSLPtsE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderSLPtsE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderSLPtsE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderSLPtsE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewOrderSLPtsE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderSLPtsE, OBJPROP_TOOLTIP, "Stop Loss in Points");
ObjectSetInteger(0, NewOrderSLPtsE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderSLPtsE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderSLPtsE, OBJPROP_TEXT, TextSLPtsE);
ObjectSet(NewOrderSLPtsE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderSLPtsE, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewOrderTPPts, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderTPPts, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderTPPts, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderTPPts, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderTPPts, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderTPPts, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderTPPts, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderTPPts, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderTPPts, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderTPPts, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderTPPts, OBJPROP_TOOLTIP, "Take Profit in Points");
ObjectSetInteger(0, NewOrderTPPts, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderTPPts, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderTPPts, OBJPROP_TEXT, TextTPPts);
ObjectSet(NewOrderTPPts, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderTPPts, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewOrderTPPtsE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderTPPtsE, OBJPROP_XDISTANCE, NewOrderXoff + (NewOrderDoubleX + 2) + 2);
ObjectSet(NewOrderTPPtsE, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderTPPtsE, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderTPPtsE, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderTPPtsE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderTPPtsE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderTPPtsE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderTPPtsE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewOrderTPPtsE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderTPPtsE, OBJPROP_TOOLTIP, "Take Profit in Points");
ObjectSetInteger(0, NewOrderTPPtsE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderTPPtsE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderTPPtsE, OBJPROP_TEXT, TextTPPtsE);
ObjectSet(NewOrderTPPtsE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderTPPtsE, OBJPROP_COLOR, clrBlack);
j++;
}
else if (CurrSLPtsOrPrice == 1)
{
ObjectCreate(0, NewOrderSLPrice, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderSLPrice, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderSLPrice, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderSLPrice, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderSLPrice, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderSLPrice, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderSLPrice, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderSLPrice, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderSLPrice, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderSLPrice, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderSLPrice, OBJPROP_TOOLTIP, "Stop Loss Price");
ObjectSetInteger(0, NewOrderSLPrice, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderSLPrice, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderSLPrice, OBJPROP_TEXT, TextSLPrice);
ObjectSet(NewOrderSLPrice, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderSLPrice, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewOrderSLPriceE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderSLPriceE, OBJPROP_XDISTANCE, NewOrderXoff + (NewOrderDoubleX + 2) + 2);
ObjectSet(NewOrderSLPriceE, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderSLPriceE, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderSLPriceE, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderSLPriceE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderSLPriceE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderSLPriceE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderSLPriceE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewOrderSLPriceE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderSLPriceE, OBJPROP_TOOLTIP, "Stop Loss Price");
ObjectSetInteger(0, NewOrderSLPriceE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderSLPriceE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderSLPriceE, OBJPROP_TEXT, TextSLPriceE);
ObjectSet(NewOrderSLPriceE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderSLPriceE, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewOrderTPPrice, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderTPPrice, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderTPPrice, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderTPPrice, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderTPPrice, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderTPPrice, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderTPPrice, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderTPPrice, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderTPPrice, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderTPPrice, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderTPPrice, OBJPROP_TOOLTIP, "Take Profit Price");
ObjectSetInteger(0, NewOrderTPPrice, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderTPPrice, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderTPPrice, OBJPROP_TEXT, TextTPPrice);
ObjectSet(NewOrderTPPrice, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderTPPrice, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewOrderTPPriceE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderTPPriceE, OBJPROP_XDISTANCE, NewOrderXoff + (NewOrderDoubleX + 2) + 2);
ObjectSet(NewOrderTPPriceE, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderTPPriceE, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderTPPriceE, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderTPPriceE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderTPPriceE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderTPPriceE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderTPPriceE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewOrderTPPriceE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderTPPriceE, OBJPROP_TOOLTIP, "Take Profit Price");
ObjectSetInteger(0, NewOrderTPPriceE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderTPPriceE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderTPPriceE, OBJPROP_TEXT, TextTPPriceE);
ObjectSet(NewOrderTPPriceE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderTPPriceE, OBJPROP_COLOR, clrBlack);
j++;
}
ObjectCreate(0, NewOrderMagic, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderMagic, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderMagic, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderMagic, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderMagic, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderMagic, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderMagic, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderMagic, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderMagic, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderMagic, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderMagic, OBJPROP_TOOLTIP, "Magic Number");
ObjectSetInteger(0, NewOrderMagic, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderMagic, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderMagic, OBJPROP_TEXT, "MAGIC #");
ObjectSet(NewOrderMagic, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderMagic, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewOrderMagicE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderMagicE, OBJPROP_XDISTANCE, NewOrderXoff + (NewOrderDoubleX + 2) + 2);
ObjectSet(NewOrderMagicE, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderMagicE, OBJPROP_XSIZE, NewOrderDoubleX);
ObjectSetInteger(0, NewOrderMagicE, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderMagicE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderMagicE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderMagicE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderMagicE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewOrderMagicE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderMagicE, OBJPROP_TOOLTIP, "Magic Number for the order - Click to change");
ObjectSetInteger(0, NewOrderMagicE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderMagicE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderMagicE, OBJPROP_TEXT, TextMagic);
ObjectSet(NewOrderMagicE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderMagicE, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewOrderComment, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderComment, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderComment, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderComment, OBJPROP_XSIZE, NewOrderMonoX);
ObjectSetInteger(0, NewOrderComment, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderComment, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderComment, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderComment, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderComment, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderComment, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderComment, OBJPROP_TOOLTIP, "Comment for the order");
ObjectSetInteger(0, NewOrderComment, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderComment, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderComment, OBJPROP_TEXT, "COMMENT");
ObjectSet(NewOrderComment, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderComment, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewOrderCommentE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderCommentE, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderCommentE, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderCommentE, OBJPROP_XSIZE, NewOrderMonoX);
ObjectSetInteger(0, NewOrderCommentE, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderCommentE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderCommentE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderCommentE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderCommentE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewOrderCommentE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderCommentE, OBJPROP_TOOLTIP, "Comment for the order - Click to change");
ObjectSetInteger(0, NewOrderCommentE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderCommentE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderCommentE, OBJPROP_TEXT, TextComment);
ObjectSet(NewOrderCommentE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderCommentE, OBJPROP_COLOR, clrBlack);
j++;
if (ShowURL)
{
ObjectCreate(0, NewOrderURL, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderURL, OBJPROP_XDISTANCE, NewOrderXoff + 2);
ObjectSet(NewOrderURL, OBJPROP_YDISTANCE, NewOrderYoff + 2 + (NewOrderLabelY + 1) * j);
ObjectSetInteger(0, NewOrderURL, OBJPROP_XSIZE, NewOrderMonoX);
ObjectSetInteger(0, NewOrderURL, OBJPROP_YSIZE, NewOrderLabelY);
ObjectSetInteger(0, NewOrderURL, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderURL, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderURL, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderURL, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderURL, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderURL, OBJPROP_TOOLTIP, "Visit Us");
ObjectSetInteger(0, NewOrderURL, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderURL, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderURL, OBJPROP_TEXT, "EarnForex.com");
ObjectSet(NewOrderURL, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderURL, OBJPROP_COLOR, clrNavy);
ObjectSetInteger(0, NewOrderURL, OBJPROP_BGCOLOR, clrKhaki);
ObjectSetInteger(0, NewOrderURL, OBJPROP_BORDER_COLOR, clrBlack);
j++;
}
NewOrderY = (NewOrderLabelY + 1) * j + 3;
ObjectSetInteger(0, NewOrderBase, OBJPROP_YSIZE, NewOrderY);
}
void ChangeMarketPending()
{
if (CurrMarketPending == Market)
{
CurrMarketPending = Pending;
CloseNewOrder();
ShowNewOrder();
return;
}
else if (CurrMarketPending == Pending)
{
CurrMarketPending = Market;
CloseNewOrder();
ShowNewOrder();
return;
}
}
void ChangeSLPtsPrice()
{
if (CurrSLPtsOrPrice == ByPrice)
{
CurrSLPtsOrPrice = ByPts;
CurrSLPrice = 0;
CurrTPPrice = 0;
CurrSLPts = 0;
CurrTPPts = 0;
CloseNewOrder();
ShowNewOrder();
return;
}
else if (CurrSLPtsOrPrice == ByPts)
{
CurrSLPtsOrPrice = ByPrice;
CurrSLPts = 0;
CurrTPPts = 0;
CurrSLPrice = 0;
CurrTPPrice = 0;
CloseNewOrder();
ShowNewOrder();
return;
}
}
void ChangeRecommendedSize()
{
double recommended_size = RecommendedSize();
if (recommended_size > 0)
{
string TextLotSize = DoubleToString(NormalizeDouble(recommended_size, 2), 2);
if (NewOrderPanelIsOpen) ObjectSetString(0, NewOrderLotSize, OBJPROP_TEXT, TextLotSize);
if (NewPendingOppPanelIsOpen) ObjectSetString(0, NewPendingOppLotSize, OBJPROP_TEXT, TextLotSize);
if (NewOrderLinesPanelIsOpen) ObjectSetString(0, NewOrderLinesLotSize, OBJPROP_TEXT, TextLotSize);
}
ChangeSize();
}
void IncrementSize()
{
CurrLotSize += LotStep;
if (CurrLotSize > MaxLotSize)
{
Print("The maximum allowed position size is " + DoubleToString(MaxLotSize, 2));
CurrLotSize = MaxLotSize;
}
CurrLotSize = MathRound(CurrLotSize / MarketInfo(Symbol(), MODE_LOTSTEP)) * MarketInfo(Symbol(), MODE_LOTSTEP);
if (CurrLotSize > MarketInfo(Symbol(), MODE_MAXLOT))
{
Print("The maximum position size is " + DoubleToString(MarketInfo(Symbol(), MODE_MAXLOT), 2));
CurrLotSize = MarketInfo(Symbol(), MODE_MAXLOT);
}
if (CurrLotSize < MarketInfo(Symbol(), MODE_MINLOT))
{
Print("The minimum position size is " + DoubleToString(MarketInfo(Symbol(), MODE_MINLOT), 2));
CurrLotSize = MarketInfo(Symbol(), MODE_MINLOT);
}
if (NewOrderPanelIsOpen) ShowNewOrder();
if (NewPendingOppPanelIsOpen) ShowNewPendingOpp();
if (NewOrderLinesPanelIsOpen) ShowNewOrderLines();
}
void DecrementSize()
{
CurrLotSize -= LotStep;
CurrLotSize = MathRound(CurrLotSize / MarketInfo(Symbol(), MODE_LOTSTEP)) * MarketInfo(Symbol(), MODE_LOTSTEP);
if (CurrLotSize > MarketInfo(Symbol(), MODE_MAXLOT))
{
Print("The maximum position size is " + DoubleToString(MarketInfo(Symbol(), MODE_MAXLOT), 2));
CurrLotSize = MarketInfo(Symbol(), MODE_MAXLOT);
}
if (CurrLotSize < MarketInfo(Symbol(), MODE_MINLOT))
{
Print("The minimum position size is " + DoubleToString(MarketInfo(Symbol(), MODE_MINLOT), 2));
CurrLotSize = MarketInfo(Symbol(), MODE_MINLOT);
}
if (NewOrderPanelIsOpen) ShowNewOrder();
if (NewPendingOppPanelIsOpen) ShowNewPendingOpp();
if (NewOrderLinesPanelIsOpen) ShowNewOrderLines();
}
void ChangeSize()
{
if (NewOrderPanelIsOpen) CurrLotSize = StringToDouble(ObjectGetString(0, NewOrderLotSize, OBJPROP_TEXT));
if (NewPendingOppPanelIsOpen) CurrLotSize = StringToDouble(ObjectGetString(0, NewPendingOppLotSize, OBJPROP_TEXT));
if (NewOrderLinesPanelIsOpen) CurrLotSize = StringToDouble(ObjectGetString(0, NewOrderLinesLotSize, OBJPROP_TEXT));
if (CurrLotSize > MaxLotSize)
{
Print("The maximum allowed position size is " + DoubleToString(MaxLotSize, 2));
CurrLotSize = MaxLotSize;
}
CurrLotSize = MathRound(CurrLotSize / MarketInfo(Symbol(), MODE_LOTSTEP)) * MarketInfo(Symbol(), MODE_LOTSTEP);
if (CurrLotSize > MarketInfo(Symbol(), MODE_MAXLOT))
{
Print("The maximum position size is " + DoubleToString(MarketInfo(Symbol(), MODE_MAXLOT), 2));
CurrLotSize = MarketInfo(Symbol(), MODE_MAXLOT);
}
if (CurrLotSize < MarketInfo(Symbol(), MODE_MINLOT))
{
Print("The minimum position size is " + DoubleToString(MarketInfo(Symbol(), MODE_MINLOT), 2));
CurrLotSize = MarketInfo(Symbol(), MODE_MINLOT);
}
if (NewOrderPanelIsOpen) ShowNewOrder();
if (NewPendingOppPanelIsOpen) ShowNewPendingOpp();
if (NewOrderLinesPanelIsOpen) ShowNewOrderLines();
}
void ChangePendingOpenPrice()
{
if (NewOrderPanelIsOpen)
{
CurrOpenPrice = StringToDouble(ObjectGetString(0, NewOrderPendingOpenPriceE, OBJPROP_TEXT));
ShowNewOrder();
}
if (NewPendingOppPanelIsOpen)
{
CurrOpenPrice = StringToDouble(ObjectGetString(0, NewPendingOppPendingOpenPriceE, OBJPROP_TEXT));
ShowNewPendingOpp();
}
if (NewOrderLinesPanelIsOpen)
{
CurrOpenPrice = StringToDouble(ObjectGetString(0, NewOrderLinesPendingOpenPriceE, OBJPROP_TEXT));
ShowNewOrderLines();
UpdateLineByPrice(LineNameOpen);
}
}
void ChangeSLPrice()
{
if (NewOrderPanelIsOpen)
{
CurrSLPrice = StringToDouble(ObjectGetString(0, NewOrderSLPriceE, OBJPROP_TEXT));
ShowNewOrder();
}
if (NewOrderLinesPanelIsOpen)
{
CurrSLPrice = StringToDouble(ObjectGetString(0, NewOrderLinesSLPriceE, OBJPROP_TEXT));
ShowNewOrderLines();
UpdateLineByPrice(LineNameSL);
}
}
void ChangeTPPrice()
{
if (NewOrderPanelIsOpen)
{
CurrTPPrice = StringToDouble(ObjectGetString(0, NewOrderTPPriceE, OBJPROP_TEXT));
ShowNewOrder();
}
if (NewOrderLinesPanelIsOpen)
{
CurrTPPrice = StringToDouble(ObjectGetString(0, NewOrderLinesTPPriceE, OBJPROP_TEXT));
ShowNewOrderLines();
UpdateLineByPrice(LineNameTP);
}
}
void ChangeTPPts()
{
if (NewOrderPanelIsOpen)
{
CurrTPPts = StringToDouble(ObjectGetString(0, NewOrderTPPtsE, OBJPROP_TEXT));
ShowNewOrder();
}
if (NewPendingOppPanelIsOpen)
{
CurrTPPts = StringToDouble(ObjectGetString(0, NewPendingOppTPPtsE, OBJPROP_TEXT));
ShowNewPendingOpp();
}
}
void ChangeSLPts()
{
if (NewOrderPanelIsOpen)
{
CurrSLPts = StringToDouble(ObjectGetString(0, NewOrderSLPtsE, OBJPROP_TEXT));
ShowNewOrder();
}
if (NewPendingOppPanelIsOpen)
{
CurrSLPts = StringToDouble(ObjectGetString(0, NewPendingOppSLPtsE, OBJPROP_TEXT));
ShowNewPendingOpp();
}
}
void ChangeMagic()
{
if (NewOrderPanelIsOpen)
{
CurrMagic = (int)StringToInteger(ObjectGetString(0, NewOrderMagicE, OBJPROP_TEXT));
ShowNewOrder();
}
if (NewPendingOppPanelIsOpen)
{
CurrMagic = (int)StringToInteger(ObjectGetString(0, NewPendingOppMagicE, OBJPROP_TEXT));
ShowNewPendingOpp();
}
if (NewOrderLinesPanelIsOpen)
{
CurrMagic = (int)StringToInteger(ObjectGetString(0, NewOrderLinesMagicE, OBJPROP_TEXT));
ShowNewOrderLines();
}
}
void ChangeComment()
{
if (NewOrderPanelIsOpen)
{
CurrComment = ObjectGetString(0, NewOrderCommentE, OBJPROP_TEXT);
ShowNewOrder();
}
if (NewPendingOppPanelIsOpen)
{
CurrComment = ObjectGetString(0, NewPendingOppCommentE, OBJPROP_TEXT);
ShowNewPendingOpp();
}
if (NewOrderLinesPanelIsOpen)
{
CurrComment = ObjectGetString(0, NewOrderLinesCommentE, OBJPROP_TEXT);
ShowNewOrderLines();
}
}
void CloseNewOrder()
{
ObjectsDeleteAll(0, IndicatorName + "-NO-");
NewOrderPanelIsOpen = false;
}
string NewPendingOppBase = IndicatorName + "-NPO-Base";
string NewPendingOppClose = IndicatorName + "-NPO-Close";
string NewPendingOppPendingOrder = IndicatorName + "-NPO-PendingOrder";
string NewPendingOppPositionSize = IndicatorName + "-NPO-PosSize";
string NewPendingOppRecommendedSize = IndicatorName + "-NPO-RecSize";
string NewPendingOppPendingOpenPrice = IndicatorName + "-NPO-PendingOP";
string NewPendingOppPendingOpenPriceE = IndicatorName + "-NPO-PendingOPE";
string NewPendingOppPendingDistance = IndicatorName + "-NPO-PedingDistanceOP";
string NewPendingOppPendingDistanceE = IndicatorName + "-NPO-PedingDistanceOPE";
string NewPendingOppPendingSide = IndicatorName + "-NPO-PendingSide";
string NewPendingOppPendingType = IndicatorName + "-NPO-PendingType";
string NewPendingOppLotMinus = IndicatorName + "-NPO-LotMinus";
string NewPendingOppLotSize = IndicatorName + "-NPO-LotSize";
string NewPendingOppLotPlus = IndicatorName + "-NPO-LotPlus";
string NewPendingOppSLPts = IndicatorName + "-NPO-SLPts";
string NewPendingOppTPPts = IndicatorName + "-NPO-TPPrs";
string NewPendingOppSLPtsE = IndicatorName + "-NPO-SLPtsE";
string NewPendingOppTPPtsE = IndicatorName + "-NPO-TPPtsE";
string NewPendingOppMagic = IndicatorName + "-NPO-Magic";
string NewPendingOppMagicE = IndicatorName + "-NPO-MagicE";
string NewPendingOppComment = IndicatorName + "-NPO-Comment";
string NewPendingOppCommentE = IndicatorName + "-NPO-CommentE";
string NewPendingOppSubmit = IndicatorName + "-NPO-Submit";
string NewPendingOppURL = IndicatorName + "-NPO-URL";
void ShowNewPendingOpp()
{
NewPendingOppPanelIsOpen = true;
int NewPendingOppXoff = Xoff;
int NewPendingOppYoff = Yoff + PanelMovY + 2 * 4;
int NewPendingOppX = NewPendingOppMonoX + 2 + 2;
int NewPendingOppY = (NewPendingOppLabelY + 2) * 11 + 2;
string TextPendingOrder = "";
string TextSide = "";
string TextType = "";
string TextBuyButton = "";
string TextSellButton = "";
string TextLotSize = "";
string TextSLType = "";
string TextSLPts = "";
string TextTPPts = "";
string TextMagic = "";
string TextComment = "";
string TextSLPtsE = "";
string TextTPPtsE = "";
string TextPendingOpenPrice = "";
string TextPendingOpenPriceE = "";
string TextPendingDistance = "";
string TextPendingDistanceE = "";
string TextPositionSize = "";
string TextRecSize = "";
int j = 1;
TextSLPts = "SL in Points";
TextTPPts = "TP in Points";
TextPendingOpenPrice = "START PRICE";
TextLotSize = DoubleToString(CurrLotSize, 2);
TextMagic = DoubleToString(CurrMagic, 2);
TextComment = CurrComment;
TextSLPtsE = DoubleToString(CurrSLPts, 0);
TextTPPtsE = DoubleToString(CurrTPPts, 0);
TextPendingOpenPriceE = DoubleToString(CurrOpenPrice, _Digits);
TextPendingOrder = "PENDING ORDER BY DISTANCE";
TextPendingDistance = "DISTANCE";
TextPendingDistanceE = IntegerToString(CurrPendingOppDistance);
if (CurrPendingOppSide == PENDING_BUY) TextSide = "BUY";
if (CurrPendingOppSide == PENDING_BUYSELL) TextSide = "BUY/SELL";
if (CurrPendingOppSide == PENDING_SELL) TextSide = "SELL";
if (CurrPendingOppType == PENDING_LIMIT) TextType = "LIMIT";
if (CurrPendingOppType == PENDING_STOP) TextType = "STOP";
TextPositionSize = "POSITION SIZE (LOTS)";
if (RecommendedSize() > 0) TextRecSize = "RECOMMENDED SIZE (LOTS) : " + DoubleToStr(RecommendedSize(), 2);
else TextRecSize = "RECOMMENDED SIZE (LOTS) : N/A";
ObjectCreate(0, NewPendingOppBase, OBJ_RECTANGLE_LABEL, 0, 0, 0);
ObjectSet(NewPendingOppBase, OBJPROP_XDISTANCE, NewPendingOppXoff);
ObjectSet(NewPendingOppBase, OBJPROP_YDISTANCE, NewPendingOppYoff);
ObjectSetInteger(0, NewPendingOppBase, OBJPROP_XSIZE, NewPendingOppX);
ObjectSetInteger(0, NewPendingOppBase, OBJPROP_YSIZE, NewPendingOppY);
ObjectSetInteger(0, NewPendingOppBase, OBJPROP_BGCOLOR, clrWhite);
ObjectSetInteger(0, NewPendingOppBase, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppBase, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppBase, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppBase, OBJPROP_FONTSIZE, NOFontSize);
ObjectSet(NewPendingOppBase, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppBase, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewPendingOppClose, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppClose, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppClose, OBJPROP_YDISTANCE, NewPendingOppYoff + 2);
ObjectSetInteger(0, NewPendingOppClose, OBJPROP_XSIZE, NewPendingOppMonoX);
ObjectSetInteger(0, NewPendingOppClose, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppClose, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppClose, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppClose, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppClose, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppClose, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppClose, OBJPROP_TOOLTIP, "Close Panel");
ObjectSetInteger(0, NewPendingOppClose, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppClose, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppClose, OBJPROP_TEXT, "X");
ObjectSet(NewPendingOppClose, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppClose, OBJPROP_COLOR, clrBlack);
ObjectSetInteger(0, NewPendingOppClose, OBJPROP_BGCOLOR, clrCrimson);
ObjectSetInteger(0, NewPendingOppClose, OBJPROP_BORDER_COLOR, clrBlack);
ObjectCreate(0, NewPendingOppPendingOrder, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppPendingOrder, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppPendingOrder, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppPendingOrder, OBJPROP_XSIZE, NewPendingOppMonoX);
ObjectSetInteger(0, NewPendingOppPendingOrder, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppPendingOrder, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppPendingOrder, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppPendingOrder, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppPendingOrder, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppPendingOrder, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppPendingOrder, OBJPROP_TOOLTIP, "Pending Orders And Opposite Orders By Distance From A Start Price");
ObjectSetInteger(0, NewPendingOppPendingOrder, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppPendingOrder, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppPendingOrder, OBJPROP_TEXT, TextPendingOrder);
ObjectSet(NewPendingOppPendingOrder, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppPendingOrder, OBJPROP_COLOR, clrBlack);
ObjectSetInteger(0, NewPendingOppPendingOrder, OBJPROP_BGCOLOR, clrPaleGreen);
ObjectSetInteger(0, NewPendingOppPendingOrder, OBJPROP_BORDER_COLOR, clrBlack);
j++;
ObjectCreate(0, NewPendingOppPendingSide, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppPendingSide, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppPendingSide, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppPendingSide, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppPendingSide, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppPendingSide, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppPendingSide, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppPendingSide, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppPendingSide, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppPendingSide, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppPendingSide, OBJPROP_TOOLTIP, "Click To Change");
ObjectSetInteger(0, NewPendingOppPendingSide, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppPendingSide, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppPendingSide, OBJPROP_TEXT, TextSide);
ObjectSet(NewPendingOppPendingSide, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppPendingSide, OBJPROP_COLOR, clrWhite);
ObjectSetInteger(0, NewPendingOppPendingSide, OBJPROP_BGCOLOR, clrBlue);
ObjectSetInteger(0, NewPendingOppPendingSide, OBJPROP_BORDER_COLOR, clrBlack);
ObjectCreate(0, NewPendingOppPendingType, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppPendingType, OBJPROP_XDISTANCE, NewPendingOppXoff + (NewPendingOppDoubleX + 2) + 2);
ObjectSet(NewPendingOppPendingType, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppPendingType, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppPendingType, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppPendingType, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppPendingType, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppPendingType, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppPendingType, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppPendingType, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppPendingType, OBJPROP_TOOLTIP, "Click To Change");
ObjectSetInteger(0, NewPendingOppPendingType, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppPendingType, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppPendingType, OBJPROP_TEXT, TextType);
ObjectSet(NewPendingOppPendingType, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppPendingType, OBJPROP_COLOR, clrWhite);
ObjectSetInteger(0, NewPendingOppPendingType, OBJPROP_BGCOLOR, clrRed);
ObjectSetInteger(0, NewPendingOppPendingType, OBJPROP_BORDER_COLOR, clrBlack);
j++;
if (CurrPendingOppStartMode == PENDING_START_CURRENT)
{
ObjectCreate(0, NewPendingOppPendingOpenPrice, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppPendingOpenPrice, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppPendingOpenPrice, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppPendingOpenPrice, OBJPROP_TOOLTIP, "Start Price - Click To Change");
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppPendingOpenPrice, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppPendingOpenPrice, OBJPROP_TEXT, TextPendingOpenPrice);
ObjectSet(NewPendingOppPendingOpenPrice, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewPendingOppPendingOpenPriceE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppPendingOpenPriceE, OBJPROP_XDISTANCE, NewPendingOppXoff + (NewPendingOppDoubleX + 2) + 2);
ObjectSet(NewPendingOppPendingOpenPriceE, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppPendingOpenPriceE, OBJPROP_TOOLTIP, "Start Price Is Current Price");
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppPendingOpenPriceE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppPendingOpenPriceE, OBJPROP_TEXT, "CURRENT");
ObjectSet(NewPendingOppPendingOpenPriceE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_COLOR, clrBlack);
j++;
}
else if (CurrPendingOppStartMode == PENDING_START_MANUAL)
{
ObjectCreate(0, NewPendingOppPendingOpenPrice, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppPendingOpenPrice, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppPendingOpenPrice, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppPendingOpenPrice, OBJPROP_TOOLTIP, "Start Price - Click To Change");
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppPendingOpenPrice, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppPendingOpenPrice, OBJPROP_TEXT, TextPendingOpenPrice);
ObjectSet(NewPendingOppPendingOpenPrice, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppPendingOpenPrice, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewPendingOppPendingOpenPriceE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppPendingOpenPriceE, OBJPROP_XDISTANCE, NewPendingOppXoff + (NewPendingOppDoubleX + 2) + 2);
ObjectSet(NewPendingOppPendingOpenPriceE, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppPendingOpenPriceE, OBJPROP_TOOLTIP, "Start Price");
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppPendingOpenPriceE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppPendingOpenPriceE, OBJPROP_TEXT, TextPendingOpenPriceE);
ObjectSet(NewPendingOppPendingOpenPriceE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppPendingOpenPriceE, OBJPROP_COLOR, clrBlack);
j++;
}
ObjectCreate(0, NewPendingOppPendingDistance, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppPendingDistance, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppPendingDistance, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppPendingDistance, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppPendingDistance, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppPendingDistance, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppPendingDistance, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppPendingDistance, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppPendingDistance, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppPendingDistance, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppPendingDistance, OBJPROP_TOOLTIP, "Distance From Start Price In Points");
ObjectSetInteger(0, NewPendingOppPendingDistance, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppPendingDistance, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppPendingDistance, OBJPROP_TEXT, TextPendingDistance);
ObjectSet(NewPendingOppPendingDistance, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppPendingDistance, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewPendingOppPendingDistanceE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppPendingDistanceE, OBJPROP_XDISTANCE, NewPendingOppXoff + (NewPendingOppDoubleX + 2) + 2);
ObjectSet(NewPendingOppPendingDistanceE, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppPendingDistanceE, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppPendingDistanceE, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppPendingDistanceE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppPendingDistanceE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppPendingDistanceE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppPendingDistanceE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewPendingOppPendingDistanceE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppPendingDistanceE, OBJPROP_TOOLTIP, "Distance From Start Price");
ObjectSetInteger(0, NewPendingOppPendingDistanceE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppPendingDistanceE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppPendingDistanceE, OBJPROP_TEXT, TextPendingDistanceE);
ObjectSet(NewPendingOppPendingDistanceE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppPendingDistanceE, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewPendingOppPositionSize, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppPositionSize, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppPositionSize, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppPositionSize, OBJPROP_XSIZE, NewPendingOppMonoX);
ObjectSetInteger(0, NewPendingOppPositionSize, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppPositionSize, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppPositionSize, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppPositionSize, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppPositionSize, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppPositionSize, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppPositionSize, OBJPROP_TOOLTIP, "Position Size Title");
ObjectSetInteger(0, NewPendingOppPositionSize, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppPositionSize, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppPositionSize, OBJPROP_TEXT, TextPositionSize);
ObjectSet(NewPendingOppPositionSize, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppPositionSize, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewPendingOppLotMinus, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppLotMinus, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppLotMinus, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppLotMinus, OBJPROP_XSIZE, NewPendingOppTripleX);
ObjectSetInteger(0, NewPendingOppLotMinus, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppLotMinus, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppLotMinus, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppLotMinus, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppLotMinus, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppLotMinus, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppLotMinus, OBJPROP_TOOLTIP, "Decrease Lot Size");
ObjectSetInteger(0, NewPendingOppLotMinus, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppLotMinus, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppLotMinus, OBJPROP_TEXT, "-");
ObjectSet(NewPendingOppLotMinus, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppLotMinus, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewPendingOppLotSize, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppLotSize, OBJPROP_XDISTANCE, NewPendingOppXoff + 2 + NewPendingOppTripleX + 2);
ObjectSet(NewPendingOppLotSize, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppLotSize, OBJPROP_XSIZE, NewPendingOppTripleX);
ObjectSetInteger(0, NewPendingOppLotSize, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppLotSize, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppLotSize, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppLotSize, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppLotSize, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewPendingOppLotSize, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppLotSize, OBJPROP_TOOLTIP, "Lot Size");
ObjectSetInteger(0, NewPendingOppLotSize, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppLotSize, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppLotSize, OBJPROP_TEXT, TextLotSize);
ObjectSet(NewPendingOppLotSize, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppLotSize, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewPendingOppLotPlus, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppLotPlus, OBJPROP_XDISTANCE, NewPendingOppXoff + 2 + (NewPendingOppTripleX + 2) * 2);
ObjectSet(NewPendingOppLotPlus, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppLotPlus, OBJPROP_XSIZE, NewPendingOppTripleX);
ObjectSetInteger(0, NewPendingOppLotPlus, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppLotPlus, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppLotPlus, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppLotPlus, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppLotPlus, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppLotPlus, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppLotPlus, OBJPROP_TOOLTIP, "Increase Lot Size");
ObjectSetInteger(0, NewPendingOppLotPlus, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppLotPlus, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppLotPlus, OBJPROP_TEXT, "+");
ObjectSet(NewPendingOppLotPlus, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppLotPlus, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewPendingOppRecommendedSize, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppRecommendedSize, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppRecommendedSize, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppRecommendedSize, OBJPROP_XSIZE, NewPendingOppMonoX);
ObjectSetInteger(0, NewPendingOppRecommendedSize, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppRecommendedSize, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppRecommendedSize, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppRecommendedSize, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppRecommendedSize, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppRecommendedSize, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppRecommendedSize, OBJPROP_TOOLTIP, "Recommended Position Size - Click to copy to Position Size");
ObjectSetInteger(0, NewPendingOppRecommendedSize, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppRecommendedSize, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppRecommendedSize, OBJPROP_TEXT, TextRecSize);
ObjectSet(NewPendingOppRecommendedSize, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppRecommendedSize, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewPendingOppSLPts, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppSLPts, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppSLPts, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppSLPts, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppSLPts, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppSLPts, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppSLPts, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppSLPts, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppSLPts, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppSLPts, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppSLPts, OBJPROP_TOOLTIP, "Stop Loss in Points");
ObjectSetInteger(0, NewPendingOppSLPts, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppSLPts, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppSLPts, OBJPROP_TEXT, TextSLPts);
ObjectSet(NewPendingOppSLPts, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppSLPts, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewPendingOppSLPtsE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppSLPtsE, OBJPROP_XDISTANCE, NewPendingOppXoff + (NewPendingOppDoubleX + 2) + 2);
ObjectSet(NewPendingOppSLPtsE, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppSLPtsE, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppSLPtsE, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppSLPtsE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppSLPtsE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppSLPtsE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppSLPtsE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewPendingOppSLPtsE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppSLPtsE, OBJPROP_TOOLTIP, "Stop Loss in Points");
ObjectSetInteger(0, NewPendingOppSLPtsE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppSLPtsE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppSLPtsE, OBJPROP_TEXT, TextSLPtsE);
ObjectSet(NewPendingOppSLPtsE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppSLPtsE, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewPendingOppTPPts, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppTPPts, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppTPPts, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppTPPts, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppTPPts, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppTPPts, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppTPPts, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppTPPts, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppTPPts, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppTPPts, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppTPPts, OBJPROP_TOOLTIP, "Take Profit in Points");
ObjectSetInteger(0, NewPendingOppTPPts, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppTPPts, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppTPPts, OBJPROP_TEXT, TextTPPts);
ObjectSet(NewPendingOppTPPts, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppTPPts, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewPendingOppTPPtsE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppTPPtsE, OBJPROP_XDISTANCE, NewPendingOppXoff + (NewPendingOppDoubleX + 2) + 2);
ObjectSet(NewPendingOppTPPtsE, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppTPPtsE, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppTPPtsE, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppTPPtsE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppTPPtsE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppTPPtsE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppTPPtsE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewPendingOppTPPtsE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppTPPtsE, OBJPROP_TOOLTIP, "Take Profit in Points");
ObjectSetInteger(0, NewPendingOppTPPtsE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppTPPtsE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppTPPtsE, OBJPROP_TEXT, TextTPPtsE);
ObjectSet(NewPendingOppTPPtsE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppTPPtsE, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewPendingOppMagic, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppMagic, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppMagic, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppMagic, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppMagic, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppMagic, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppMagic, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppMagic, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppMagic, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppMagic, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppMagic, OBJPROP_TOOLTIP, "Magic Number");
ObjectSetInteger(0, NewPendingOppMagic, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppMagic, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppMagic, OBJPROP_TEXT, "MAGIC #");
ObjectSet(NewPendingOppMagic, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppMagic, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewPendingOppMagicE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppMagicE, OBJPROP_XDISTANCE, NewPendingOppXoff + (NewPendingOppDoubleX + 2) + 2);
ObjectSet(NewPendingOppMagicE, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppMagicE, OBJPROP_XSIZE, NewPendingOppDoubleX);
ObjectSetInteger(0, NewPendingOppMagicE, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppMagicE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppMagicE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppMagicE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppMagicE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewPendingOppMagicE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppMagicE, OBJPROP_TOOLTIP, "Magic Number for the order - Click to change");
ObjectSetInteger(0, NewPendingOppMagicE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppMagicE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppMagicE, OBJPROP_TEXT, TextMagic);
ObjectSet(NewPendingOppMagicE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppMagicE, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewPendingOppComment, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppComment, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppComment, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppComment, OBJPROP_XSIZE, NewPendingOppMonoX);
ObjectSetInteger(0, NewPendingOppComment, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppComment, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppComment, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppComment, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppComment, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppComment, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppComment, OBJPROP_TOOLTIP, "Comment for the order");
ObjectSetInteger(0, NewPendingOppComment, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppComment, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppComment, OBJPROP_TEXT, "COMMENT");
ObjectSet(NewPendingOppComment, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppComment, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewPendingOppCommentE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppCommentE, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppCommentE, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppCommentE, OBJPROP_XSIZE, NewPendingOppMonoX);
ObjectSetInteger(0, NewPendingOppCommentE, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppCommentE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppCommentE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppCommentE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppCommentE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewPendingOppCommentE, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppCommentE, OBJPROP_TOOLTIP, "Comment for the order - Click to change");
ObjectSetInteger(0, NewPendingOppCommentE, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppCommentE, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppCommentE, OBJPROP_TEXT, TextComment);
ObjectSet(NewPendingOppCommentE, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppCommentE, OBJPROP_COLOR, clrBlack);
j++;
ObjectCreate(0, NewPendingOppSubmit, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppSubmit, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppSubmit, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppSubmit, OBJPROP_XSIZE, NewPendingOppMonoX);
ObjectSetInteger(0, NewPendingOppSubmit, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppSubmit, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppSubmit, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppSubmit, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppSubmit, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppSubmit, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppSubmit, OBJPROP_TOOLTIP, "Submit Order Or Orders");
ObjectSetInteger(0, NewPendingOppSubmit, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppSubmit, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppSubmit, OBJPROP_TEXT, "SUBMIT");
ObjectSet(NewPendingOppSubmit, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppSubmit, OBJPROP_COLOR, clrBlack);
ObjectSetInteger(0, NewPendingOppSubmit, OBJPROP_BGCOLOR, clrPaleGreen);
ObjectSetInteger(0, NewPendingOppSubmit, OBJPROP_BORDER_COLOR, clrBlack);
j++;
if (ShowURL)
{
ObjectCreate(0, NewPendingOppURL, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewPendingOppURL, OBJPROP_XDISTANCE, NewPendingOppXoff + 2);
ObjectSet(NewPendingOppURL, OBJPROP_YDISTANCE, NewPendingOppYoff + 2 + (NewPendingOppLabelY + 1) * j);
ObjectSetInteger(0, NewPendingOppURL, OBJPROP_XSIZE, NewPendingOppMonoX);
ObjectSetInteger(0, NewPendingOppURL, OBJPROP_YSIZE, NewPendingOppLabelY);
ObjectSetInteger(0, NewPendingOppURL, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewPendingOppURL, OBJPROP_STATE, false);
ObjectSetInteger(0, NewPendingOppURL, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewPendingOppURL, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewPendingOppURL, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewPendingOppURL, OBJPROP_TOOLTIP, "Visit Us");
ObjectSetInteger(0, NewPendingOppURL, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewPendingOppURL, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewPendingOppURL, OBJPROP_TEXT, "EarnForex.com");
ObjectSet(NewPendingOppURL, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewPendingOppURL, OBJPROP_COLOR, clrNavy);
ObjectSetInteger(0, NewPendingOppURL, OBJPROP_BGCOLOR, clrKhaki);
ObjectSetInteger(0, NewPendingOppURL, OBJPROP_BORDER_COLOR, clrBlack);
j++;
}
NewPendingOppY = (NewPendingOppLabelY + 1) * j + 3;
ObjectSetInteger(0, NewPendingOppBase, OBJPROP_YSIZE, NewPendingOppY);
}
void CloseNewPendingOpp()
{
ObjectsDeleteAll(0, IndicatorName + "-NPO-");
NewPendingOppPanelIsOpen = false;
}
void ChangePendingOppSide()
{
if (CurrPendingOppSide == PENDING_BUY)
{
CurrPendingOppSide = PENDING_SELL;
CloseNewPendingOpp();
ShowNewPendingOpp();
return;
}
else if (CurrPendingOppSide == PENDING_SELL)
{
CurrPendingOppSide = PENDING_BUYSELL;
CloseNewPendingOpp();
ShowNewPendingOpp();
return;
}
else if (CurrPendingOppSide == PENDING_BUYSELL)
{
CurrPendingOppSide = PENDING_BUY;
CloseNewPendingOpp();
ShowNewPendingOpp();
return;
}
}
void ChangePendingOppType()
{
if (CurrPendingOppType == PENDING_LIMIT)
{
CurrPendingOppType = PENDING_STOP;
CloseNewPendingOpp();
ShowNewPendingOpp();
return;
}
else if (CurrPendingOppType == PENDING_STOP)
{
CurrPendingOppType = PENDING_LIMIT;
CloseNewPendingOpp();
ShowNewPendingOpp();
return;
}
}
void ChangePendingOppStartMode()
{
if (CurrPendingOppStartMode == PENDING_START_CURRENT)
{
CurrPendingOppStartMode = PENDING_START_MANUAL;
CloseNewPendingOpp();
ShowNewPendingOpp();
return;
}
else if (CurrPendingOppStartMode == PENDING_START_MANUAL)
{
CurrPendingOppStartMode = PENDING_START_CURRENT;
CloseNewPendingOpp();
ShowNewPendingOpp();
return;
}
}
void ChangePendingOppDistance()
{
CurrPendingOppDistance = (int)StringToInteger(ObjectGetString(0, NewPendingOppPendingDistanceE, OBJPROP_TEXT));
ShowNewPendingOpp();
}
string NewOrderLinesBase = IndicatorName + "-NOL-Base";
string NewOrderLinesClose = IndicatorName + "-NOL-Close";
string NewOrderLinesOrder = IndicatorName + "-NOL-LinesOrder";
string NewOrderLinesPositionSize = IndicatorName + "-NOL-PosSize";
string NewOrderLinesRecommendedSize = IndicatorName + "-NOL-RecSize";
string NewOrderLinesPendingOpenPrice = IndicatorName + "-NOL-PendingOP";
string NewOrderLinesPendingOpenPriceE = IndicatorName + "-NOL-PendingOPE";
string NewOrderLinesSide = IndicatorName + "-NOL-Side";
string NewOrderLinesOrderType = IndicatorName + "-NOL-OrderType";
string NewOrderLinesLotMinus = IndicatorName + "-NOL-LotMinus";
string NewOrderLinesLotSize = IndicatorName + "-NOL-LotSize";
string NewOrderLinesLotPlus = IndicatorName + "-NOL-LotPlus";
string NewOrderLinesSLPrice = IndicatorName + "-NOL-SLPrice";
string NewOrderLinesTPPrice = IndicatorName + "-NOL-TPPrice";
string NewOrderLinesSLPriceE = IndicatorName + "-NOL-SLPriceE";
string NewOrderLinesTPPriceE = IndicatorName + "-NOL-TPPriceE";
string NewOrderLinesMagic = IndicatorName + "-NOL-Magic";
string NewOrderLinesMagicE = IndicatorName + "-NOL-MagicE";
string NewOrderLinesComment = IndicatorName + "-NOL-Comment";
string NewOrderLinesCommentE = IndicatorName + "-NOL-CommentE";
string NewOrderLinesSubmit = IndicatorName + "-NOL-Submit";
string NewOrderLinesURL = IndicatorName + "-NOL-URL";
void ShowNewOrderLines()
{
NewOrderLinesPanelIsOpen = true;
UpdateLinesLabels();
int NewOrderLinesXoff = Xoff;
int NewOrderLinesYoff = Yoff + PanelMovY + 2 * 4;
int NewOrderLinesX = NewOrderLinesMonoX + 2 + 2;
int NewOrderLinesY = (NewOrderLinesLabelY + 2) * 11 + 2;
string TextOrderLines = "";
string TextSide = "";
string TextType = "";
string TextBuyButton = "";
string TextSellButton = "";
string TextLotSize = "";
string TextPositionSizeTip = "";
string TextSLPrice = "";
string TextTPPrice = "";
string TextMagic = "";
string TextComment = "";
string TextSLPriceE = "";
string TextTPPriceE = "";
string TextPendingOpenPrice = "";
string TextPendingOpenPriceE = "";
string TextPositionSize = "";
string TextRecSize = "";
int j = 1;
TextPendingOpenPrice = "OPEN PRICE";
TextMagic = IntegerToString(CurrMagic);
TextComment = CurrComment;
TextSLPrice = "SL Price";
TextTPPrice = "TP Price";
TextSLPriceE = DoubleToString(CurrSLPrice, _Digits);
TextTPPriceE = DoubleToString(CurrTPPrice, _Digits);
TextPendingOpenPriceE = DoubleToString(CurrOpenPrice, _Digits);
TextOrderLines = "ORDER WITH LINES";
if (CurrLinesSide == LINE_ORDER_BUY) TextSide = "BUY";
if (CurrLinesSide == LINE_ORDER_SELL) TextSide = "SELL";
if (CurrLinesType == LINE_ORDER_LIMIT) TextType = "LIMIT";
if (CurrLinesType == LINE_ORDER_STOP) TextType = "STOP";
if (CurrLinesType == LINE_ORDER_MARKET) TextType = "MARKET";
if (CurrLinesType == LINE_ORDER_MARKET)
{
CurrMarketPending = Market;
}
else
{
CurrMarketPending = Pending;
}
CurrSLPtsOrPrice = ByPrice;
double CurrRecommendedSize = RecommendedSize();
if (CurrRecommendedSize > 0) TextRecSize = "RECOMMENDED SIZE (LOTS): " + DoubleToStr(CurrRecommendedSize, 2);
else TextRecSize = "RECOMMENDED SIZE (LOTS): N/A";
TextPositionSize = "POSITION SIZE (LOTS)";
TextPositionSizeTip = "Position Size In Lots";
TextLotSize = DoubleToString(CurrLotSize, 2);
ObjectCreate(0, NewOrderLinesBase, OBJ_RECTANGLE_LABEL, 0, 0, 0);
ObjectSet(NewOrderLinesBase, OBJPROP_XDISTANCE, NewOrderLinesXoff);
ObjectSet(NewOrderLinesBase, OBJPROP_YDISTANCE, NewOrderLinesYoff);
ObjectSetInteger(0, NewOrderLinesBase, OBJPROP_XSIZE, NewOrderLinesX);
ObjectSetInteger(0, NewOrderLinesBase, OBJPROP_YSIZE, NewOrderLinesY);
ObjectSetInteger(0, NewOrderLinesBase, OBJPROP_BGCOLOR, clrWhite);
ObjectSetInteger(0, NewOrderLinesBase, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderLinesBase, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderLinesBase, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderLinesBase, OBJPROP_FONTSIZE, NOFontSize);
ObjectSet(NewOrderLinesBase, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderLinesBase, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewOrderLinesClose, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderLinesClose, OBJPROP_XDISTANCE, NewOrderLinesXoff + 2);
ObjectSet(NewOrderLinesClose, OBJPROP_YDISTANCE, NewOrderLinesYoff + 2);
ObjectSetInteger(0, NewOrderLinesClose, OBJPROP_XSIZE, NewOrderLinesMonoX);
ObjectSetInteger(0, NewOrderLinesClose, OBJPROP_YSIZE, NewOrderLinesLabelY);
ObjectSetInteger(0, NewOrderLinesClose, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderLinesClose, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderLinesClose, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderLinesClose, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderLinesClose, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderLinesClose, OBJPROP_TOOLTIP, "Close Panel");
ObjectSetInteger(0, NewOrderLinesClose, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderLinesClose, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderLinesClose, OBJPROP_TEXT, "X");
ObjectSet(NewOrderLinesClose, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderLinesClose, OBJPROP_COLOR, clrBlack);
ObjectSetInteger(0, NewOrderLinesClose, OBJPROP_BGCOLOR, clrCrimson);
ObjectSetInteger(0, NewOrderLinesClose, OBJPROP_BORDER_COLOR, clrBlack);
ObjectCreate(0, NewOrderLinesOrder, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderLinesOrder, OBJPROP_XDISTANCE, NewOrderLinesXoff + 2);
ObjectSet(NewOrderLinesOrder, OBJPROP_YDISTANCE, NewOrderLinesYoff + 2 + (NewOrderLinesLabelY + 1) * j);
ObjectSetInteger(0, NewOrderLinesOrder, OBJPROP_XSIZE, NewOrderLinesMonoX);
ObjectSetInteger(0, NewOrderLinesOrder, OBJPROP_YSIZE, NewOrderLinesLabelY);
ObjectSetInteger(0, NewOrderLinesOrder, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderLinesOrder, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderLinesOrder, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderLinesOrder, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderLinesOrder, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderLinesOrder, OBJPROP_TOOLTIP, "New Orders Assisted By Lines");
ObjectSetInteger(0, NewOrderLinesOrder, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderLinesOrder, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderLinesOrder, OBJPROP_TEXT, TextOrderLines);
ObjectSet(NewOrderLinesOrder, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderLinesOrder, OBJPROP_COLOR, clrBlack);
ObjectSetInteger(0, NewOrderLinesOrder, OBJPROP_BGCOLOR, clrPaleGreen);
ObjectSetInteger(0, NewOrderLinesOrder, OBJPROP_BORDER_COLOR, clrBlack);
j++;
ObjectCreate(0, NewOrderLinesSide, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderLinesSide, OBJPROP_XDISTANCE, NewOrderLinesXoff + 2);
ObjectSet(NewOrderLinesSide, OBJPROP_YDISTANCE, NewOrderLinesYoff + 2 + (NewOrderLinesLabelY + 1) * j);
ObjectSetInteger(0, NewOrderLinesSide, OBJPROP_XSIZE, NewOrderLinesDoubleX);
ObjectSetInteger(0, NewOrderLinesSide, OBJPROP_YSIZE, NewOrderLinesLabelY);
ObjectSetInteger(0, NewOrderLinesSide, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderLinesSide, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderLinesSide, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderLinesSide, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderLinesSide, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderLinesSide, OBJPROP_TOOLTIP, "Click To Change");
ObjectSetInteger(0, NewOrderLinesSide, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderLinesSide, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderLinesSide, OBJPROP_TEXT, TextSide);
ObjectSet(NewOrderLinesSide, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderLinesSide, OBJPROP_COLOR, clrWhite);
ObjectSetInteger(0, NewOrderLinesSide, OBJPROP_BGCOLOR, clrBlue);
ObjectSetInteger(0, NewOrderLinesSide, OBJPROP_BORDER_COLOR, clrBlack);
ObjectCreate(0, NewOrderLinesOrderType, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderLinesOrderType, OBJPROP_XDISTANCE, NewOrderLinesXoff + (NewOrderLinesDoubleX + 2) + 2);
ObjectSet(NewOrderLinesOrderType, OBJPROP_YDISTANCE, NewOrderLinesYoff + 2 + (NewOrderLinesLabelY + 1) * j);
ObjectSetInteger(0, NewOrderLinesOrderType, OBJPROP_XSIZE, NewOrderLinesDoubleX);
ObjectSetInteger(0, NewOrderLinesOrderType, OBJPROP_YSIZE, NewOrderLinesLabelY);
ObjectSetInteger(0, NewOrderLinesOrderType, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderLinesOrderType, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderLinesOrderType, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderLinesOrderType, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderLinesOrderType, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderLinesOrderType, OBJPROP_TOOLTIP, "Click To Change");
ObjectSetInteger(0, NewOrderLinesOrderType, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderLinesOrderType, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderLinesOrderType, OBJPROP_TEXT, TextType);
ObjectSet(NewOrderLinesOrderType, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderLinesOrderType, OBJPROP_COLOR, clrWhite);
ObjectSetInteger(0, NewOrderLinesOrderType, OBJPROP_BGCOLOR, clrRed);
ObjectSetInteger(0, NewOrderLinesOrderType, OBJPROP_BORDER_COLOR, clrBlack);
j++;
if (CurrLinesType != LINE_ORDER_MARKET)
{
ObjectCreate(0, NewOrderLinesPendingOpenPrice, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderLinesPendingOpenPrice, OBJPROP_XDISTANCE, NewOrderLinesXoff + 2);
ObjectSet(NewOrderLinesPendingOpenPrice, OBJPROP_YDISTANCE, NewOrderLinesYoff + 2 + (NewOrderLinesLabelY + 1) * j);
ObjectSetInteger(0, NewOrderLinesPendingOpenPrice, OBJPROP_XSIZE, NewOrderLinesDoubleX);
ObjectSetInteger(0, NewOrderLinesPendingOpenPrice, OBJPROP_YSIZE, NewOrderLinesLabelY);
ObjectSetInteger(0, NewOrderLinesPendingOpenPrice, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderLinesPendingOpenPrice, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderLinesPendingOpenPrice, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderLinesPendingOpenPrice, OBJPROP_READONLY, true);
ObjectSetInteger(0, NewOrderLinesPendingOpenPrice, OBJPROP_FONTSIZE, NOFontSize);
ObjectSetString(0, NewOrderLinesPendingOpenPrice, OBJPROP_TOOLTIP, "Start Price - Click To Change");
ObjectSetInteger(0, NewOrderLinesPendingOpenPrice, OBJPROP_ALIGN, ALIGN_CENTER);
ObjectSetString(0, NewOrderLinesPendingOpenPrice, OBJPROP_FONT, NOFont);
ObjectSetString(0, NewOrderLinesPendingOpenPrice, OBJPROP_TEXT, TextPendingOpenPrice);
ObjectSet(NewOrderLinesPendingOpenPrice, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, NewOrderLinesPendingOpenPrice, OBJPROP_COLOR, clrBlack);
ObjectCreate(0, NewOrderLinesPendingOpenPriceE, OBJ_EDIT, 0, 0, 0);
ObjectSet(NewOrderLinesPendingOpenPriceE, OBJPROP_XDISTANCE, NewOrderLinesXoff + (NewOrderLinesDoubleX + 2) + 2);
ObjectSet(NewOrderLinesPendingOpenPriceE, OBJPROP_YDISTANCE, NewOrderLinesYoff + 2 + (NewOrderLinesLabelY + 1) * j);
ObjectSetInteger(0, NewOrderLinesPendingOpenPriceE, OBJPROP_XSIZE, NewOrderLinesDoubleX);
ObjectSetInteger(0, NewOrderLinesPendingOpenPriceE, OBJPROP_YSIZE, NewOrderLinesLabelY);
ObjectSetInteger(0, NewOrderLinesPendingOpenPriceE, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, NewOrderLinesPendingOpenPriceE, OBJPROP_STATE, false);
ObjectSetInteger(0, NewOrderLinesPendingOpenPriceE, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, NewOrderLinesPendingOpenPriceE, OBJPROP_READONLY, false);
ObjectSetInteger(0, NewOrderLineПоказано первые 50% кода (символов: 237640)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.