如何编码? - 页 221 1...214215216217218219220221222223224225226227228...347 新评论 [删除] 2009.12.02 23:42 #2201 请帮助我移动线路。 -------------------------------------------------------------------------------- 该指标按其设计工作。当价格触及该线时发出警报,但我想在此基础上进行扩展。我想这样做。 复制下面的指标,然后做这2个修改。 修改#1。 创建一条线stoploss1(已经存在),并将该线移动到我的止损位置,如果我没有设置止损,则将该线移动到500点以外,以防止警报被激活。 修改#2。 创建一条takeprofit1线(这不在代码中),并将该线移动到我的止损位置,如果我没有设置止损,则将该线移动到502点以外,以防止警报被激活。同时使用不同的声音警报。 基本上,该指标将检查我的止损和止盈是什么,并将在它们各自的价格上移动,如果没有设置止损和止盈,将把线移到500和502点以外。 这样,当市场达到我的利润或止损时,声音会让我知道,当我不看metatrader或将窗口最小化时,我可以回去看我可能有的其他设置。 非常感谢你的帮助,兄弟。 //+------------------------------------------------------------------+ 呼叫中心://| HLine Alert.mq4 |//| HLine Alert.mq4 //+------------------------------------------------------------------+ #属性版权"" #属性 indicator_chart_window extern string LineName="Stoploss1"; extern color LineColor=Red; extern int LineStyle=STYLE_SOLID; extern int AlertPipRange=1; extern string AlertWav="Alert2.wav"; //+------------------------------------------------------------------+ //|自定义指标 初始化函数| //+------------------------------------------------------------------+ int init() { //---- 指标 //---- return(0); } //+------------------------------------------------------------------+ //|自定义指标去初始化功能| //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //|自定义指标迭代函数| //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted()。 ObjectCreate(LineName, OBJ_HLINE, 0, 0, Bid)。 ObjectSet(LineName, OBJPROP_STYLE, LineStyle)。 ObjectSet(LineName, OBJPROP_WIDTH, 2); ObjectSet(LineName, OBJPROP_COLOR, LineColor)。 double val = ObjectGet( LineName, OBJPROP_PRICE1); 如果(Bid-AlertPipRange*Point = val)PlaySound(AlertWav)。 //---- //---- 返回(0)。 } //+-------------------------------------------------------------- How to code? Alarm Custom Indicator For Email me only 1 vacherh 2009.12.03 20:22 #2202 increase: 这是我为你做的一个带警报的MTF版本 嗨,增加... ...我下载了你的指标(带警报),我把它修好了...因为...有一个小错误... 一旦弹出箭头,就会显示标签向下,反之亦然...。 所以我想知道如何将两者合二为一......以及如何设置发送警报到 邮件。 谢谢你 附加的文件: mtf_afstar.mq4 4 kb afstar.mq4 6 kb [删除] 2009.12.04 01:02 #2203 我需要帮助 请任何人帮助我写代码,我想为我发现的一个剥皮策略开发一个机器人。 t4fast 2009.12.06 12:00 #2204 各位。 这是一个简单的代码,用于在移动平均线穿越和收盘时发出警报,如附图 所示。 我认为if语句有问题,请审查。 谢谢。 //+------------------------------------------------------------------+ #property copyright "Non" #property link "non" #property indicator_chart_window extern int Time_Frame = PERIOD_M5; extern int MA_Period = 20; extern int MA_Method = MODE_SMA; extern int MA_applied_to = PRICE_CLOSE; extern bool Enabled = true; extern int WhatCorner=2; int PrevAlertTime=0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- ObjectDelete("Alart_Condition"); ObjectDelete("Alart_Setup"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int BarsCount=IndicatorCounted(); if (Enabled == false) { string Alart_Condition = "Alart Disabled"; ObjectCreate("Alart_Condition", OBJ_LABEL, 0, 0, 0); ObjectSetText("Alart_Condition", Alart_Condition , 12, "Comic Sans MS", Red); ObjectSet("Alart_Condition", OBJPROP_CORNER, WhatCorner); ObjectSet("Alart_Condition", OBJPROP_XDISTANCE, 1); ObjectSet("Alart_Condition", OBJPROP_YDISTANCE, 1); return (0); } // if (!Enabled) return (0); if (Enabled == true) { string Alart_Setup = (GetMethodText1(MA_Method)+ (DoubleToStr(MA_Period,0))+")"+ GetMethodText(MA_applied_to)) ; ObjectCreate("Alart_Setup", OBJ_LABEL, 0, 0, 0); ObjectSetText("Alart_Setup", Alart_Setup , 12, "Comic Sans MS", Red); ObjectSet("Alart_Setup", OBJPROP_CORNER, WhatCorner); ObjectSet("Alart_Setup", OBJPROP_XDISTANCE, 1); ObjectSet("Alart_Setup", OBJPROP_YDISTANCE, 1); } // if close of i < iMA && iMA < close of i-1 && last time alart .. then sell for (int i=Bars;i>=1;i--) { double m = iMA(NULL,Time_Frame,MA_Period,0,MA_Method,MA_applied_to,i); if ((CurTime() - PrevAlertTime > 20) && Close < m && m < Close) { Alert ("Sell " + Symbol()); PlaySound ("alert.wav"); PrevAlertTime=CurTime(); return(-1); } // if close of i-1 < iMA && iMA < close of i && last time alart .. then buy if ( (CurTime() - PrevAlertTime > 20) && Close < m && m < Close ) { Alert ("Buy "+ Symbol()); PlaySound ("alert.wav"); PrevAlertTime=CurTime(); return(-1); } } //---- //---- return(0); } string GetMethodText1(int MA_Method) { switch(MA_Method) { case 0 : return("SMA("); break; case 1 : return("EMA("); break; case 2 : return("SMMA("); break; case 3 : return("LWMA("); break; } } string GetMethodText(int MA_applied_to) { switch(MA_applied_to) {case 0: return("C"); break; // Close case 1: return("O"); break; // Open case 2: return("H"); break; // High case 3: return("L"); break; } // Low } //+------------ 附加的文件: q.gif 10 kb How to code? Please fix this indicator 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 Speedzter 2009.12.07 05:25 #2205 脚本的帮助 你好... 我是一个完全的编码新手,所以我想知道是否有人能告诉我这个脚本有什么问题...... 我一直得到一个错误的4109 ERR_TRADE_NOT_ALLOWED...在MT4中的信息是 "OrderSend函数 的无效价格1.48770000",但我似乎无法找出原因...所以请帮助我... int start() { double High1; double Low1; double TP = 50; double SL = 50; int Lots = (((AccountBalance()/15)/50)/10); //---- { High1 = iHigh(NULL, PERIOD_D1, 0); Low1 = iLow(NULL, PERIOD_D1, 0); double Buy = High1*Point; double Sell= Low1*Point; Print(Buy); Print(Sell); } //---- { OrderSend(Symbol(),OP_BUYSTOP,Lots,Buy,NULL,Ask-SL*Point,Ask+TP*Point); OrderSend(Symbol(),OP_SELLSTOP,Lots,Sell,3,Bid+SL*Point,Bid-TP*Point); Alert (GetLastError()); } //---- return(0); } How to code? My script does not Simple Stress Free System.. Speedzter 2009.12.07 09:39 #2206 帮助 至少现在我解决了我的交易不允许问题。 但现在我一直得到一个"无效止损"的错误......有谁能给我指点一下吗?我真的不明白这里有什么问题...。 谢谢你的建议。 int start() { double High1; double Low1; int TP = 50; int SL = 50; int Lots = (((AccountBalance()/15)/50)/10); //---- { High1 = iHigh(NULL, PERIOD_D1, 0); Low1 = iLow(NULL, PERIOD_D1, 0); Print(High1); Print(Low1); } //---- { OrderSend(Symbol(),OP_BUYSTOP,Lots,High1,NULL,Ask-SL*Point,Ask+TP*Point); OrderSend(Symbol(),OP_SELLSTOP,Lots,Low1,NULL,Bid+SL*Point,Bid-TP*Point); Alert (GetLastError()); } //---- return(0); } How to code? My script does not [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 ForExTyro 2009.12.07 14:39 #2207 限制交易数量:.... 我试图在一个EA中添加代码,将其每天的交易数量限制在两(2)个。 每天只有一个多头交易和一个空头交易。 这是我目前掌握的代码,但在后面的测试中,它不起作用。 你能帮助我吗? datetime LongTrade=0; datetime ShortTrade=0; if(countOrders(OP_BUY,magic)==0 && LongTrade!=iTime(NULL,PERIOD_D1,0)) { OrderSend(Symbol(),OP_BUY,lots,Ask,0,Bid-stop_loss*Point,lTP,comment + "lTP",magic); LongTrade=iTime(NULL,PERIOD_D1,0); return(0); } -------------------- if(countOrders(OP_SELL,magic)==0 && ShortTrade!=iTime(NULL,PERIOD_D1,0)) { OrderSend(Symbol(),OP_SELL,lots,Bid,0,Ask+stop_loss*Point,sTP,comment + "sTP",magic); ShortTrade=iTime(NULL,PERIOD_D1,0); return(0); } 谢谢你。 How to code? Error 138 Resolution? My script does not Roger09 2009.12.07 15:38 #2208 ForExTyro: 我试图在一个EA中添加代码,将其每天的交易数量限制在两笔(2)。 每天只有一个多头交易和一个空头交易。 这是我目前掌握的代码,但在后面的测试中,它不起作用。 你能帮助我吗? 替换 datetime LongTrade=0; datetime ShortTrade=0; 到 static datetime LongTrade=0; 静态数据时间ShortTrade=0。 [删除] 2009.12.08 02:09 #2209 请帮助解决这个EA和指标问题 我是一个新手,所以你好,正如你所看到的,我对这个问题没有任何运气。 我有这个指标(柱状图/回看300条,但它重绘得太多了。谁能给我推荐一个不需要做同样工作的指标呢? 注意:CharlieC histoind.mq4 #property indicator_chart_window #属性 indicator_buffers 2 #属性 indicator_color1 Red #属性 indicator_color2 草坪绿 string gs_unused_124 = ""; bool gi_unused_132 = FALSE; 外部int RISK = 3; 外部int CountBars = 300; double g_ibuf_144[]; double g_ibuf_148[]; int init() { IndicatorBuffers(2); SetIndexStyle(0, DRAW_ARROW); SetIndexArrow(0, 234); SetIndexStyle(1, DRAW_ARROW); SetIndexArrow(1, 233); SetIndexBuffer(0, g_ibuf_144); SetIndexBuffer(1, g_ibuf_148); 评论()。 返回(0)。 } int start() { int li_12; double ld_52; double ld_60; 双倍 ld_68; 双倍 ld_76; 双倍 ld_84; 双倍 ld_92; 双倍ld_100。 double lda_108[50000]; SetIndexDrawBegin(0, Bars - CountBars + 11 + 1); SetIndexDrawBegin(1, Bars - CountBars + 11 + 1); int l_ind_counted_8 = IndicatorCounted(); int li_20 = RISK * 2 + 3; 双倍 ld_36 = RISK + 67; 双倍 ld_44 = 33 - RISK; int l_period_24 = li_20; 如果(Bars <= 12)返回(0)。 如果(l_ind_counted_8 < 12) { for (int li_0 = 1; li_0 <= 0; li_0++) g_ibuf_144[CountBars - li_0] = 0.0; for (li_0 = 1; li_0 <= 0; li_0++) g_ibuf_148[CountBars - li_0] = 0.0; } for (int li_4 = CountBars - 11 - 1; li_4 >= 0; li_4--) { li_12 = li_4; ld_76 = 0.0; ld_84 = 0.0。 for (li_12 = li_4; li_12 <= li_4 + 9; li_12++) ld_84 += MathAbs(High[li_12] - Low[li_12])。 ld_76 = ld_84 / 10.0; li_12 = li_4; ld_68 = 0; while (li_12 < li_4 + 9 && ld_68 < 1.0) { 如果(MathAbs(Open[li_12] - (Close[li_12 + 1])) >= 2.0 * ld_76) ld_68 += 1.0。 li_12++; } 如果(ld_68 >= 1.0)ld_92 = li_12。 否则 ld_92 = -1; li_12 = li_4; ld_68 = 0; while (li_12 < li_4 + 6 && ld_68 < 1.0) { 如果(MathAbs(Close[li_12 + 3] - Close[li_12]) >= 4.6 * ld_76) ld_68 += 1.0。 li_12++; } 如果(ld_68 >= 1.0) ld_100 = li_12; 否则 ld_100 = -1; 如果(ld_92 > -1.0) l_period_24 = 3; 否则l_period_24 = li_20。 如果(ld_100 > -1.0)l_period_24 = 4。 否则l_period_24 = li_20。 ld_52 = 100 - MathAbs(iWPR(NULL, 0, l_period_24, li_4))。 lda_108[li_4] = ld_52。 g_ibuf_144[li_4] = 0; g_ibuf_148[li_4] = 0; ld_60 = 0。 如果(ld_52 < ld_44) { for (int li_16 = 1; lda_108[li_4 + li_16] >= ld_44 && lda_108[li_4 + li_16] <= ld_36; li_16++) { } 如果(lda_108[li_4 + li_16] > ld_36) { ld_60 = High[li_4] + ld_76 / 2.0; g_ibuf_144[li_4] = ld_60。 } } 如果(ld_52 > ld_36) { for (li_16 = 1; lda_108[li_4 + li_16] >= ld_44 && lda_108[li_4 + li_16] <= ld_36; li_16++) { } 如果(lda_108[li_4 + li_16] < ld_44) { ld_60 = Low[li_4] - ld_76 / 2.0; g_ibuf_148[li_4] = ld_60; } } } 返回(0)。 } 附加的文件: histoind.mq4 3 kb How to code? 电子邮件 Buy/Sell indicator 90 % [删除] 2009.12.08 02:14 #2210 CharlieC 当我在做这件事的时候,谁能给它加上一个声音警报(Darn Cheeky Ay, for a Newbeeee) 这东西让你做一些有趣的事情。 对不起 查理-C 1...214215216217218219220221222223224225226227228...347 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请帮助我移动线路。
--------------------------------------------------------------------------------
该指标按其设计工作。当价格触及该线时发出警报,但我想在此基础上进行扩展。我想这样做。
复制下面的指标,然后做这2个修改。
修改#1。
创建一条线stoploss1(已经存在),并将该线移动到我的止损位置,如果我没有设置止损,则将该线移动到500点以外,以防止警报被激活。
修改#2。
创建一条takeprofit1线(这不在代码中),并将该线移动到我的止损位置,如果我没有设置止损,则将该线移动到502点以外,以防止警报被激活。同时使用不同的声音警报。
基本上,该指标将检查我的止损和止盈是什么,并将在它们各自的价格上移动,如果没有设置止损和止盈,将把线移到500和502点以外。
这样,当市场达到我的利润或止损时,声音会让我知道,当我不看metatrader或将窗口最小化时,我可以回去看我可能有的其他设置。
非常感谢你的帮助,兄弟。
//+------------------------------------------------------------------+
呼叫中心://| HLine Alert.mq4 |//| HLine Alert.mq4
//+------------------------------------------------------------------+
#属性版权""
#属性 indicator_chart_window
extern string LineName="Stoploss1";
extern color LineColor=Red;
extern int LineStyle=STYLE_SOLID;
extern int AlertPipRange=1;
extern string AlertWav="Alert2.wav";
//+------------------------------------------------------------------+
//|自定义指标 初始化函数|
//+------------------------------------------------------------------+
int init()
{
//---- 指标
//----
return(0);
}
//+------------------------------------------------------------------+
//|自定义指标去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|自定义指标迭代函数|
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted()。
ObjectCreate(LineName, OBJ_HLINE, 0, 0, Bid)。
ObjectSet(LineName, OBJPROP_STYLE, LineStyle)。
ObjectSet(LineName, OBJPROP_WIDTH, 2);
ObjectSet(LineName, OBJPROP_COLOR, LineColor)。
double val = ObjectGet( LineName, OBJPROP_PRICE1);
如果(Bid-AlertPipRange*Point = val)PlaySound(AlertWav)。
//----
//----
返回(0)。
}
//+--------------------------------------------------------------
这是我为你做的一个带警报的MTF版本
嗨,增加...
...我下载了你的指标(带警报),我把它修好了...因为...有一个小错误...
一旦弹出箭头,就会显示标签向下,反之亦然...。
所以我想知道如何将两者合二为一......以及如何设置发送警报到
邮件。
谢谢你
我需要帮助
请任何人帮助我写代码,我想为我发现的一个剥皮策略开发一个机器人。
各位。
这是一个简单的代码,用于在移动平均线穿越和收盘时发出警报,如附图 所示。
我认为if语句有问题,请审查。
谢谢。
//+------------------------------------------------------------------+
#property copyright "Non"
#property link "non"
#property indicator_chart_window
extern int Time_Frame = PERIOD_M5;
extern int MA_Period = 20;
extern int MA_Method = MODE_SMA;
extern int MA_applied_to = PRICE_CLOSE;
extern bool Enabled = true;
extern int WhatCorner=2;
int PrevAlertTime=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("Alart_Condition");
ObjectDelete("Alart_Setup");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int BarsCount=IndicatorCounted();
if (Enabled == false)
{
string Alart_Condition = "Alart Disabled";
ObjectCreate("Alart_Condition", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Alart_Condition", Alart_Condition , 12, "Comic Sans MS", Red);
ObjectSet("Alart_Condition", OBJPROP_CORNER, WhatCorner);
ObjectSet("Alart_Condition", OBJPROP_XDISTANCE, 1);
ObjectSet("Alart_Condition", OBJPROP_YDISTANCE, 1);
return (0);
}
// if (!Enabled) return (0);
if (Enabled == true)
{
string Alart_Setup = (GetMethodText1(MA_Method)+ (DoubleToStr(MA_Period,0))+")"+ GetMethodText(MA_applied_to)) ;
ObjectCreate("Alart_Setup", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Alart_Setup", Alart_Setup , 12, "Comic Sans MS", Red);
ObjectSet("Alart_Setup", OBJPROP_CORNER, WhatCorner);
ObjectSet("Alart_Setup", OBJPROP_XDISTANCE, 1);
ObjectSet("Alart_Setup", OBJPROP_YDISTANCE, 1);
}
// if close of i < iMA && iMA < close of i-1 && last time alart .. then sell
for (int i=Bars;i>=1;i--)
{
double m = iMA(NULL,Time_Frame,MA_Period,0,MA_Method,MA_applied_to,i);
if ((CurTime() - PrevAlertTime > 20) && Close < m && m < Close)
{
Alert ("Sell " + Symbol());
PlaySound ("alert.wav");
PrevAlertTime=CurTime();
return(-1);
}
// if close of i-1 < iMA && iMA < close of i && last time alart .. then buy
if ( (CurTime() - PrevAlertTime > 20) && Close < m && m < Close )
{
Alert ("Buy "+ Symbol());
PlaySound ("alert.wav");
PrevAlertTime=CurTime();
return(-1);
}
}
//----
//----
return(0);
}
string GetMethodText1(int MA_Method)
{ switch(MA_Method)
{
case 0 : return("SMA("); break;
case 1 : return("EMA("); break;
case 2 : return("SMMA("); break;
case 3 : return("LWMA("); break; }
}
string GetMethodText(int MA_applied_to)
{
switch(MA_applied_to)
{case 0: return("C"); break; // Close
case 1: return("O"); break; // Open
case 2: return("H"); break; // High
case 3: return("L"); break; } // Low
}
//+------------
脚本的帮助
你好...
我是一个完全的编码新手,所以我想知道是否有人能告诉我这个脚本有什么问题......
我一直得到一个错误的4109 ERR_TRADE_NOT_ALLOWED...在MT4中的信息是 "OrderSend函数 的无效价格1.48770000",但我似乎无法找出原因...所以请帮助我...
{
double High1;
double Low1;
double TP = 50;
double SL = 50;
int Lots = (((AccountBalance()/15)/50)/10);
//----
{
High1 = iHigh(NULL, PERIOD_D1, 0);
Low1 = iLow(NULL, PERIOD_D1, 0);
double Buy = High1*Point;
double Sell= Low1*Point;
Print(Buy);
Print(Sell);
}
//----
{
OrderSend(Symbol(),OP_BUYSTOP,Lots,Buy,NULL,Ask-SL*Point,Ask+TP*Point);
OrderSend(Symbol(),OP_SELLSTOP,Lots,Sell,3,Bid+SL*Point,Bid-TP*Point);
Alert (GetLastError());
}
//----
return(0);
}帮助
至少现在我解决了我的交易不允许问题。
但现在我一直得到一个"无效止损"的错误......有谁能给我指点一下吗?我真的不明白这里有什么问题...。
谢谢你的建议。
{
double High1;
double Low1;
int TP = 50;
int SL = 50;
int Lots = (((AccountBalance()/15)/50)/10);
//----
{
High1 = iHigh(NULL, PERIOD_D1, 0);
Low1 = iLow(NULL, PERIOD_D1, 0);
Print(High1);
Print(Low1);
}
//----
{
OrderSend(Symbol(),OP_BUYSTOP,Lots,High1,NULL,Ask-SL*Point,Ask+TP*Point);
OrderSend(Symbol(),OP_SELLSTOP,Lots,Low1,NULL,Bid+SL*Point,Bid-TP*Point);
Alert (GetLastError());
}
//----
return(0);
}限制交易数量:....
我试图在一个EA中添加代码,将其每天的交易数量限制在两(2)个。 每天只有一个多头交易和一个空头交易。 这是我目前掌握的代码,但在后面的测试中,它不起作用。
你能帮助我吗?
datetime LongTrade=0;
datetime ShortTrade=0;
if(countOrders(OP_BUY,magic)==0 && LongTrade!=iTime(NULL,PERIOD_D1,0))
{
OrderSend(Symbol(),OP_BUY,lots,Ask,0,Bid-stop_loss*Point,lTP,comment + "lTP",magic);
LongTrade=iTime(NULL,PERIOD_D1,0);
return(0);
}
--------------------
if(countOrders(OP_SELL,magic)==0 && ShortTrade!=iTime(NULL,PERIOD_D1,0))
{
OrderSend(Symbol(),OP_SELL,lots,Bid,0,Ask+stop_loss*Point,sTP,comment + "sTP",magic);
ShortTrade=iTime(NULL,PERIOD_D1,0);
return(0);
}
谢谢你。
我试图在一个EA中添加代码,将其每天的交易数量限制在两笔(2)。 每天只有一个多头交易和一个空头交易。 这是我目前掌握的代码,但在后面的测试中,它不起作用。 你能帮助我吗?
替换
datetime LongTrade=0;
datetime ShortTrade=0;
到
static datetime LongTrade=0;
静态数据时间ShortTrade=0。
请帮助解决这个EA和指标问题
我是一个新手,所以你好,正如你所看到的,我对这个问题没有任何运气。
我有这个指标(柱状图/回看300条,但它重绘得太多了。谁能给我推荐一个不需要做同样工作的指标呢?
注意:CharlieC
histoind.mq4
#property indicator_chart_window
#属性 indicator_buffers 2
#属性 indicator_color1 Red
#属性 indicator_color2 草坪绿
string gs_unused_124 = "";
bool gi_unused_132 = FALSE;
外部int RISK = 3;
外部int CountBars = 300;
double g_ibuf_144[];
double g_ibuf_148[];
int init() {
IndicatorBuffers(2);
SetIndexStyle(0, DRAW_ARROW);
SetIndexArrow(0, 234);
SetIndexStyle(1, DRAW_ARROW);
SetIndexArrow(1, 233);
SetIndexBuffer(0, g_ibuf_144);
SetIndexBuffer(1, g_ibuf_148);
评论()。
返回(0)。
}
int start() {
int li_12;
double ld_52;
double ld_60;
双倍 ld_68;
双倍 ld_76;
双倍 ld_84;
双倍 ld_92;
双倍ld_100。
double lda_108[50000];
SetIndexDrawBegin(0, Bars - CountBars + 11 + 1);
SetIndexDrawBegin(1, Bars - CountBars + 11 + 1);
int l_ind_counted_8 = IndicatorCounted();
int li_20 = RISK * 2 + 3;
双倍 ld_36 = RISK + 67;
双倍 ld_44 = 33 - RISK;
int l_period_24 = li_20;
如果(Bars <= 12)返回(0)。
如果(l_ind_counted_8 < 12) {
for (int li_0 = 1; li_0 <= 0; li_0++) g_ibuf_144[CountBars - li_0] = 0.0;
for (li_0 = 1; li_0 <= 0; li_0++) g_ibuf_148[CountBars - li_0] = 0.0;
}
for (int li_4 = CountBars - 11 - 1; li_4 >= 0; li_4--) {
li_12 = li_4;
ld_76 = 0.0;
ld_84 = 0.0。
for (li_12 = li_4; li_12 <= li_4 + 9; li_12++) ld_84 += MathAbs(High[li_12] - Low[li_12])。
ld_76 = ld_84 / 10.0;
li_12 = li_4;
ld_68 = 0;
while (li_12 < li_4 + 9 && ld_68 < 1.0) {
如果(MathAbs(Open[li_12] - (Close[li_12 + 1])) >= 2.0 * ld_76) ld_68 += 1.0。
li_12++;
}
如果(ld_68 >= 1.0)ld_92 = li_12。
否则 ld_92 = -1;
li_12 = li_4;
ld_68 = 0;
while (li_12 < li_4 + 6 && ld_68 < 1.0) {
如果(MathAbs(Close[li_12 + 3] - Close[li_12]) >= 4.6 * ld_76) ld_68 += 1.0。
li_12++;
}
如果(ld_68 >= 1.0) ld_100 = li_12;
否则 ld_100 = -1;
如果(ld_92 > -1.0) l_period_24 = 3;
否则l_period_24 = li_20。
如果(ld_100 > -1.0)l_period_24 = 4。
否则l_period_24 = li_20。
ld_52 = 100 - MathAbs(iWPR(NULL, 0, l_period_24, li_4))。
lda_108[li_4] = ld_52。
g_ibuf_144[li_4] = 0;
g_ibuf_148[li_4] = 0;
ld_60 = 0。
如果(ld_52 < ld_44) {
for (int li_16 = 1; lda_108[li_4 + li_16] >= ld_44 && lda_108[li_4 + li_16] <= ld_36; li_16++) {
}
如果(lda_108[li_4 + li_16] > ld_36) {
ld_60 = High[li_4] + ld_76 / 2.0;
g_ibuf_144[li_4] = ld_60。
}
}
如果(ld_52 > ld_36) {
for (li_16 = 1; lda_108[li_4 + li_16] >= ld_44 && lda_108[li_4 + li_16] <= ld_36; li_16++) {
}
如果(lda_108[li_4 + li_16] < ld_44) {
ld_60 = Low[li_4] - ld_76 / 2.0;
g_ibuf_148[li_4] = ld_60;
}
}
}
返回(0)。
}
CharlieC
当我在做这件事的时候,谁能给它加上一个声音警报(Darn Cheeky Ay, for a Newbeeee) 这东西让你做一些有趣的事情。
对不起
查理-C