每天SIGNAL的獨立
左面黑色是9月4日的圖, 入面有一個SELL SIGNAL, 由於我用了語法
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
所以就算9月5日(右面紅色)的SELL SIGNAL條件符合, 也沒有SELL SIGNAL, 請問如何把每天的SIGNAL 獨立, 請各位大大多多指教, 謝謝!!
當沖嗎?是不是在收盤前平倉隔日做會產生新的賣初訊訊號。還是留倉呢?隔日加碼一口?
例如:
SELL SIGNAL的條件為5MIN MACD CROSS DOWN + 10MIN MACD CROSS DOWN
9月4日下午15:40出了SELL SIGNAL,直到16:15收巿5MIN 和10MIN MACD也是CROSS DOWN
9月5日早上開巿有下跌裂口, 所以5MIN 和10MIN MACD 也是CROSS DOWN, 我想在9月5日開巿那一刻也出SELL SIGNAL, 無視以下語法
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
keithlsp 發表於 12-9-5 17:09 static/image/common/back.gif
例如:
SELL SIGNAL的條件為5MIN MACD CROSS DOWN + 10MIN MACD CROSS DOWN
9月4日下午15:40出了SELL SIGNAL ...
無關下單口數,僅就視覺效果之要求囉?
是啊, 就是這樣{:4_90:} 再加入下列方式
1. 判斷前一個訊號出現日期,BarsSince
2. 判斷換日,Day() != Ref( Day(), -1 )
3. 多一組 PlotShapes
應該可以達到你的需求 ~ 參考看看囉 多謝enochyu指教, 但我還是不太明白Array的運作
BB =BarsSince(Buy);
TB=BarsSince(Day()!=Ref(Day(),-1));
SS=BB>TB;
_TRACE("STAT:"+SS); //Result "STAT:1"
if(SS) //ERROR!! 為什麼不能這樣
{
//do something
} 本帖最後由 enochyu 於 12-9-8 00:43 編輯
keithlsp 發表於 12-9-7 12:59 http://www.coco-in.net/static/image/common/back.gif
多謝enochyu指教, 但我還是不太明白Array的運作
BB =BarsSince(Buy);
小範例,參考看看{:4_153:}
//
// set chart, title style
//
SetChartOptions( 0, chartShowArrows | chartShowDates | chartWrapTitle );
_N(Title = StrFormat( "{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ) );
//
// define parameter
//
_DateLine = Day() != Ref( Day(), -1 );
_FMA = MA( Close, 15 );
_SMA = MA( Close, 45 );
Buy = _FMA > _SMA;
Sell = _FMA <= _SMA;
//
// draw day end line
//
Plot( _DateLine
, ""
, ColorRGB( 50, 50, 50 )
, styleHistogram | styleOwnScale
, 0
, 1 );
//
// draw ma line
//
Plot( _FMA
, "FMA"
, colorYellow
, styleLine );
Plot( _SMA
, "SMA"
, colorBlue
, styleLine );
//
// draw buy, sell shapes
//
PlotShapes( ExRem( Buy, Sell ) * shapeUpArrow
+ ExRem( Sell, Buy ) * shapeDownArrow
, IIf( Buy, colorYellow, colorBlue )
, 0
, IIf( Buy, Low, High )
, -40 );
//
// draw candle line
//
Plot( C
, "Close"
, ParamColor( "Color", colorBlack )
, styleNoTitle | ParamStyle( "Style" ) | GetPriceStyle() ); 圖例
------
加入 Line 9, 39, 40 行程式碼,我想應該就是你要的效果{:4_153:}
//
// set chart, title style
//
SetChartOptions( 0, chartShowArrows | chartShowDates | chartWrapTitle );
_N(Title = StrFormat( "{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ) );
//
// define parameter
//
_DateLine = Day() != Ref( Day(), -1 );
_FMA = MA( Close, 15 );
_SMA = MA( Close, 45 );
Buy = _FMA > _SMA;
Sell = _FMA <= _SMA;
//
// draw day end line
//
Plot( _DateLine
, ""
, ColorRGB( 50, 50, 50 )
, styleHistogram | styleOwnScale
, 0
, 1 );
//
// draw ma line
//
Plot( _FMA
, "FMA"
, colorYellow
, styleLine );
Plot( _SMA
, "SMA"
, colorBlue
, styleLine );
//
// draw buy, sell shapes
//
PlotShapes( ExRem( Buy, Sell ) * shapeUpArrow
+ ExRem( Sell, Buy ) * shapeDownArrow
+ Buy * _DateLine * shapeUpArrow
+ Sell * _DateLine * shapeDownArrow
, IIf( Buy, colorYellow, colorBlue )
, 0
, IIf( Buy, Low, High )
, -40 );
//
// draw candle line
//
Plot( C
, "Close"
, ParamColor( "Color", colorBlack )
, styleNoTitle | ParamStyle( "Style" ) | GetPriceStyle() );圖例
enochyu 大真的是 AB 神人~~~ kilroy 發表於 12-9-8 00:23 static/image/common/back.gif
enochyu 大真的是 AB 神人~~~
kilroy大,客氣啦 ~ 各位高手都潛水去了,就由小弟代勞 {:4_121:}
真的很高興又多了一位 AmiBroker 的同好 {:4_140:}
本帖最後由 keithlsp 於 12-9-8 02:45 編輯
enochyu大大的答覆令我很感動, 從中學到很多AFL的技巧
PlotShapes( ExRem( Buy, Sell ) * shapeUpArrow
+ ExRem( Sell, Buy ) * shapeDownArrow
+ Buy * _DateLine * shapeUpArrow
+ Sell * _DateLine * shapeDownArrow
, IIf( Buy, colorYellow, colorBlue )
, 0
, IIf( Buy, Low, High )
, -40 );
這句的意義我明白了, 就以BUY 為例子:
不會重覆的BUY SIGNAL* shapeUpArrow , BUY SIGNAL 出現在_DRAWLINE* shapeUpArrow......
但有一個情況:
在9月6日的19069出了BUY SIGNAL, 其間又沒有SELL SIGNAL 出現o 在9月7日的開巿, 還沒有到達出現BUY SIGNAL 的情況, 而在開巿後數分鐘, BUY SIGNAL 的條件符合, 但這一刻已不能出現BUY SIGNAL, 因為ExRem
所以正如大大之前說的話, 用BarsSince應該能夠解決這個問題呢, 但在下面的SS 結果是"1", True 的情況, 為何在IF 條件中是不行...
BB =BarsSince(Buy);
TB=BarsSince(Day()!=Ref(Day(),-1));
SS=BB>TB;
_TRACE("STAT:"+SS); //Result "STAT:1"
if(SS) //ERROR!! 為什麼不能這樣
{
//do something
}
keithlsp 發表於 12-9-8 02:43 http://www.coco-in.net/static/image/common/back.gif
enochyu大大的答覆令我很感動, 從中學到很多AFL的技巧
PlotShapes( ExRem( Buy, Sell ) * shapeUpArrow
小改版 Line 37 ~ 49,這樣應該可以解決你的問題了 ~ {:4_121:}
//
// set chart, title style
//
SetChartOptions( 0, chartShowArrows | chartShowDates | chartWrapTitle );
_N(Title = StrFormat( "{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ) );
//
// define parameter
//
_DateLine = Day() != Ref( Day(), -1 );
_FMA = MA( Close, 15 );
_SMA = MA( Close, 45 );
Buy = _FMA > _SMA;// AND TimeNum() > 90000;
Sell = _FMA <= _SMA;// AND TimeNum() > 90000;
//
// draw day end line
//
Plot( _DateLine
, ""
, ColorRGB( 50, 50, 50 )
, styleHistogram | styleOwnScale
, 0
, 1 );
//
// draw ma line
//
Plot( _FMA
, "FMA"
, colorYellow
, styleLine );
Plot( _SMA
, "SMA"
, colorBlue
, styleLine );
//
// draw buy, sell shapes
//
_InitBuyShape = ExRem( Buy, Sell );
_InitSellShape= ExRem( Sell, Buy );
_HardShowShappe = Ref( Day(), Min( BarsSince( _InitBuyShape ), BarsSince( _InitSellShape ) ) * -1 ) != Day();
_HardBuyShape = ExRem( Buy * _HardShowShappe, Sell );
_HardSellShape= ExRem( Sell * _HardShowShappe, Buy );
PlotShapes( _InitBuyShape * shapeUpArrow
+ _InitSellShape * shapeDownArrow
+ _HardBuyShape * shapeUpArrow
+ _HardSellShape * shapeDownArrow
, IIf( Buy, colorYellow, colorBlue )
, 0
, IIf( Buy, Low, High )
, -40 );
//
// draw candle line
//
Plot( C
, "Close"
, ParamColor( "Color", colorBlack )
, styleNoTitle | ParamStyle( "Style" ) | GetPriceStyle() );
enochyu 大大真神人也, 成功了!!!
頁:
[1]