Door te experimenteren met een aangepaste prijsindexindior, kan ik het in realtime plotten, maar alleen in realtime. Zodra het venster is gesloten of het tijdschema van de grafiek is gewijzigd, wordt de indior gereset naar nul en begint opnieuw. Ik kan het alleen krijgen om de geschiedenis te tonen door het kaartvenster met indior continu geopend en onbewerkt te houden.
Hoe moet ik de code wijzigen zodat ik deze offline kan gebruiken en zowel de plotgeschiedenis als de update in realtime kan bijwerken.
Hier is de volledige code zoals hij is. Ik zou het willen aanpassen zodat het de geschiedenis berekent door het aan de grafiek toe te voegen en zodat het ook in realtime wordt bijgewerkt. Ik begrijp dat het met veel geschiedenis veel langer zou duren om te berekenen en te laden, dus de beste oplossing zou zijn om een ??????variabel aantal historische balken toe te voegen om te berekenen en uit te zetten.
Code ingevoegd #property copyright #eigenschap link #define vers Beta/---- #property indior_separate_window #property indior_buffers 1 #property indior_color1 Gold #property indior_width1 1 externe tekenreeks SymbolMain =; externe tekenreeks Symbol1 = EURUSD; externe tekenreeks Symbol2 = EURUSD; externe string Symbol3 = EURUSD; externe tekenreeks Symbol4 = EURJPY; externe tekenreeks Symbol5 = EURJPY; externe tekenreeks Symbol6 = EURJPY; externe tekenreeks Symbol7 = CHFJPY; externe tekenreeks Symbol8 = CHFJPY; externe tekenreeks Symbol9 = CHFJPY; externe tekenreeks Symbol10 = USDCHF; externe tekenreeks Symbol11 = USDCHF; externe tekenreeks Symbol12 = USDCHF; externe tekenreeks Symbol13 = EURGBP; externe tekenreeks Symbol14 = GBPCHF;/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~./~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~> void init () {SetIndexStyle (0, DRAW_LINE); SetIndexBuffer (0, Buff1); SetIndexEmptyValue (0, 0.0); } void deinit () {} void start () {int counted_bars = IndiorCounted (); als (geteld_balken lt; 0) terugkeren; if (counted_bars gt; 0) counted_bars--; int limit = Bars-counted_bars; for (int i = limit; i gt; = 0; i--) {Buff1 # 91; i # 93; = (iSluiten (Symbol1,0,0) iClose (Symbol2,0,0) iClose (Symbol3,0,0) iClose (Symbol4,0,0)100 iClose (Symbol5,0,0)100 iSluiten (Symbol6,0,0)100 iSluiten (Symbol7,0,0)100 iClose (Symbol8,0,0)100 iClose (Symbol9,0,0)100 (1iClose ( Symbol10,0,0)) (1iClose (Symbol11,0,0)) (1iClose (Symbol12,0,0)) iClose (Symbol13,0,0) (1iClose (Symbol14, 0,0)))14; }}