View difference between Paste ID: cx765ZtZ and 2YKWTK7X
SHOW: | | - or go back to the newest paste.
1
void start()
2
{  
3
   double lot = 0.1;            // so 1 pip = 1 dollar
4
	if(Volume[0] != 1) return;   // only trade on candle beginning
5
	pipValue = get_pip_value();  // get pip value
6
7
	//
8
	// PUT YOUR CODE BELOW HERE:
9
	//
10
11-
   // exit trades based on signal line <-> buffer
11+
  	// exit trades based on signal line <-> buffer
12
	double macd_histogram  = get_MACD(0, 1, InpFastEMA, InpSlowEMA, InpSignalSMA);
13
	double macd_line       = get_MACD(1, 1, InpFastEMA, InpSlowEMA, InpSignalSMA);
14
15
	if(macd_histogram > macd_line) { close_orders(-1); }  // close shorts when histogram is above signal
16
	if(macd_histogram < macd_line) { close_orders(+1); }  // close longs when histogram is beyond signal
17
	
18
	// enter trades based on a zero-line cross
19-
   double macd_histogram_now  = get_MACD(0, 1, InpFastEMA, InpSlowEMA, InpSignalSMA); // 1 bar  in past; mode is 0 for histogram
19+
   	double macd_histogram_now  = get_MACD(0, 1, InpFastEMA, InpSlowEMA, InpSignalSMA); // 1 bar  in past; mode is 0 for histogram
20
	double macd_histogram_past = get_MACD(0, 2, InpFastEMA, InpSlowEMA, InpSignalSMA); // 2 bars in past; mode is 0 for histogram	
21
	
22
	if(macd_histogram_past < 0 && macd_histogram_now > 0) // macd histogram crossed from beyond -> above zero line
23
	   if(open_trades() == 0) // only 1 open trade at a time
24
	      trade (+1);   
25
	   
26
	if(macd_histogram_past > 0 && macd_histogram_now < 0) // macd histogram crossed from above -> beyond zero line
27
	   if(open_trades() == 0)  // only 1 open trade at a time
28
	      trade (-1);   
29
}