Support Board
Date/Time: Fri, 09 May 2025 22:42:06 +0000
Post From: Automated Trading AAPL options
[2015-12-27 04:40:51] |
User713273 - Posts: 409 |
Thx, the alert system works great. On another note, im having an issue referencing column M or sell entries utilizing the same methodology in referencing column K for buy entries. Been struggling with the code on this for awhile, I'm hoping this is a "small block of code" for you to reference and help us out. Thanks- //s_ChartStudySubgraphValues SpreadSheetColK; //SpreadSheetColK.ChartNumber = ISpreadSheetChartNo.GetChartNumber(); //SpreadSheetColK.StudyID = ISpreadSheetChartNo.GetStudyID(); //SpreadSheetColK.SubgraphIndex = 10; //K SCFloatArray SpreadSheetColKBuyArray; sc.GetStudyArrayUsingID(ISpreadSheetChartNo.GetStudyID(), 0, SpreadSheetColKBuyArray); //K //sc.GetStudyArrayFromChartUsingID(SpreadSheetColK, SpreadSheetColKBuyArray); //s_ChartStudySubgraphValues SpreadSheetColM; //SpreadSheetColM.ChartNumber = ISpreadSheetChartNo.GetChartNumber(); //SpreadSheetColM.StudyID = ISpreadSheetChartNo.GetStudyID(); //SpreadSheetColM.SubgraphIndex = 12; //M SCFloatArray SpreadSheetColMSellArray; sc.GetStudyArrayUsingID(ISpreadSheetChartNo.GetStudyID(), 1, SpreadSheetColMSellArray); //M //sc.GetStudyArrayFromChartUsingID(SpreadSheetColM, SpreadSheetColMSellArray); if ((IsTradeTime) && (sc.Index >= PermData->HistoricalArraySize) && (!sc.ChartIsDownloadingHistoricalData(sc.ChartNumber))) { int kIndex = SpreadSheetColKBuyArray.GetArraySize() - 1; if ((SpreadSheetColKBuyArray[kIndex] != 0) || PermData->OrderSignal[CALL] ) { if (!PermData->OrderSignal[CALL]) { sprintf(msg, "Signal - Buy"); sc.AddMessageToLog(msg, false); } PermData->OrderSignal[CALL] = true; PermData->NewEntryPrice = round(sc.BaseData[SC_LAST][sc.Index]); OptionPos* optionPos = PermData->OptionPosList; if (CheckOptionPosExits(sc, CALL, optionPos, PermData)) PermData->OrderSignal[CALL] = false; else { if (!CreateNewOptionPos(sc, true, CALL, optionPos, PermData)) { sprintf(msg, "Symbol Names %s Qty %d %s Qty %d", optionPos->OptionName, optionPos->Qty, optionPos->OptionName, optionPos->Qty); sc.AddMessageToLog(msg, false); // submit order for entry, including target and stop DoOneEntry(sc, CALL, optionPos, SGEntryMarker, PermData); PermData->NewEntryPrice = -1; PermData->OrderSignal[CALL] = false; } } } kIndex = SpreadSheetColMSellArray.GetArraySize() - 1; if ((SpreadSheetColMSellArray[kIndex] != 0) || PermData->OrderSignal[PUT]) { if (!PermData->OrderSignal[PUT]) { sprintf(msg, "Signal - Sell"); sc.AddMessageToLog(msg, false); } PermData->OrderSignal[PUT] = true; PermData->NewEntryPrice = round(sc.BaseData[SC_LAST][sc.Index]); OptionPos* optionPos = PermData->OptionPosList; if (CheckOptionPosExits(sc, PUT, optionPos, PermData)) PermData->OrderSignal[PUT] = false; else { if (!CreateNewOptionPos(sc, true, PUT, optionPos, PermData)) { sprintf(msg, "Symbol Names %s Qty %d %s Qty %d", optionPos->OptionName, optionPos->Qty, optionPos->OptionName, optionPos->Qty); sc.AddMessageToLog(msg, false); // submit order for entry, including target and stop DoOneEntry(sc, PUT, optionPos, SGEntryMarker, PermData); PermData->NewEntryPrice = -1; PermData->OrderSignal[PUT] = false; Date Time Of Last Edit: 2015-12-27 04:58:34
|