1.�� kd Դ��
2.期货软件TB系统源代码解读系列4-RSI
3.MT4的源源码MACD、KD、源源码RSI怎样弄到文华财经上?
4.怎么把KD指标买卖点在主图中用红绿箭头显示请大师编写个公式
�� kd Դ��
{ 在公式管理器窗口中 新建一个指标 随便命名 复制以下源码粘贴即可}
RSV:=(CLOSE-LLV(LOW,源源码9))/(HHV(HIGH,9)-LLV(LOW,9))*;
K:SMA(RSV,3,1);
D:SMA(K,3,1);
J:3*K-2*D;
;
;
;
期货软件TB系统源代码解读系列4-RSI
这个辅助判断系统,将其程序化以进行交易,源源码论坛源码出售源码效果如何?我们先来看看这个系统中使用的源源码关键函数Average。这是源源码一个用于计算平均值的函数,与我们之前接触的源源码AverageFC相似,但也有一定的源源码区别。其代码如下:
Params
NumericSeries Price(1);
Numeric Length();
Vars
Numeric AvgValue;
Begin
AvgValue = Summation(Price,源源码 Length) / Length;
Return AvgValue;
End
这是一个简单的平均值计算函数,编写完成后,源源码我们能方便地调用它。源源码海豚伏击指标源码接下来是源源码相对强弱指数(RSI)的代码:
Params
Numeric Length();
Numeric OverSold();
Numeric OverBought();
Vars
NumericSeries NetChgAvg(0);
NumericSeries TotChgAvg(0);
Numeric SF(0);
Numeric Change(0);
Numeric ChgRatio(0);
Numeric RSIValue;
Begin
If(CurrentBar <= Length - 1)
{
NetChgAvg = (Close - Close[Length]) / Length;
TotChgAvg = Average(Abs(Close - Close[1]), Length);
}
Else
{
SF = 1/Length;
Change = Close - Close[1];
NetChgAvg = NetChgAvg[1] + SF * (Change - NetChgAvg[1]);
TotChgAvg = TotChgAvg[1] + SF * (Abs(Change) - TotChgAvg[1]);
}
If(TotChgAvg != 0)
{
ChgRatio = NetChgAvg / TotChgAvg;
}
else
{
ChgRatio = 0;
}
RSIValue = * (ChgRatio + 1);
PlotNumeric("RSI", RSIValue);
PlotNumeric("超买", OverBought);
PlotNumeric("超卖", OverSold);
End
了解了RSI的计算方法后,我们将它融入程序化交易中变得简单,源源码只需添加买卖条件即可。源源码至于效果,源源码它能帮助判断市场处于超买或超卖状态,小程序矩阵源码但价格变动并非单一数据所能决定,RSI只是辅助判断依据。接下来,我将展示基于RSI的程序化代码:
Params
Numeric Length();
Numeric OverSold();
Numeric OverBought();
Numeric StopPoint();
Numeric ProfitPoint();
Numeric StopLossSet();
Vars
NumericSeries NetChgAvg(0);
NumericSeries TotChgAvg(0);
Numeric SF(0);
Numeric Change(0);
Numeric ChgRatio(0);
NumericSeries RSIValue;
//其他变量...
Begin
// RSIValue计算和交易逻辑...
了解这个程序化代码后,我们添加了开仓和止损的湖北溯源码鱼胶限制条件,以实现自动化交易。然而,即便添加了限制,交易效果仍然有限。如果移除止损设置,038红外遥控源码效果会有所改善,但价格波动的复杂性意味着,单一指标难以完全预测市场走向。这个辅助系统可以作为交易策略的一部分,但投资者应结合其他技术分析工具和市场动态,以提高决策的准确性。明日,我将分享基于移动均线、MACD和KD指标的综合交易策略代码,以提供更全面的分析视角。
MT4的MACD、KD、RSI怎样弄到文华财经上?
MACD有没有大神能把MT4上的单线MACD指标改成通达信,或者文华财经能用的,万分感谢下面是指标源码:
//+------------------------------------------------------------------+
//| Custom MACD.mq4 |
//| Copyright -, MetaQuotes Software Corp. |
//| |
//+------------------------------------------------------------------+
#property copyright "-, MetaQuotes Software Corp."
#property link ""
#property description "Moving Averages Convergence/Divergence"
#property strict
#include <MovingAverages.mqh>
//--- indicator settings
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Silver
#property indicator_color2 Red
#property indicator_width1 2
//--- indicator parameters
input int InpFastEMA=; // Fast EMA Period
input int InpSlowEMA=; // Slow EMA Period
input int InpSignalSMA=9; // Signal SMA Period
//--- indicator buffers
double ExtMacdBuffer[];
double ExtSignalBuffer[];
//--- right input parameters flag
bool ExtParameters=false;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit(void)
{
IndicatorDigits(Digits+1);
//--- drawing settings
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_LINE);
SetIndexDrawBegin(1,InpSignalSMA);
//--- indicator buffers mapping
SetIndexBuffer(0,ExtMacdBuffer);
SetIndexBuffer(1,ExtSignalBuffer);
//--- name for DataWindow and indicator subwindow label
IndicatorShortName("MACD("+IntegerToString(InpFastEMA)+","+IntegerToString(InpSlowEMA)+","+IntegerToString(InpSignalSMA)+")");
SetIndexLabel(0,"MACD");
SetIndexLabel(1,"Signal");
//--- check for input parameters
if(InpFastEMA<=1 || InpSlowEMA<=1 || InpSignalSMA<=1 || InpFastEMA>=InpSlowEMA)
{
Print("Wrong input parameters");
ExtParameters=false;
return(INIT_FAILED);
}
else
ExtParameters=true;
//--- initialization done
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence |
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime& time[],
const double& open[],
const double& high[],
const double& low[],
const double& close[],
const long& tick_volume[],
const long& volume[],
const int& spread[])
{
int i,limit;
//---
if(rates_total<=InpSignalSMA || !ExtParameters)
return(0);
//--- last counted bar will be recounted
limit=rates_total-prev_calculated;
if(prev_calculated>0)
limit++;
//--- macd counted in the 1-st buffer
for(i=0; i<limit; i++)
ExtMacdBuffer=iMA(NULL,0,InpFastEMA,0,MODE_EMA,PRICE_CLOSE,i)-
iMA(NULL,0,InpSlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//--- signal line counted in the 2-nd buffer
SimpleMAOnBuffer(rates_total,prev_calculated,0,InpSignalSMA,ExtMacdBuffer,ExtSignalBuffer);
//--- done
return(rates_total);
}
//+------------------------------------------------------------------+
DIFF : EMA(CLOSE,) - EMA(CLOSE,), COLORSTICK;
DEA : EMA(DIFF,9);
送你 都能用应该
怎么把KD指标买卖点在主图中用红绿箭头显示请大师编写个公式
1、软件本身有这个功能,在主图点右键,会弹出对话框,如下图,按相应项进行选择:2、如果你觉得系统自带的,无法满足你的要求,下面是公式源码:
value_a1:=cross(kd.k,kd.d);
value_a2:=cross(kd.d,kd.k);
drawicon(value_a1,low*0.,1);
drawicon(value_a2,high*1.,2);