Announcement
Collapse
Looking for a User App or Add-On built by the NinjaTrader community?
Visit NinjaTrader EcoSystem and our free User App Share!
Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less
Partner 728x90
Collapse
NinjaTrader
new supertrend
Collapse
X
-
new supertrend
I wonder if anyone could convert this to N7 , im only interested in trend mode 1 like in the thumbnail , trend mode 0 just looks like a normal supertrend.Tags: None
-
-
[/HTML]//+------------------------------------------------------------------+
//| Kolier_SuperTrend_Indi.mq4 |
//| Copyright 2010, KoliEr Li. |
//| http://kolier.li |
//+------------------------------------------------------------------+
/*
* I here get paid to program for you. Just $15 for all scripts.
*
* I am a bachelor major in Financial-Mathematics.
* I am good at programming in MQL for Meta Trader 4 platform. Senior Level. Have done hundreds of scripts.
* No matter what it is, create or modify any indicators, expert advisors and scripts.
* I will ask these jobs which are not too large, price from $15, surely refundable if you are not appreciate mine.
* All products will deliver in 3 days.
* Also, I am providing EA, Indicator and Trade System Improvement Consultant services, contact me for the detail.
* If you need to have it done, don't hesitate to contact me at: [email protected]
*/
//+------------------------------------------------------------------+
//| Indicator Properties |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, KoliEr Li."
#property link "http://kolier.li"
// Client:
// Tags: SuperTrend, ATR
// Revision: 7
/* Change Logs */
/*
2. 1.0.2(2011-04-06) Fix some repaint trail.
3. 1.0.3(2011-05-26) Add SetIndexDrawBegin() to be EA friendly.
4. 2.0.4(2011-08-01) Use main line to restruct the implementation.
5. 2.1.5(2011-09-01) Export for EA trading.
6. 2.1.6(2011-09-02) Make GlobalVariable unique to avoid conflicts.
7. 2.1.7(2011-09-02) Fix minor bugs.
*/
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 White
#property indicator_color2 Red
#property indicator_color3 Red
#property indicator_width1 1
#property indicator_width2 2
#property indicator_width3 2
//+------------------------------------------------------------------+
//| Universal Constants |
//+------------------------------------------------------------------+
#define PHASE_NONE 0
#define PHASE_BUY 1
#define PHASE_SELL -1
//+------------------------------------------------------------------+
//| User input variables |
//+------------------------------------------------------------------+
extern string AdvisorName = "Kolier_SuperTrend_Indi";
extern string AdvisorVersion = "2.1.7"; // The version number of this script
extern string ProjectPage = "http://kolier.li/project/kolier-supertrend-indi"; // The project landing page
extern int BarsToCount = 0; // Set to 0 to count all bars, if >0, set more to calculate more bars
extern int TrendMode = 1; // 0=Show line same as SuperTrend.mq4, 1=New way to show trend line
extern bool EA_Export = true; // Export value for EA to trade.
// iATR
extern string ATR_Indicator = "http://kolier.li/example/mt4-iatr-system-average-true-range";
extern int ATR_Period = 10;
extern double ATR_Multiplier = 8.0;
//+------------------------------------------------------------------+
//| Universal variables |
//+------------------------------------------------------------------+
double buffer_line_up[], buffer_line_down[], buffer_line_main[];
double atr, band_upper, band_lower;
string prefix="";
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorShortName(AdvisorName);
IndicatorDigits(MarketInfo(Symbol(), MODE_DIGITS));
SetIndexBuffer(0, buffer_line_main);
SetIndexLabel(0, "SuperTrend");
SetIndexBuffer(1, buffer_line_up);
SetIndexLabel(1, "Up Trend");
SetIndexBuffer(2, buffer_line_down);
SetIndexLabel(2, "Down Trend");
SetIndexDrawBegin(0, ATR_Period);
prefix = AdvisorName+"_"+Symbol()+"_"+Period()+"_"+TrendMod e+"_"+ATR_Period+"_"+DoubleToStr(ATR_Multiplier,2) ;
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
GlobalVariablesDeleteAll(AdvisorName);
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int bars_counted = IndicatorCounted();
if(bars_counted < 0) {
return(1);
}
else if(bars_counted > 0) {
bars_counted--;
}
int limit = Bars - bars_counted;
if(BarsToCount>0 && limit>BarsToCount) {
limit = BarsToCount;
}
int i;
for(i=limit; i>=0; i--) {
atr = iATR(Symbol(), 0, ATR_Period, i);
band_upper = (High[i]+Low[i])/2 + ATR_Multiplier * atr;
band_lower = (High[i]+Low[i])/2 - ATR_Multiplier * atr;
if(buffer_line_main[i+1]==EMPTY_VALUE) {
buffer_line_main[i] = (High[i+1]+Low[i+1])/2;
}
if(Close[i]>buffer_line_main[i+1] && buffer_line_main[i+1]!=EMPTY_VALUE) {
if(buffer_line_main[i] == EMPTY_VALUE) {
if(TrendMode == 1) {
if(band_lower>buffer_line_main[i+1]) {
buffer_line_main[i] = band_lower;
}
else {
buffer_line_main[i] = buffer_line_main[i+1];
}
}
else if(TrendMode == 0) {
if(Close[i+1]>=buffer_line_main[i+1]) {
if(band_lower>buffer_line_main[i+1]) {
buffer_line_main[i] = band_lower;
}
else {
buffer_line_main[i] = buffer_line_main[i+1];
}
}
else if(Close[i+1]<buffer_line_main[i+1]) {
buffer_line_main[i] = band_lower;
}
}
}
else if(Close[i+1]>buffer_line_main[i+1]) {
if(band_lower>buffer_line_main[i+1]) {
buffer_line_main[i] = band_lower;
}
else {
buffer_line_main[i] = buffer_line_main[i+1];
}
}
else if(Close[i+1]<buffer_line_main[i+1]) {
buffer_line_main[i] = band_lower;
}
buffer_line_up[i] = buffer_line_main[i];
buffer_line_up[i+1] = buffer_line_main[i+1];
if(buffer_line_down[i]!=EMPTY_VALUE) {
buffer_line_down[i] = EMPTY_VALUE;
}
}
if(Close[i]<buffer_line_main[i+1] && buffer_line_main[i+1]!=EMPTY_VALUE) {
if(buffer_line_main[i] == EMPTY_VALUE) {
if(TrendMode == 1) {
if(band_upper<buffer_line_main[i+1]) {
buffer_line_main[i] = band_upper;
}
else {
buffer_line_main[i] = buffer_line_main[i+1];
}
}
else if(TrendMode == 0) {
if(Close[i+1]<buffer_line_main[i+1]) {
if(band_upper<buffer_line_main[i+1]) {
buffer_line_main[i] = band_upper;
}
else {
buffer_line_main[i] = buffer_line_main[i+1];
}
}
else if(Close[i+1]>buffer_line_main[i+1]) {
buffer_line_main[i] = band_upper;
}
}
}
else if(Close[i+1]<buffer_line_main[i+1]) {
if(band_upper<buffer_line_main[i+1]) {
buffer_line_main[i] = band_upper;
}
else {
buffer_line_main[i] = buffer_line_main[i+1];
}
}
else if(Close[i+1]>buffer_line_main[i+1]) {
buffer_line_main[i] = band_upper;
}
buffer_line_down[i] = buffer_line_main[i];
buffer_line_down[i+1] = buffer_line_main[i+1];
if(buffer_line_up[i]!=EMPTY_VALUE) {
buffer_line_up[i] = EMPTY_VALUE;
}
}
}
if(EA_Export) {
for(i=0; i<3; i++) {
if(buffer_line_main[i]!=EMPTY_VALUE) {
GlobalVariableSet(prefix+"_Main_"+i, buffer_line_main[i]);
}
else {
GlobalVariableSet(prefix+"_Main_"+i, 0);
}
if(buffer_line_up[i]!=EMPTY_VALUE) {
GlobalVariableSet(prefix+"_Up_"+i, buffer_line_up[i]);
}
else {
GlobalVariableSet(prefix+"_Up_"+i, 0);
}
if(buffer_line_down[i]!=EMPTY_VALUE) {
GlobalVariableSet(prefix+"_Down_"+i, buffer_line_down[i]);
}
else {
GlobalVariableSet(prefix+"_Down_"+i, 0);
}
}
}
return(0);
}[/HTML]
Comment
-
Probably did that wrong sorry , im hopless with this kind of thing .....last time I was here I could just add attachments?
Comment
Latest Posts
Collapse
Topics | Statistics | Last Post | ||
---|---|---|---|---|
Started by geddyisodin, 04-25-2024, 05:20 AM
|
8 responses
61 views
0 likes
|
Last Post Yesterday, 10:45 AM | ||
Started by jxs_xrj, 01-12-2020, 09:49 AM
|
4 responses
3,288 views
1 like
|
Last Post
by jgualdronc
Today, 10:02 AM
|
||
Can someone turn this thinkscript into a ninjascript. 5PM CST OHL and Previous Day
by Option Whisperer
Started by Option Whisperer, Today, 09:55 AM
|
0 responses
5 views
0 likes
|
Last Post Today, 09:55 AM | ||
Started by halgo_boulder, 04-20-2024, 08:44 AM
|
2 responses
22 views
0 likes
|
Last Post Today, 09:41 AM | ||
Started by mishhh, 05-25-2010, 08:54 AM
|
19 responses
6,189 views
0 likes
|
Last Post
by rene69851
Today, 09:29 AM
|
Comment