#property indicator_chart_window extern int StepBack = 0; extern color mml_clr_m_2_8 = White; extern color mml_clr_m_1_8 = White; extern color mml_clr_0_8 = Aqua; extern color mml_clr_1_8 = Yellow; extern color mml_clr_2_8 = Red; extern color mml_clr_3_8 = MediumSeaGreen; extern color mml_clr_4_8 = Blue; extern color mml_clr_5_8 = MediumSeaGreen; extern color mml_clr_6_8 = Red; extern color mml_clr_7_8 = Yellow; extern color mml_clr_8_8 = Aqua; extern color mml_clr_p_1_8 = White; extern color mml_clr_p_2_8 = White; extern int mml_wdth_m_2_8 = 2; extern int mml_wdth_m_1_8 = 2; extern int mml_wdth_0_8 = 2; extern int mml_wdth_1_8 = 2; extern int mml_wdth_2_8 = 2; extern int mml_wdth_3_8 = 2; extern int mml_wdth_4_8 = 2; extern int mml_wdth_5_8 = 2; extern int mml_wdth_6_8 = 2; extern int mml_wdth_7_8 = 2; extern int mml_wdth_8_8 = 2; extern int mml_wdth_p_1_8 = 2; extern int mml_wdth_p_2_8 = 2; extern color MarkColor = Blue; extern int MarkNumber = 217; double gd_192 = 0.0; double gd_unused_200 = 0.0; double gd_208 = 0.0; double g_ilow_216 = 0.0; double g_ihigh_224 = 0.0; double gd_232 = 0.0; double gd_240 = 0.0; double gd_248 = 0.0; double gd_256 = 0.0; double gd_264 = 0.0; double gd_272 = 0.0; double gd_280 = 0.0; double gd_288 = 0.0; double gd_296 = 0.0; double gd_304 = 0.0; double gd_312 = 0.0; double gd_320 = 0.0; double gd_328 = 0.0; double gd_336 = 0.0; double gd_344 = 0.0; double gd_352 = 0.0; double gd_360 = 0.0; double gd_368 = 0.0; double gd_376 = 0.0; double gda_384[13]; string gsa_388[13]; string g_name_392 = ""; int g_lowest_400 = 0; int g_highest_404 = 0; int gi_408 = 13; int gia_412[13]; int gia_416[13]; int g_price_420 = 40; int gi_424 = 0; int g_timeframe_428 = 0; int g_index_432 = 0; int gi_436; int init() { gi_436 = 64; if (Period() <= PERIOD_M30) gi_436 = 4; gsa_388[0] = "[-2/8]BUY! (Extremly Oversold)"; gsa_388[1] = "[-1/8]buy (Oversold)"; gsa_388[2] = "[0/8]Ultimate support"; gsa_388[3] = "[1/8]Weak sup (stop and Reverse)"; gsa_388[4] = "[2/8]Pivot buy (Reverse)"; gsa_388[5] = "[3/8]RangeBot of trading Range"; gsa_388[6] = "[4/8]Center (Good Buy or Sell)"; gsa_388[7] = "[5/8]RangeTop "; gsa_388[8] = "[6/8]Pivot sell (Major Reverse)"; gsa_388[9] = "[7/8]Weak res (Stop and Reverse)"; gsa_388[10] = "[8/8]Ultimate resistance"; gsa_388[11] = "[+1/8]sell (Overbought)"; gsa_388[12] = "[+2/8]SELL! (extremely overbought)"; gia_412[0] = mml_clr_m_2_8; gia_416[0] = mml_wdth_m_2_8; gia_412[1] = mml_clr_m_1_8; gia_416[1] = mml_wdth_m_1_8; gia_412[2] = mml_clr_0_8; gia_416[2] = mml_wdth_0_8; gia_412[3] = mml_clr_1_8; gia_416[3] = mml_wdth_1_8; gia_412[4] = mml_clr_2_8; gia_416[4] = mml_wdth_2_8; gia_412[5] = mml_clr_3_8; gia_416[5] = mml_wdth_3_8; gia_412[6] = mml_clr_4_8; gia_416[6] = mml_wdth_4_8; gia_412[7] = mml_clr_5_8; gia_416[7] = mml_wdth_5_8; gia_412[8] = mml_clr_6_8; gia_416[8] = mml_wdth_6_8; gia_412[9] = mml_clr_7_8; gia_416[9] = mml_wdth_7_8; gia_412[10] = mml_clr_8_8; gia_416[10] = mml_wdth_8_8; gia_412[11] = mml_clr_p_1_8; gia_416[11] = mml_wdth_p_1_8; gia_412[12] = mml_clr_p_2_8; gia_416[12] = mml_wdth_p_2_8; for (g_index_432 = 0; g_index_432 < gi_408; g_index_432++) gda_384[g_index_432] = 0; return (0); } int deinit() { Comment(" "); for (g_index_432 = 0; g_index_432 < gi_408; g_index_432++) { g_name_392 = "mml" + g_index_432; ObjectDelete(g_name_392); g_name_392 = "mml_txt" + g_index_432; ObjectDelete(g_name_392); } return (0); } int start() { if (gi_424 != Time[0] || g_timeframe_428 != Period()) { g_lowest_400 = iLowest(NULL, PERIOD_D1, MODE_LOW, gi_436, StepBack); g_highest_404 = iHighest(NULL, PERIOD_D1, MODE_HIGH, gi_436, StepBack); g_ilow_216 = iLow(NULL, PERIOD_D1, g_lowest_400); g_ihigh_224 = iHigh(NULL, PERIOD_D1, g_highest_404); Comment("Murrey Math ", DoubleToStr(gi_436, 0), " day frame"); if (g_ihigh_224 <= 250000.0 && g_ihigh_224 > 25000.0) gd_352 = 100000; else { if (g_ihigh_224 <= 25000.0 && g_ihigh_224 > 2500.0) gd_352 = 10000; else { if (g_ihigh_224 <= 2500.0 && g_ihigh_224 > 250.0) gd_352 = 1000; else { if (g_ihigh_224 <= 250.0 && g_ihigh_224 > 25.0) gd_352 = 100; else { if (g_ihigh_224 <= 25.0 && g_ihigh_224 > 12.5) gd_352 = 12.5; else { if (g_ihigh_224 <= 12.5 && g_ihigh_224 > 6.25) gd_352 = 12.5; else { if (g_ihigh_224 <= 6.25 && g_ihigh_224 > 3.125) gd_352 = 6.25; else { if (g_ihigh_224 <= 3.125 && g_ihigh_224 > 1.5625) gd_352 = 3.125; else { if (g_ihigh_224 <= 1.5625 && g_ihigh_224 > 0.390625) gd_352 = 1.5625; else if (g_ihigh_224 <= 0.390625 && g_ihigh_224 > 0.0) gd_352 = 0.1953125; } } } } } } } } gd_360 = g_ihigh_224 - g_ilow_216; gd_208 = MathFloor(MathLog(gd_352 / gd_360) / MathLog(2)); gd_344 = gd_352 * MathPow(0.5, gd_208); gd_232 = MathFloor(g_ilow_216 / gd_344) * gd_344; if (gd_232 + gd_344 > g_ihigh_224) gd_240 = gd_232 + gd_344; else gd_240 = gd_232 + 2.0 * gd_344; if (g_ilow_216 >= 3.0 * (gd_240 - gd_232) / 16.0 + gd_232 && g_ihigh_224 <= 9.0 * (gd_240 - gd_232) / 16.0 + gd_232) gd_256 = gd_232 + (gd_240 - gd_232) / 2.0; else gd_256 = 0; if (g_ilow_216 >= gd_232 - (gd_240 - gd_232) / 8.0 && g_ihigh_224 <= 5.0 * (gd_240 - gd_232) / 8.0 + gd_232 && gd_256 == 0.0) gd_248 = gd_232 + (gd_240 - gd_232) / 2.0; else gd_248 = 0; if (g_ilow_216 >= gd_232 + 7.0 * (gd_240 - gd_232) / 16.0 && g_ihigh_224 <= 13.0 * (gd_240 - gd_232) / 16.0 + gd_232) gd_272 = gd_232 + 3.0 * (gd_240 - gd_232) / 4.0; else gd_272 = 0; if (g_ilow_216 >= gd_232 + 3.0 * (gd_240 - gd_232) / 8.0 && g_ihigh_224 <= 9.0 * (gd_240 - gd_232) / 8.0 + gd_232 && gd_272 == 0.0) gd_280 = gd_240; else gd_280 = 0; if (g_ilow_216 >= gd_232 + (gd_240 - gd_232) / 8.0 && g_ihigh_224 <= 7.0 * (gd_240 - gd_232) / 8.0 + gd_232 && gd_248 == 0.0 && gd_256 == 0.0 && gd_272 == 0.0 && gd_280 == 0.0) gd_264 = gd_232 + 3.0 * (gd_240 - gd_232) / 4.0; else gd_264 = 0; if (gd_248 + gd_256 + gd_264 + gd_272 + gd_280 == 0.0) gd_288 = gd_240; else gd_288 = 0; gd_368 = gd_248 + gd_256 + gd_264 + gd_272 + gd_280 + gd_288; if (gd_248 > 0.0) gd_296 = gd_232; else gd_296 = 0; if (gd_256 > 0.0) gd_304 = gd_232 + (gd_240 - gd_232) / 4.0; else gd_304 = 0; if (gd_264 > 0.0) gd_312 = gd_232 + (gd_240 - gd_232) / 4.0; else gd_312 = 0; if (gd_272 > 0.0) gd_320 = gd_232 + (gd_240 - gd_232) / 2.0; else gd_320 = 0; if (gd_280 > 0.0) gd_328 = gd_232 + (gd_240 - gd_232) / 2.0; else gd_328 = 0; if (gd_368 > 0.0 && gd_296 + gd_304 + gd_312 + gd_320 + gd_328 == 0.0) gd_336 = gd_232; else gd_336 = 0; gd_376 = gd_296 + gd_304 + gd_312 + gd_320 + gd_328 + gd_336; gd_192 = (gd_368 - gd_376) / 8.0; gda_384[0] = gd_376 - 2.0 * gd_192; for (g_index_432 = 1; g_index_432 < gi_408; g_index_432++) gda_384[g_index_432] = gda_384[g_index_432 - 1] + gd_192; for (g_index_432 = 0; g_index_432 < gi_408; g_index_432++) { g_name_392 = "mml" + g_index_432; if (ObjectFind(g_name_392) == -1) { ObjectCreate(g_name_392, OBJ_HLINE, 0, Time[0], gda_384[g_index_432]); ObjectSet(g_name_392, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(g_name_392, OBJPROP_COLOR, gia_412[g_index_432]); ObjectSet(g_name_392, OBJPROP_WIDTH, gia_416[g_index_432]); ObjectMove(g_name_392, 0, Time[0], gda_384[g_index_432]); } else ObjectMove(g_name_392, 0, Time[0], gda_384[g_index_432]); g_name_392 = "mml_txt" + g_index_432; if (ObjectFind(g_name_392) == -1) { ObjectCreate(g_name_392, OBJ_TEXT, 0, Time[g_price_420], g_price_420); ObjectSetText(g_name_392, gsa_388[g_index_432], 10, "Arial", gia_412[g_index_432]); ObjectMove(g_name_392, 0, Time[g_price_420], gda_384[g_index_432]); } else ObjectMove(g_name_392, 0, Time[g_price_420], gda_384[g_index_432]); } gi_424 = Time[0]; g_timeframe_428 = Period(); } return (0); }
多谢yangtse010!通过与各位的交流,近期领悟到了一些关于日内的比较有实际意义的一些思想,日内的确是超级难走的一条路,但是我相信应该不是象一些朋友说的是死路一条,只是太难了。我也了解了一些日内系统,但我心中所想的是完全用日内的数据,开盘12至15分钟开始交易,而不想通过多周期来决策。是否会是个错误思想还不敢确定。望朋友们给予无私的指点。
Pivot Points系统近期通过了解好像要用到一至两周的最低价或最高价?例如最低价开始到当前日线依次排列(B,O,S,B,O,S......)B估计就是买操作日,O就是无操作日,S就是卖操作日。从而作出价格到达r1,s1.r2,s2.r3,s3.位置的相应买卖动作与止损。过程比较复杂。但是saxotrader兄这个图表好像就用到了前一日的高低收值。可否再烦你简介下?
公式比较简单,开拓者的公式如下: Vars Numeric pp(0); Numeric r1; Numeric r2; Numeric r3; Numeric s1; Numeric s2; Numeric s3; Begin pp=(HighD(1)+LowD(1)+CloseD(1))/3; r1=2*pp-lowD(1); s1=2*pp-HighD(1); r2=pp+(r1-s1); s2=pp-(r1-s1); r3=HighD(1)-(2 * (LowD(1)-pp)); s3=LowD(1)-(2 * (HighD(1)-pp)); PlotNumeric("pp",pp); PlotNumeric("r1",r1); PlotNumeric("r2",r2); PlotNumeric("r3",r3); PlotNumeric("s1",s1); PlotNumeric("s2",s2); PlotNumeric("s3",s3); End