|
應該是把1分鐘圖包含在5k裡面
縮小看5K 10K的型態 趨勢
放大看內部的1k有沒有比較有利的點位. ...
unbattle 發表於 11-8-13 12:34 PM
大大~ 這類的還不少喔
1K in 5K
- _SECTION_BEGIN("2 Timeframes Candlestick Bar Chart");
- Version(5.21);
- SetChartOptions(2, chartShowDates);
- Title = Name();
- //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- // PARAMETERS AND SETTINGS:
- //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- ChartLum = Param("Chart Background Color Intensity", 0.40, 0, 1, 0.01);
- TFMinShort = Param("Short Timeframe (Minutes)", 1, 1, 60, 1);
- TFMinLong = Param("Long Timeframe (Minutes)", 5, 1, 60, 1);
- OnSTFBars = ParamToggle("Short TF Bars", "Off, On", 1);
- OnLTFBars = ParamToggle("Long TF Bars", "Off, On", 1);
- BarLum1 = Param("Short TF Bar Color Intensity", 0, 0, 1, 0.01);
- BarLum2 = Param("Long TF Bar Color Intensity", 0.70, 0, 1, 0.01);
- SetChartBkColor(ColorBlend(colorLightBlue, colorWhite, ChartLum));
- // Bar Colors for the Short Timeframe candlestick bars:
- LineColor = ColorBlend(colorBlack, colorWhite, BarLum1);
- UpBarColor = ColorBlend(colorRed, colorWhite, BarLum1);
- DnBarColor = ColorBlend(colorBrightGreen , colorWhite, BarLum1);
- // Bar Colors For The Long Timeframe candlestick bars:
- TFLineColor = ColorBlend(colorBlack, colorWhite, BarLum2 - 0.1);
- TFUpBarColor = ColorBlend(colorRed , colorWhite, BarLum2);
- TFDnBarColor = ColorBlend(colorBrightGreen , colorWhite, BarLum2);
- //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- // FUNCTIONS:
- //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- function GetVisibleBarCount()
- {
- lvb = Status("lastvisiblebar");
- fvb = Status("firstvisiblebar");
- return Min( Lvb - fvb, BarCount - fvb );
- }
- function GfxConvertBarToPixelX( bar )
- {
- lvb = Status("lastvisiblebar");
- fvb = Status("firstvisiblebar");
- pxchartleft = Status("pxchartleft");
- pxchartwidth = Status("pxchartwidth");
- return pxchartleft + bar * pxchartwidth / ( Lvb - fvb + 1 );
- }
- function GfxConvertValueToPixelY( Value )
- {
- local Miny, Maxy, pxchartbottom, pxchartheight;
- Miny = Status("axisminy");
- Maxy = Status("axismaxy");
- pxchartbottom = Status("pxchartbottom");
- pxchartheight = Status("pxchartheight");
- return pxchartbottom - floor( 0.5 + ( Value - Miny ) * pxchartheight/ ( Maxy -
- Miny ) );
- }
- StaticVarKey = Name();
- procedure xStaticVarSet(SName, SValue)
- {
- global StaticVarKey;
- if (StaticVarKey != "")
- StaticVarSet(Sname + StaticVarKey, Svalue);
- }
- //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- // MAIN PROGRAM:
- //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- if(Interval() != TFMinShort * 60)
- {
- Title = Title + "\n" + "\n" + "ALERT, ALERT, ALERT!!!" + "\n" + "Set the chart
- time Interval to: " + NumToStr(TFMinShort, 1.0, 1) +
- " Minute(s) or change the Short Timeframe Parameter setting.";
- OnSTFBars = 0;
- OnLTFBars = 0;
- SetChartBkColor(colorRose);
- }
- if(TFMinShort >= TFMinLong)
- {
- Title = Title + "\n" + "\n" + "ALERT, ALERT, ALERT!!!" + "\n" + "The Long
- Timeframe setting must be longer than the Short Timeframe!";
- OnSTFBars = 0;
- OnLTFBars = 0;
- SetChartBkColor(colorRose);
- }
- if(OnSTFBars)
- {
- BarColor = IIf(Close > Open, UpBarColor, DnBarColor);
- SetBarFillColor(BarColor);
- Plot(Close, "", LineColor, styleCandle);
- }
- else
- Plot(Close, "", colorBlack, styleCandle | styleNoDraw);
- TFSec = in1Minute * TFMinLong;
- TimeFrameSet(TFSec);
- TFOpen = Open;
- TFHigh = High;
- TFLow = Low;
- TFClose = Close;
- TFBarIndex = BarIndex();
- TFLastBarIndex = LastValue(BarIndex());
- TimeFrameRestore();
- TFOpen = TimeFrameExpand(TFOpen, TFSec, expandFirst);
- TFHigh = TimeFrameExpand(TFHigh, TFSec, expandFirst);
- TFLow = TimeFrameExpand(TFLow, TFSec, expandFirst);
- TFClose = TimeFrameExpand(TFClose, TFSec, expandFirst);
- TFBarIndex = TimeFrameExpand(TFBarIndex, TFSec, expandLast + 1);
- TFLastBarIndex = TimeFrameExpand(TFLastBarIndex, TFSec, expandLast + 1);
- CandleTop = Max(TFOpen, TFClose);
- CandleBottom = Min(TFOpen, TFClose);
- //============================================================================
- // GFX LOW-LEVEL GRAPHICS SECTION.
- // DRAWING THE LONG TIMEFRAME CANDLESTICK BARS:
- //============================================================================
- if(OnLTFBars)
- {
- GfxSetOverlayMode(1);
- AllVisibleBars = GetVisibleBarCount();
- fvb = Status("firstvisiblebar");
- ChartWidth = GfxConvertBarToPixelX(AllVisibleBars );
- PixBar = ChartWidth / AllVisibleBars;
- Adjust = Pixbar * 0.35;
- TFMinutes = TFMinLong / TFMinShort;
- NewTFBar = IIf(TFBarIndex != Ref(TFBarIndex, -1), 1, 0);
- BarInd = BarIndex();
- TFLastBarIndex = LastValue(TFLastBarIndex);
- // DRAW BAR HISTORY AND THE CURRENT BAR:
- for(i = 0; i < AllVisibleBars; i++)
- {
- x1 = GfxConvertBarToPixelX(i) * NewTFBar[i + fvb] - Adjust;
- if(BarInd[i + fvb] < TFLastBarIndex AND NewTFBar[i + fvb] == 1)
- {
- Counter = 0;
- for(n = i + 1; NewTFBar[n + fvb] == 0 AND n + fvb < BarCount-1; n++)
- Counter++;
- x2 = GfxConvertBarToPixelX(i + Counter) * NewTFBar[i + fvb] + 1 + Adjust;
- }
- if(TFBarIndex[i + fvb] == TFLastBarIndex)
- x2 = GfxConvertBarToPixelX(i + TFMinutes - 1) * NewTFBar[i + fvb] + 1 +
- Adjust;
- y1 = GfxConvertValueToPixelY(CandleTop[i + fvb]);
- y2 = GfxConvertValueToPixelY(CandleBottom[i + fvb]);
- yH = GfxConvertValueToPixelY(TFHigh[i + fvb]);
- yL = GfxConvertValueToPixelY(TFLow[i + fvb]);
- // Candle Body:
- GfxSelectPen(TFLineColor, 0);
- FillColor = IIf(TFOpen[i + fvb] < TFClose[i + fvb], TFUpBarColor,
- TFDnBarColor);
- GfxSelectSolidBrush(FillColor);
- if(y1 == y2){y1 = y1 - Adjust; y2 = y2 + Adjust;
- GfxSelectSolidBrush(TFLineColor);}
- if(x1 > 0){
- GfxRectangle( x1, y1, x2, y2);
- // Candle High and Low:
- GfxSelectPen(TFLineColor, 2);
- GfxMoveTo(x2+(x1-x2)/2, y1);
- GfxLineTo(x2+(x1-x2)/2, yH);
- GfxMoveTo(x2+(x1-x2)/2, y2);
- GfxLineTo(x2+(x1-x2)/2, yL);
- RequestTimedRefresh(0);
- }
- }
- }
- _SECTION_END();
複製代碼
參考看看了~~ |
評分
-
查看全部評分
|