在试验自定义价格指数时,我可以让它实时绘制,但只能实时绘制。一旦窗口关闭或图表时间框架改变,indior重置为零并重新开始。我只能通过保持图表窗口与indior不断打开和未经编辑来显示历史。
我如何修改代码,以便我可以离线使用它,并让它绘制历史记录以及实时更新。
这是完整的代码。我想修改它,以便在将历史记录添加到图表时计算历史记录,以便它实时更新。我知道有很多历史记录需要更长的时间来计算和加载,所以最好的解决方案是添加一个可变数量的历史条来计算和绘制。
插入代码#property copyright #property link #define vers Beta/---- #property indior_separate_window #property indior_buffers 1 #property indior_color1 Gold #property indior_width1 1 extern string SymbolMain =; extern字符串Symbol1 = EURUSD; extern string Symbol2 = EURUSD; extern字符串Symbol3 = EURUSD; extern字符串Symbol4 = EURJPY; extern string Symbol5 = EURJPY; extern string Symbol6 = EURJPY; extern string Symbol7 = CHFJPY; extern string Symbol8 = CHFJPY; extern string Symbol9 = CHFJPY; extern字符串Symbol10 = USDCHF; extern字符串符号11 = USDCHF; extern字符串Symbol12 = USDCHF; extern字符串Symbol13 = EURGBP; extern字符串Symbol14 = GBPCHF;/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~无效的init(){SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,Buff1); SetIndexEmptyValue(0,0.0); } void deinit(){} void start(){int counted_bars = IndiorCounted(); if(counts_bars lt; 0)返回; if(counting_bars gt; 0)counts_bars--; int limit = Bars-counted_bars; for(int i = limit; i gt; = 0; i--){Buff1#91; i#93; =(iClose(Symbol1,0,0) iClose(Symbol2,0,0) iClose(Symbol3,0,0) iClose(Symbol4,0,0)/100 iClose(Symbol5,0,0)/100 iClose(Symbol6,0,0)/100 iClose(Symbol7,0,0)/100 iClose(Symbol8,0,0)/100 iClose(Symbol9,0,0)/100 (1iClose(符号10,0,0)) (1iClose(符号11,0,0)) (1iClose(符号12,0,0)) iClose(符号13,0,0) (1iClose(符号14, 0,0)))/14; }}