新手求教,這是我自己編的MACD金叉死叉交易,求指正
作者:開(kāi)拓者 TB 來(lái)源:cxh99.com 發(fā)布時(shí)間:2013年03月04日
- 咨詢內(nèi)容:
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue;
Numeric AvgMACD;
Numeric MACDDiff;
Bool Condition1;
Bool Condition2;
Begin
MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;
AvgMACD = XAverage(MACDValue,MACDLength);
MACDDiff = MACDValue - AvgMACD;
PlotNumeric("MACD",MACDValue);
PlotNumeric("MACDAvg",AvgMACD);
If (MACDDiff >= 0)
PlotNumeric("MACDDiff",MACDDiff,0,Red);
Else
PlotNumeric("MACDDiff",MACDDiff,0,Green);
PlotNumeric("零線",0);
Condition1 = CrossOver(MACDValue,AvgMACD); //金叉買(mǎi)進(jìn)
Condition2 = CrossOver(AvgMACD,MACDValue); //死叉賣(mài)出
if (Condition1)
{
Buy(1,Open);
}
if (Condition2)
{
SellShort(1,Open);
}
End
然后我測(cè)試時(shí)發(fā)現(xiàn)金叉死叉還沒(méi)確定下來(lái)正在波動(dòng)時(shí)就給我自動(dòng)觸發(fā)買(mǎi)賣(mài)
我是否要改為:
Condition1 = CrossOver(MACDValue[1],AvgMACD[1]); //由前一根K線確認(rèn)金叉死叉才決定買(mǎi)進(jìn)賣(mài)出
Condition2 = CrossOver(AvgMACD[1],MACDValue[1]);
這是我自己第一次用這軟件,還有哪里需要改進(jìn)的地方嗎?求高手指點(diǎn)
- TB技術(shù)人員:
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue;
Numeric AvgMACD;
Numeric MACDDiff;
BoolSeries Condition1;
BoolSeries Condition2;
Begin
MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;
AvgMACD = XAverage(MACDValue,MACDLength);
MACDDiff = MACDValue - AvgMACD;
PlotNumeric("MACD",MACDValue);
PlotNumeric("MACDAvg",AvgMACD);
If (MACDDiff >= 0)
PlotNumeric("MACDDiff",MACDDiff,0,Red);
Else
PlotNumeric("MACDDiff",MACDDiff,0,Green);
PlotNumeric("零線",0);
Condition1 = CrossOver(MACDValue,AvgMACD); //金叉買(mǎi)進(jìn)
Condition2 = CrossUnder(MACDValue,AvgMACD); //死叉賣(mài)出
if (Condition1[1])
{
Buy(1,Open);
}
if (Condition2[1])
{
SellShort(1,Open);
}
End
- TB客服:
你看下這是按照你的意思改的, 【當(dāng)然寫(xiě)法是按照我的習(xí)慣改的,】,,你的寫(xiě)法的確實(shí)要改成
Condition1 = CrossOver(MACDValue[1],AvgMACD[1]); //由前一根K線確認(rèn)金叉死叉才決定買(mǎi)進(jìn)賣(mài)出
Condition2 = CrossOver(AvgMACD[1],MACDValue[1]);
如果不改 ,,你就用到了未來(lái)函數(shù)了
- 網(wǎng)友回復(fù):
跟你寫(xiě)的區(qū)別在: BoolSeries Condition1;
BoolSeries Condition2; Condition2 = CrossUnder(MACDValue,AvgMACD); //死叉賣(mài)出
if (Condition1[1])
if (Condition2[1])
- 網(wǎng)友回復(fù):
月夜微涼 發(fā)表于 2013-1-17 02:05
跟你寫(xiě)的區(qū)別在: BoolSeries Condition1;
BoolSeries Condition2; Con ...
謝謝指點(diǎn),我還想問(wèn)問(wèn)
CrossOver(AvgMACD,MACDValue);
CrossUnder(MACDValue,AvgMACD);
應(yīng)該不會(huì)有區(qū)別吧?
比較苦惱是如果改為由上一根K線確定金叉死叉才進(jìn)場(chǎng)會(huì)就滯后了 ,價(jià)格沒(méi)優(yōu)勢(shì),如果把開(kāi)倉(cāng)價(jià)格上調(diào)/下調(diào)又怕成交不了 |