Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

viamal

Sierra Charts Coding

Recommended Posts

Dear All!

I'm currently trying to implement an automated trade strategy into a custom study DLL. Unfortunately, I have no C++ experience at all. I have spent the whole day reading the sierra chart help guide on programming, but I am still a bit confused.

 

The question I have will be very simple for someone who has done any coding in Sierra Chart. Here we go:

In my initial study I have 2 lines crossing and giving buy or sell signals. Now this will cause "endless" trading, because you are always in a position.

 

All i want is to implement a take profit/stop loss condition to my strategy so that the position could be closed not only when the lines cross, but when a stop or take limit has been reached.

 

Ideally, I would like to make stop/take size and order size changeable in Study options, without the need to tweak the code.

 

Sierra Chart have the following example of a study where 2 lines cross, but it does not contain the stop/take orders..

 

SCSFExport scsf_SC_TradingCrossOverExample(SCStudyGraphRef sc) 
{

SCInputRef line1Ref = sc.Input[0];
SCInputRef line2Ref = sc.Input[1];

SCSubgraphRef bullish = sc.Subgraph[0];
SCSubgraphRef bearish = sc.Subgraph[1];

if (sc.SetDefaults)
{

	// Set the configuration and defaults

	sc.GraphName = "Trading CrossOver Example";

	sc.StudyDescription = "An example of a trading system that enters a new position or \
			       reverses an existing one on the crossover of two study Subgraphs. \
			       When line1 crosses line2 from below, the system will look to be long. \
			       When line1 crosses line2 from above, the system will look to be short.";

	sc.AutoLoop = 1;  // true
	sc.GraphRegion = 0;
	sc.FreeDLL = 0;
	sc.CalculationPrecedence = LOW_PREC_LEVEL;

	line1Ref.Name = "Line1";
	line1Ref.SetStudySubgraphValues(1, 0);

	line2Ref.Name = "Line2";
	line2Ref.SetStudySubgraphValues(1, 0);

	bullish.Name = "Bullish";
	bullish.DrawStyle = DRAWSTYLE_POINTHIGH;
	bullish.LineWidth = 3;

	bearish.Name = "Bearish";
	bearish.DrawStyle = DRAWSTYLE_POINTLOW;
	bearish.LineWidth = 3;

	sc.AllowMultipleEntriesInSameDirection = false; 
	sc.MaximumPositionAllowed = 5;
	sc.SupportReversals = true;

	// This is false by default. Orders will go to the simulation system always.
	sc.SendOrdersToTradeService = false;

	sc.AllowOppositeEntryWithOpposingPositionOrOrders = false;
	sc.SupportAttachedOrdersForTrading = false;  

	sc.CancelAllOrdersOnEntriesAndReversals= true;
	sc.AllowEntryWithWorkingOrders = false;
	sc.CancelAllWorkingOrdersOnExit = true;
	sc.AllowOnlyOneTradePerBar = true; 

	sc.MaintainTradeStatisticsAndTradesData = true;

	return;
}

// only process at the close of the bar; if it has not closed don't do anything
if (sc.GetBarHasClosedStatus() == BHCS_BAR_HAS_NOT_CLOSED) 
{
	return;
}


// using the line1Ref and line2Ref input variables, retrieve the subgraph arrays into line1, 
// line2 arrays respectively
SCFloatArray line1;
sc.GetStudyArrayUsingID(line1Ref.GetStudyID(), line1Ref.GetSubgraphIndex(), line1);

SCFloatArray line2;
sc.GetStudyArrayUsingID(line2Ref.GetStudyID(), line2Ref.GetSubgraphIndex(), line2);

// code below is where we check for crossovers and take action accordingly

if (sc.CrossOver(line1, line2) == CROSS_FROM_BOTTOM) 
{

	// mark the crossover on the chart
	bullish[sc.Index] = 1;

	// Create a market order and enter long.
	s_SCNewOrder order;
	order.OrderQuantity = 1;
	order.OrderType = SCT_ORDERTYPE_MARKET;

	sc.BuyEntry(order);
}

if (sc.CrossOver(line1, line2) == CROSS_FROM_TOP)
{


	// mark the crossover on the chart
	bearish[sc.Index] = 1;

	// create a market order and enter short
	s_SCNewOrder order;
	order.OrderQuantity = 1;
	order.OrderType = SCT_ORDERTYPE_MARKET;

	sc.SellEntry(order);
}
}

} 

 

Can anyone help,please?

 

Very much appreciated!

Share this post


Link to post
Share on other sites

i use SC, but i dont code in C++

 

What you are wanting to do here might be easily acheiveable (and simpler for a non coder) using their spreadsheets for trading AS WELL AS attached orders (with each entry having easily adjustable take profits and stop loss orders associated with the original entry)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Topics

  • Posts

    • $CHWY Chewy stock breakdown watch, https://stockconsultant.com/?CHWY
    • $PYXS Pyxis Oncology stock low volume pullback to 4.32 support area, high trade quality, https://stockconsultant.com/?PYXS
    • $EVER EverQuote stock strong day, breakout, https://stockconsultant.com/?EVER
    • Date: 1st May 2024. Understanding the Implications of the FOMC Meeting. The FOMC will issue its post-meeting statement at 18:00 GMT tonight. “High-for-longer” is the expected outcome (but not higher) given more indications that progress on bringing inflation sustainably down to the 2% target has stalled out. With no new quarterly forecasts, it will be all about Chair Powell’s press conference when the Fed announces its policy stance tonight.   It is unlikely to be any more hawkish than what the markets are pricing in. Indeed, Chair Powell will have to acknowledge that the data are going the wrong way and he may even pre-empt the likely first question out of the box, “is a rate hike in the cards?” Meanwhile, Fed funds futures have not only fully priced out chances for a rate cut for this meeting and for June, but July as well. Risk for a reduction in September fell to below 50-50 on the initial spike in implied rates on the ECI news. The November contract reflects 20 bps in cuts, with a full quarter point easing now not seen until December. The FOMC is also expected to announce a slowing in Treasury runoff for June.   Economic Projections & Market Interpretation: The March update of the SEP revealed notable adjustments in key economic indicators. GDP forecasts for 2024 experienced a substantial upward revision, reflecting a more optimistic outlook with a growth rate of 2.1%, up from 1.4% in December. Similarly, projections for 2025 saw improvements, with the median jobless rate forecasts showing mixed trends but generally aligning with recent patterns. Expectations for headline and core PCE chain price indices also witnessed slight adjustments, indicating potential shifts in inflation dynamics. During the March meeting, the “dot plot” estimates hinted at a dovish stance by Fed members, with no indications of further rate hikes and median estimates suggesting potential rate cuts in 2024. This interpretation led markets to anticipate the initiation of quarterly rate cuts starting in June. As investors await the June SEP update, there is speculation about further adjustments in GDP estimates, PCE chain price indices, and the potential revision of rate cut expectations.   Analyzing the labor market reveals a complex picture of recovery and ongoing challenges. Payrolls have shown resilience in 2024, surpassing the previous year’s averages, albeit with variations across sectors. Despite improvements, the jobless rate remains a focal point, with fluctuations reflecting broader economic conditions. Additionally, metrics like the U-6 rate and wage growth provide insights into the labor market’s health and potential inflationary pressures.   Inflation Trends and Consumption Patterns: Inflation dynamics have been closely monitored, particularly amid recent fluctuations in commodity prices and supply chain disruptions. While recent CPI and PCE chain price measures suggest some moderation in inflationary pressures, concerns linger about the sustainability of these trends. The Fed’s attention to inflation remains paramount, shaping expectations for future policy actions. Consumer spending, a key driver of economic growth, has exhibited resilience despite ongoing uncertainties. Real personal consumption expenditures (PCE) have maintained positive growth rates, contributing to overall GDP expansion. However, shifts in consumption patterns and potential impacts on future economic performance warrant careful observation.   Market Expectations and Implications: As the FOMC meeting approaches, market participants are closely monitoring economic indicators and policy developments for insights into future market dynamics. The verbiage of the Fed statement and subsequent press briefing will be scrutinized for any hints regarding the timing of potential policy adjustments. Investors should remain vigilant and adaptable, considering the evolving economic landscape and its implications for investment strategies. The upcoming FOMC meeting holds significant implications for investors and economic stakeholders. Understanding recent economic developments, market expectations, and potential policy shifts is essential for navigating the dynamic financial environment. By staying informed and proactive, investors can position themselves to capitalize on emerging opportunities while managing risks effectively. Always trade with strict risk management. Your capital is the single most important aspect of your trading business. Please note that times displayed based on local time zone and are from time of writing this report. Click HERE to access the full HFM Economic calendar. Want to learn to trade and analyse the markets? Join our webinars and get analysis and trading ideas combined with better understanding on how markets work. Click HERE to register for FREE! Click HERE to READ more Market news. Andria Pichidi Market Analyst HFMarkets Disclaimer: This material is provided as a general marketing communication for information purposes only and does not constitute an independent investment research. Nothing in this communication contains, or should be considered as containing, an investment advice or an investment recommendation or a solicitation for the purpose of buying or selling of any financial instrument. All information provided is gathered from reputable sources and any information containing an indication of past performance is not a guarantee or reliable indicator of future performance. Users acknowledge that any investment in FX and CFDs products is characterized by a certain degree of uncertainty and that any investment of this nature involves a high level of risk for which the users are solely responsible and liable. We assume no liability for any loss arising from any investment made based on the information provided in this communication. This communication must not be reproduced or further distributed without our prior written permission.
    • $MRO Marathon Oil stock moving higher off the 27.57 support area, https://stockconsultant.com/?MRO
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.