当某些变量的实例在 C++ 中的不同时间出现时,您如何在同一行中填充电子表格数据

How do you populate spreadsheet data in the same row when the instance to some of the variables occur at different times in C++

提问人:philip hoy 提问时间:9/20/2023 更新时间:9/20/2023 访问量:35

问:

我需要将数据转储到与警报条件为 true 相关的电子表格中,但数据的某个方面将在警报条件为 true 的较晚时间发生。因此,如果我的警报在 2023-09-01 15:10:37 为真,则数据会相应地转储以在该实例中将其称为第 5 行,但柱线的高点和低点直到 17、59、00 才会出现。作为计算,它不是同时进行的,但我需要它们在同一行中。我不确定如何处理时机。由于我需要能够从当前价格中减去最高价,因此警报条件会触发(但我会满足于在正确的位置获得最高价和最低价),因此我可以从行数据的确切实例中看到价格差异???

if ((LongAlert || ShortAlert) && Subgraph_SignalState[sc.Index] == 0)
    {   
    
        sc.AddMessageToLog("Long Or Signal Condition is TRUE", 1);
        
        

    
        sc.SetSheetCellAsString(SheetHandle, 0, rowIndex, symbol.GetChars());
        sc.SetSheetCellAsString(SheetHandle, 1, rowIndex, formattedDateTime);
        sc.SetSheetCellAsDouble(SheetHandle, 2, rowIndex, currentPrice);
        sc.SetSheetCellAsDouble(SheetHandle, 7, rowIndex, stn240Array[sc.Index]);
        
        
        
        
        float currentValue;
        currentValue = stn240Array[sc.Index];
    Subgraph_FormulaResult[sc.Index] = static_cast<float>(currentValue);
    
        
            
            rowIndex++;
SCDateTime targetTime;
targetTime.SetTime(HMS_TIME(17, 59, 0));

        if (currentDateTime > targetTime){  
sc.SetSheetCellAsDouble(SheetHandle, 3, rowIndex, dayHighClose);
sc.SetSheetCellAsDouble(SheetHandle, 4, rowIndex, dayLowClose);

        rowIndex++;
}   
    }

    return;
        
    
}

I tried doing it from a populate data at different times but could not get it to work 
C++ IF-语句 电子表格 计时 控制流

评论

2赞 Jesper Juhl 9/20/2023
难道你不能在内存中缓冲数据,直到你有写一行所需的东西,然后在那个时候写它吗?
1赞 user4581301 9/20/2023
如果您不能读回该行,更新它,将其写回或仅更新需要更新的列,我会感到惊讶。
0赞 philip hoy 9/21/2023
这就是我的想法 Jesper 在特定时间范围内填充数据。但我不是 100% 确定如何去做。

答: 暂无答案