left75 發表於 10-3-7 21:40

有誰會patternexplorer?

本帖最後由 left75 於 10-3-7 09:49 PM 編輯

不知道大家有沒有用過
http://www.patternexplorer.com/
的功能呢?

感覺還蠻酷的,

希望有大大可以教學。

綠茶妹 發表於 10-3-7 22:03

看起來是外掛在AmiBroker的軟體,但是它的功能是什麼,看不出來。
有人知道嗎?

綠茶妹 發表於 10-3-8 10:04

回復 3# blue


    漂亮喲!請問要付費嗎?

TrendRover 發表於 10-3-8 15:52

回復 3# blue

Blue大研究過GMMA ,用的如何?
metastock10的 RMO indicator 用過嗎? 那是metastock 的號招點 !!

TrendRover 發表於 10-3-8 16:00

我用過SAFIR 的demo function .程式好了再用SAFIR 優化 有人試過嗎?
但一定得和TRADESTATITION一起RUN喔!說比 NuroSHELL good ,who knows.(blackbox only)
   blackbox 如果可多搾 一些,撥一account 給他TRY個一年 !!
我是amazing 來形容!SAFIR supportforward tersting by half datas .

TrendRover 發表於 10-3-8 19:56

回復 8# blue

這一程式是rainbow的樣子 .
   有朋友買metastock10 EOD 不好意思跟他借來run 看看 多強 .
(RMO 號稱是亞洲1997風暴的要角 )

綠茶妹 發表於 10-3-8 22:26

推推!看起來好華麗,好複雜。

moneymaker 發表於 10-4-11 19:15

先來試試看{:4_627:}

auvitin 發表於 11-4-11 23:13

auvitin 發表於 11-4-11 23:18

auvitin 發表於 11-4-11 23:27

//|-----------------------------------------------------------------------------------------
//|PatternExplorer.com - Rainbow Chart
//|Copyright © 2007, PatternExplorer.com
//|http://www.PatternExplorer.com
//|e-mail: support@PatternExplorer.com
//|-----------------------------------------------------------------------------------------
FormulaName = "PE - Rainbow Chart";

SetChartOptions( 0, chartShowDates | chartShowArrows | chartLogarithmic | chartWrapTitle );
#pragma nocache
#include_once<\PEInc\PatternExplorer_f0.afl>
#include_once "C:\Program Files\AmiBroker\Formulas\PatternExplorer\#Defaults & Mods\PE - Defaults.afl"
#include_once "C:\Program Files\AmiBroker\Formulas\PatternExplorer\#Defaults & Mods\PE - Mods.afl"
/*******************************************************************************************/
AddCustomCodeBeforePE();
/*******************************************************************************************/
AddAlertParam( def_AudioAlert, def_EmailAlert, def_BarComplete );
/*******************************************************************************************/
_SECTION_BEGIN( "Main Parameters" );
//AddparamUsefromChart(1);
side = 1;
AddAvgTypeParam( 1 );
//if(InChart) StaticVarSet("B4G8C8",AvgType);if(inAA AND Usefromchart) AvgType = StaticVarGet("B4G8C8");
PF = ParamField( "Price Field" );
//PF parameter from chart not available automatically in AA. It has to be selected in AA if not close is used.
increment = Param( "Increment", 2, 1, 10, 1 );
//if(InChart) StaticVarSet("F6P4C8",increment);if(inAA AND Usefromchart) increment = StaticVarGet("F6P4C8");
StartAvg = Param( "Fastest Average (Period)", 3, 1, 20, 1 );
//if(InChart) StaticVarSet("W6O4D1",StartAvg);if(inAA AND Usefromchart) StartAvg = StaticVarGet("W6O4D1");
LastAvg = Param( "Slowest Average (Max.Period)", 20, 1, 100, 1 );
//if(InChart) StaticVarSet("G4C0A6",LastAvg);if(inAA AND Usefromchart) LastAvg = StaticVarGet("G4C0A6");
_SECTION_END();
/*******************************************************************************************/
_SECTION_BEGIN( "Styles" );
Effect = ParamToggle( "3D Effect", "No|Yes", 0 );
DisplayType = ParamToggle( "Plot Style", "Lines,Shadows", def_LinesORShadows );
LineStyle = ParamStyle( "Lines", styleThick, maskDefault );
Shapes = ParamToggle( "Plot Shapes", "Off,On", 1 );
Buyshape = Param( "Buy Shape Typ", def_BuyShape, 0, 50, 1 );
SellShape = Param( "Sell Shape Typ", def_SellShape, 0, 50, 1 );
_SECTION_END();
/*******************************************************************************************/
Count = 0;

for ( i = StartAvg; i < LastAvg; i = i + increment )
{
    /*******************************************************************************************/
    _SECTION_BEGIN( "Colors" );
    Hue = Param( "Hue", 15, 1, 50, 1 ) * i;
    Saturation = Param( "Saturation", 150, 0, 255 );
    Brightness = side * Param( "Brightness", 200, 0, 255 );
    Buyshapecolor = ParamColor( "Buy Shape Color", def_BuyShapeColor );
    Sellshapecolor = ParamColor( "Sell Shape Color", def_SellShapeColor );
    _SECTION_END();
    /*******************************************************************************************/
    up = Average( Pf, i, AvgType );
    down = Average( Pf, i + increment, AvgType );

    if ( Effect )
      side = IIf( up <= down AND Ref( up <= down, 1 ), 0.6, 1 );

    a = 0;

    Count = Count + 1;

    if ( DisplayType )
    {
      PlotOHLC( up, up, down, down, "Average" + i, ColorHSB( Hue, Saturation, Brightness ), styleCloud | styleNoLabel | styleNoTitle );
    }
    else
    {
      Plot( up, "Average" + i, ColorHSB( Hue, Saturation, Brightness ), LineStyle | styleNoLabel | styleNoTitle );
    }
}

Fastest = Average( Pf, StartAvg, AvgType );

SlowestPds = StartAVG + ( Count - 1 ) * Increment;
Slowest = Average( Pf, SlowestPds, AvgType );
/*******************************************************************************************/
Buy = def_Buy AND Cross( fastest, slowest );
Sell = def_Sell AND Cross( slowest, fastest );
/*******************************************************************************************/
/*
BodySize = 0.1;
HeikinAshiDoji = abs((HaClose-HaOpen))<(HaHigh-HaLow)/(1/BodySize);

Buy = def_Buy AND Close < slowest AND HaClose>HaOpen AND Ref(HeikinAshiDoji,-1);//Heikin ashi doji outside from Rainbow
Sell = def_Sell AND Close > slowest AND HaClose<HaOpen AND Ref(HeikinAshiDoji,-1);//Heikin ashi doji outside from Rainbow

//Buy = def_Buy AND (Buy OR Cross(fastest,slowest));//Rainbow signal and HA doji
//Sell = def_Sell AND (Sell OR Cross(slowest,fastest));//Rainbow signal and HA doji
*/
/*******************************************************************************************/
PlotShapes( Buy*Buyshape*Shapes, Buyshapecolor, 0, L, -def_BuyShapeOffset - 5 );
PlotShapes( Sell*Sellshape*Shapes, Sellshapecolor, 0, H, -def_SellShapeOffset - 5 );
/*******************************************************************************************/
AddAlert( Buy, Audio, Email, "Fastest Average crossed slowest Average", 1, BarComplete, def_BuySound1 );
AddAlert( Sell, Audio, Email, "Slowest Average crossed Fastest Average", 2, BarComplete, def_SellSound1 );
/*******************************************************************************************/
Filter = def_Filter AND NOT GroupID() == 253;
Filter = Filter AND ( Buy OR Sell );
/*******************************************************************************************/
Addefaultcolumns();
Adddefaultcolumns( 2, 1 );
AddTextColumn( FullName(), "Full name" );
/*******************************************************************************************/
ToolTip = def_ToolTip;
Title = "PatternExplorer.com - Rainbow Chart " + Avgtext;
/*******************************************************************************************/
#include_once<\PEInc\PatternExplorer_1.afl>
/*******************************************************************************************/
/*******************************************************************************************/
AddCustomCodeAfterPE();
/*******************************************************************************************/
Title = Title + default_priceTitle + " ";

auvitin 發表於 11-4-11 23:30

PatternExplorer.com - Fibonacci Recognition

_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
if( ParamToggle("Tooltip shows", "All Values|Only Prices" ) )
{
ToolTip=StrFormat("Open: %g\nHigh:%g\nLow:   %g\nClose:%g (%.1f%%)\nVolume: "+NumToStr( V, 1 ), O, H, L, C, SelectedValue( ROC( C, 1 )));
}
_SECTION_END();

_SECTION_BEGIN("MA");
P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 200, 1 );
Plot( MA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") | styleNoRescale );
_SECTION_END();

_SECTION_BEGIN("Mid MA");
P = ParamField("Price field",-1);
Periods = Param("Periods", 45, 2, 300, 1 );
Plot( MA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") | styleNoRescale );
_SECTION_END();

_SECTION_BEGIN("Long MA");
P = ParamField("Price field",-1);
Periods = Param("Periods", 100, 2, 400, 1 );
Plot( MA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") | styleNoRescale );
_SECTION_END();

_SECTION_BEGIN("BBands");
P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 300, 1 );
Width = Param("Width", 2, 0, 10, 0.05 );
Color = ParamColor("Color", colorLightGrey );
Style = ParamStyle("Style") | styleNoRescale | styleNoRescale;
Plot( BBandTop( P, Periods, Width ), "BBTop" + _PARAM_VALUES(), Color, Style );
Plot( BBandBot( P, Periods, Width ), "BBBot" + _PARAM_VALUES(), Color, Style );
_SECTION_END();

_SECTION_BEGIN("Volume");
Plot( Volume, _DEFAULT_NAME(), ParamColor("Color", colorLavender ), styleNoTitle | ParamStyle( "Style", styleHistogram | styleOwnScale | styleThick | styleNoLabel, maskHistogram), 2 );
_SECTION_END();

_SECTION_BEGIN("Price Interpretation");
movshort = ParamField("Short Time MA", 8 );
movmed = ParamField("Mid Time MA", 9 );
movlong = ParamField("Long Time MA", 10 );
btop = ParamField("BBTop", 11 );
bbot = ParamField("BBBottom", 12 );
if( Status("action") == actionCommentary )
{
width = btop - bbot;
lslop = LinRegSlope( C, 30 ) + 100;
lslo = LLV( lslop, 90 );
lshi = HHV( lslop, 90 );
lswidth = lshi - lslo;
trend = 100*( lslop - lslo )/lswidth;

mawidth = MA( width, 100 );
relwidth = 100*(width - mawidth)/mawidth;

_N( tname = Name()+"("+FullName()+")" );

printf("Price and moving averages:\n");
printf( tname + " has closed " + WriteIf( C > movshort, "above" , "below" ) + " its Short time moving average. ");

printf("\nShort time moving average is currently " + WriteIf( movshort > movmed, "above", "below") + " mid-time, AND " + WriteIf( movshort > movlong, "above", "below" ) + " long time moving averages.");

printf("\nThe relationship between price and moving averages is: "+
WriteIf( C > movshort AND movshort > movmed, "bullish",
WriteIf( C < movshort AND movshort < movmed, "bearish", "neutral" ) ) + " in short-term, and "+
WriteIf( movshort > movmed AND movmed > movlong , "bullish",
WriteIf( movshort < movmed AND movmed < movlong, "bearish", "neutral" ) ) + " in mid-long term. ");

printf("\n\nBollinger Bands:\n");
printf(tname+ " has closed " +
WriteIf( C < bbot, "below the lower band by " +
WriteVal( 100 *( bbot-C )/ width, 1.1 ) + "%%. " +
WriteIf( trend < 30, " This combined with the steep downtrend can suggest that the downward trend in prices has a good chance of continuing.However, a short-term pull-back inside the bands is likely.",
WriteIf( trend > 30 AND trend < 70, "Although prices have broken the lower band and a downside breakout is possible, the most likely scenario for "+tname+" is to continue within current trading range.", "" ) ), "" ) +

WriteIf( C > btop, "above the upper band by " +
WriteVal( 100 *( C- btop )/ width, 1.1 ) + "%%. " +
WriteIf( trend > 70, " This combined with the steep uptrend suggests that the upward trend in prices has a good chance of continuing.However, a short-term pull-back inside the bands is likely.",
WriteIf( trend > 30 AND trend < 70, "Although prices have broken the upper band and a upside breakout is possible, the most likely scenario for "+tname+" is to continue within current trading range.", "" ) ), "" ) +

WriteIf( C < btop AND ( ( btop - C ) / width ) < 0.5,
"below upper band by " +
WriteVal( 100 *( btop - C )/ width, 1.1 ) + "%%. ",
WriteIf( C < btop AND C > bbot , "above bottom band by " +
WriteVal( 100 *( C - bbot )/ width, 1.1 ) + "%%. ", "" ) ));

printf("\n"+
WriteIf( ( trend > 30 AND trend < 70 AND ( C > btop OR C < bbot ) ) AND abs(relwidth) > 40,
               "This picture becomes somewhat unclear due to the fact that Bollinger Bands arecurrently",
               "Bollinger Bands are " )+          
WriteVal( abs( relwidth ), 1.1 ) + "%% " +
WriteIf( relwidth > 0, "wider" , "narrower" ) +
" than normal.");

printf("\n");

printf(
WriteIf( abs( relwidth ) < 40, "The current width of the bands (alone) does not suggest anything conclusive about the future volatility or movement of prices.","")+
WriteIf( relwidth < -40, "The narrow width of the bands suggests low volatility as compared to " + tname + "'s normal range.Therefore, the probability of volatility increasing with a sharp price move has increased for the near-term. "+
"The bands have been in this narrow range for " + WriteVal(BarsSince(Cross(-40,relwidth)),1.0) + " bars. The probability of a significant price move increases the longer the bands remain in this narrow range." ,"")+
WriteIf( relwidth > 40, "The large width of the bands suggest high volatility as compared to " + tname + "'s normal range.Therefore, the probability of volatility decreasing and prices entering (or remaining in) a trading range has increased for the near-term. "+
"The bands have been in this wide range for" + WriteVal(BarsSince(Cross(relwidth,40)),1.0) + " bars.The probability of prices consolidating into a less volatile trading range increases the longer the bands remain in this wide range." ,""));

printf("\n\nThis commentary is not a recommendation to buy or sell. Use at your own risk.");
}
_SECTION_END();

//|-----------------------------------------------------------------------------------------
//|PatternExplorer.com - Fibonacci Recognition
//|Copyright c 2007, PatternExplorer.com
//|http://www.PatternExplorer.com
//|e-mail: support@PatternExplorer.com
//|-----------------------------------------------------------------------------------------
FormulaName = "PE - Fibonacci Recognition";

SetChartOptions( 0, chartShowDates | chartShowArrows | chartLogarithmic | chartWrapTitle );
#pragma nocache
#include_once<\PEInc\PatternExplorer_f0.afl>
#include_once "C:\Program Files\AmiBroker\Formulas\PatternExplorer\#Defaults & Mods\PE - Defaults.afl"
#include_once "C:\Program Files\AmiBroker\Formulas\PatternExplorer\#Defaults & Mods\PE - Mods.afl"
/*******************************************************************************************/
AddCustomCodeBeforePE();
/*******************************************************************************************/
_SECTION_BEGIN( "Main Parameters" );
AddparamUsefromChart( def_UseFromChart );
Sensitivity = Param( "Sensitivity", 10, 0, 100, 1 );

if ( InChart )
    StaticVarSet( "P0O3U2", Sensitivity );

if ( inAA AND Usefromchart )
    Sensitivity = StaticVarGet( "P0O3U2" );

Colorstyle = ParamToggle( "Color Mode", "S/R|Custom", 1 );

Color_SL =ParamColor( "Support (S/R Mode)", def_Color_SL );

Color_RL =ParamColor( "Resistance (S/R Mode)", def_Color_RL );

_SECTION_END();

/*******************************************************************************************/
_SECTION_BEGIN( "Levels" );

Level_1p = Param( "Level 1", 38.2, 0, 200, 1 );

Level_2p = Param( "Level 2", 50.0, 0, 200, 1 );

Level_3p = Param( "Level 3", 61.8, 0, 200, 1 );

Level_4p = Param( "Level 4", 138.2, 0, 200, 1 );

Level_5p = Param( "Level 5", 150, 0, 200, 1 );

Level_6p = Param( "Level 6", 161.8, 0, 200, 1 );

Level_7p = Param( "Level 7", 200, 0, 300, 1 );

_SECTION_END();

/*******************************************************************************************/
_SECTION_BEGIN( "Styles" );

SwingLow_style = ParamStyle( "Swing Low", styleLine + styleDots, maskAll );

SwingHigh_style = ParamStyle( "Swing High", styleLine + styleDots, maskAll );

L1_style = ParamStyle( "Level 1", styleLine + styleDashed, maskAll );

L2_style = ParamStyle( "Level 2", styleLine, maskAll );

L3_style = ParamStyle( "Level 3", styleLine + styleDashed, maskAll );

L4_style = ParamStyle( "Level 4", styleLine + styleDashed, maskAll );

L5_style = ParamStyle( "Level 5", styleLine, maskAll );

L6_style = ParamStyle( "Level 6", styleLine + styleDashed, maskAll );

L7_style = ParamStyle( "Level 7", styleLine + styleThick + styleDots, maskAll );

_SECTION_END();

/*******************************************************************************************/
_SECTION_BEGIN( "Colors" );

SwingLow_color = ParamColor( "Swing Low", def_SwingLow_color );

SwingHigh_color = ParamColor( "Swing High", def_SwingHigh_color );

L1_color = ParamColor( "Level 1", def_L1_color );

L2_color = ParamColor( "Level 2", def_L2_color );

L3_color = ParamColor( "Level 3", def_L3_color );

L4_color = ParamColor( "Level 4", def_L4_color );

L5_color = ParamColor( "Level 5", def_L5_color );

L6_color = ParamColor( "Level 6", def_L6_color );

L7_color = ParamColor( "Level 7", def_L7_color );

_SECTION_END();

/*******************************************************************************************/
_SECTION_BEGIN( "Selection" );

L1_switch = ParamToggle( "Plot Level 1", "Off|On", 1 );

L2_switch = ParamToggle( "Plot Level 2", "Off|On", 1 );

L3_switch = ParamToggle( "Plot Level 3", "Off|On", 1 );

L4_switch = ParamToggle( "Plot Level 4", "Off|On", 1 );

L5_switch = ParamToggle( "Plot Level 5", "Off|On", 1 );

L6_switch = ParamToggle( "Plot Level 6", "Off|On", 1 );

L7_switch = ParamToggle( "Plot Level 7", "Off|On", 1 );

_SECTION_END();

/*******************************************************************************************/
#include_once<\PEInc\Lib\PatternExplorer_f10.afl>
#include_once<\PEInc\PatternExplorer_1.afl>
/*******************************************************************************************/
Filter = def_Filter AND BarIndex() == LastValue( BarIndex() ) AND NOT GroupID() == 253;

/*******************************************************************************************/
Addefaultcolumns();

AddColumn( CurrentRT_EXT, "Current RT/EXT %" );

AddColumn( MaxRT_EXT, "Current max. RT/EXT %" );

AddTextColumn(
    WriteIf( Sup_pricejustabove, "Price just above",
             WriteIf( Sup_confirmed, "Confirmed",
                      WriteIf( Sup_break, "Break", "" ) ) ), "Swing Low", 1.2,
    IIf( Sup_pricejustabove OR sup_confirmed, colorGreen, colorRed ) );

AddTextColumn(
    WriteIf( Res_pricejustbelow, "Price just below",
             WriteIf( Res_confirmed, "Confirmed",
                      WriteIf( Res_break, "Break", "" ) ) ), "Swing High", 1.2,
    IIf( Res_pricejustbelow OR Res_confirmed, colorRed, colorGreen ) );

AddTextColumn( FullName(), "Full name" );

/*******************************************************************************************/
Plot( IIf( x >= xa &NOT AnZ, ya, -1e10 ), "", SLcol, 1 + 8 + 2048 );

Plot( IIf( x >= xb &NOT AnZ, yb, -1e10 ), "", SHcol, 1 + 8 + 2048 );

Plot( IIf( x >= xab &NOT AnZ, Level_1, -1e10 ), "", L1col, L1_style + styleNoRescale );

Plot( IIf( x >= xab &NOT AnZ, Level_2, -1e10 ), "", L2col, L2_style + styleNoRescale );

Plot( IIf( x >= xab &NOT AnZ, Level_3, -1e10 ), "", L3col, L3_style + styleNoRescale );

Plot( IIf( x >= xab &NOT AnZ, Level_4, -1e10 ), "", L4col, L4_style + styleNoRescale );

Plot( IIf( x >= xab &NOT AnZ, Level_5, -1e10 ), "", L5col, L5_style + styleNoRescale );

Plot( IIf( x >= xab &NOT AnZ, Level_6, -1e10 ), "", L6col, L6_style + styleNoRescale );

Plot( IIf( x >= xab &NOT AnZ, Level_7, -1e10 ), "", L7col, L7_style + styleNoRescale );

PlotText( WriteIf( L1_switch, "" + Level_1p + " %", "" ), LastValue( BarIndex() + 2 ), Level_1, L1col, colorDefault );

PlotText( WriteIf( L2_switch, "" + Level_2p + " %", "" ), LastValue( BarIndex() + 2 ), Level_2, L2col, colorDefault );

PlotText( WriteIf( L3_switch, "" + Level_3p + " %", "" ), LastValue( BarIndex() + 2 ), Level_3, L3col, colorDefault );

PlotText( WriteIf( L4_switch, "" + Level_4p + " %", "" ), LastValue( BarIndex() + 2 ), Level_4, L4col, colorDefault );

PlotText( WriteIf( L5_switch, "" + Level_5p + " %", "" ), LastValue( BarIndex() + 2 ), Level_5, L5col, colorDefault );

PlotText( WriteIf( L6_switch, "" + Level_6p + " %", "" ), LastValue( BarIndex() + 2 ), Level_6, L6col, colorDefault );

PlotText( WriteIf( L7_switch, "" + Level_7p + " %", "" ), LastValue( BarIndex() + 2 ), Level_7, L7col, colorDefault );

PlotText( "100 %", LastValue( BarIndex() + 2 ), SwingLow, IIf( LastValue( up ), SwingLow_color, SwingHigh_color ), colorDefault );

PlotText( "0 %", LastValue( BarIndex() + 2 ), Swinghigh, IIf( LastValue( dn ), SwingLow_color, SwingHigh_color ), colorDefault );

/*******************************************************************************************/
ToolTip = def_ToolTip;

/*******************************************************************************************/
AddCustomCodeAfterPE();

/*******************************************************************************************/
Title = "PatternExplorer.com - Fibonacci Recognition" + default_priceTitle + EncodeColor( IIf( NOT AnZ, def_Text2, colorRed ) ) + ", Sensitivity = " + WriteVal( Sensitivity, 1 ) + EncodeColor( colorRed ) + WriteIf( NOT AnZ, "", "NO POINTS AVAILABLE -> REDUCE SENSITIVITY" ) + EncodeColor( IIf( LastValue( L ) > 0, Color_SL, Color_RL ) ) + ", Current Correction = " + WriteVal( CurrentRT_EXT, 1.0 ) + "%   ";

_SECTION_END();

auvitin 發表於 11-4-15 12:45

PatternExplorer有3.65和3.75板本,安裝它,AmiBroker如虎添翼,工具更加犀利!

hsiao13 發表於 11-4-28 06:07

果真如虎添翼,工具更加犀利!

奇魔5代 發表於 11-4-29 06:43

這套用起時感覺像是電子花車
花花綠綠的東西很多
頁: [1]
查看完整版本: 有誰會patternexplorer?