2.2 KiB
2.2 KiB
Utils/Objects
Chart-object utilities. Everything lives in namespace TSN.
Main features
- Create objects in one call: wrappers over
ObjectCreate+ObjectSet*for lines, trends, channels, text, arrows, edit fields, buttons, rectangles, events and Fibonacci (CNativeoGObjs). All strings areconst string&. - Draw a trade box: paint the TP and SL rectangles of a trade (
CObjGUtils::DrawTPSL). - Batch property change: set one integer property on every object whose name starts with a prefix (
CObjGUtils::ModifiedIntegerPropertyByPrefix). - Scheduled deletion: queue object names with an expiry time and let
OnNewBardelete, hide or show them (CGraphicObjEliminations). - Fibonacci helper: define levels from strings, move the object and read the price of any level (
CFibbo). - Show / hide macros:
HIDE_OBJECTandSHOW_OBJECTtoggle an object's visibility across timeframes.
Basic usage
Create objects
TSN::CNativeoGObjs::VLineCreate(0, "entry_line", 0, TimeCurrent(), clrRed, STYLE_DASH,
1, false, true, true, "Entry"); // width, back, selection, ray, tooltip
TSN::CNativeoGObjs::TextCreate(0, "lbl", 0, TimeCurrent(), SymbolInfoDouble(_Symbol, SYMBOL_BID),
"Hello", "Arial", 8, clrWhite, 0.0, ANCHOR_CENTER);
Draw TP / SL
TSN::CObjGUtils::DrawTPSL(0, 0, "trade1_", tp, sl, entry, time_entry, time_end,
clrGreen, clrRed, true, 1, STYLE_SOLID); // fill, width, style
Delete objects later
TSN::CGraphicObjEliminations g_del;
g_del.Initilialize(0, 4, 4, 4); // chart id + three array reserves
g_del.InitAddElement(TimeCurrent() + 3600); // objects added next are deleted after this time
g_del.AddElement("entry_line");
g_del.AddElement("lbl");
// on every new bar
g_del.OnNewBar(TimeCurrent());
Fibonacci
TSN::CFibbo fibbo;
fibbo.Create(0, "fibo", 0, clrGold, STYLE_DOT, 1, "Fibo");
fibbo.SetLevels("0;0.5;0.618;1", "clrGray;clrGold;clrOrange;clrGray", STYLE_DOT, 1, ';');
fibbo.Move(time1, time2, price1, price2);
double price = fibbo.GetLevelPrice(0.618);
Only the most representative functions are shown here.