Login Page - Create Account

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