问吧! - 页 163 1...156157158159160161162163164165166167168169170...182 新评论 beckhamis619 2010.03.12 15:15 #1621 jizhong68: 亲爱的Guru。我正在使用一个二维数组,例如,ZigZag[2][100]。 我使用以下函数。 ArraySort(ZigZag,WHOLE_ARRAY,0,MODE_DESCEND)。 但它似乎既不按第一维排序,也不按第二维排序。有谁能帮助我吗? 非常感谢 MQL文档说ArraySort是 按第一维排序的,如果你没有得到正确的结果,请公布你的数组输入和输出。 编写一个简单的quicksort函数不会花费太多时间。创建一个新的数组,存储排序后的结果,然后做一个for循环来查找ZigZag,并将第二维复制过来。可能效率不高,但可以完成任务。 jizhong68 2010.03.14 04:09 #1622 这里是代码 beckham.is.619: MQL文档指出ArraySort按第一维排序,如果你没有得到正确的结果,请发布你的数组的输入和输出。 编写一个简单的quicksort函数不会花费太多时间。创建一个新的数组,存储排序后的结果,然后做一个for循环来查找ZigZag并复制第二维。可能效率不高,但它能完成工作。 谢谢你的答复。 我想在图表中计算并显示支撑线和阻力线,其算法是在历史上找到100个ZigZag并计算每个ZigZag的权重。对于每个ZigZag,我试图搜索所有的数组,以找到与该ZigZag相近的5个点的其他ZigZag的数量,例如,如果某个ZigZag是1.5000,那么我想找到与这两个ZigZag的距离在5个点以内的所有其他ZigZag,如果是这样,我给这个ZigZag增加1个计数,我为所有100个ZigZag这样做。 当我完成这些工作后,我试图按照计数器的维度对所有这些ZigZag进行排序,正如你在指标中所发现的那样。但我试了很多次,打印ArraySort(0)函数被删除前后的值。 我把这个指标贴出来供你参考。 谢谢。 以下是指标的代码。 //+------------------------------------------------------------------+ //| 风险管理和支持.mq4。 //| Copyright ?200 | | //+------------------------------------------------------------------+ #property copyright "Copyright ?2006, Nick Bilak" //由t_david在2007年初的某个时候黑进了一个频道ind. #property indicator_chart_window 外部int Gap = 5; Extern int Depth = 24; extern int Deviation=5; extern int BackStep=3; Extern int BackStart=288; int ZigN=100; double ZigZag[2][100]; int ShowBars = 500; int dist=24; int init() { 返回(0)。 } int start() { int k,i,j,limit,hhb,llb; int counted_bars=IndicatorCounted()。 //---- 最后一个被计数的柱子将被重新计数 如果(counted_bars>0) counted_bars--。 ShowBars=Bars-counted_bars; 查找ZigZag()。 阻力支持()。 // for(i=0;i<10;i++) { // ObjectDelete("P_Line")。 // ObjectCreate("P_Line", OBJ_HLINE,0, CurTime(), Close[0])。 ObjectDelete("RS0"); ObjectCreate("RS0",OBJ_HLINE,0,CurTime(),ZigZag[1][0])。 ObjectDelete("RS1"); ObjectCreate("RS1",OBJ_HLINE,0,CurTime(),ZigZag[1][1])。 ObjectDelete("RS2"); ObjectCreate("RS2",OBJ_HLINE,0,CurTime(),ZigZag[1][2])。 ObjectDelete("RS3"); ObjectCreate("RS3",OBJ_HLINE,0,CurTime(),ZigZag[1][3])。 ObjectDelete("RS4")。 ObjectCreate("RS4",OBJ_HLINE,0,CurTime(),ZigZag[1][4])。 ObjectDelete("RS5")。 ObjectCreate("RS5",OBJ_HLINE,0,CurTime(),ZigZag[1][5])。 ObjectDelete("RS6"); ObjectCreate("RS6",OBJ_HLINE,0,CurTime(),ZigZag[1][6])。 ObjectDelete("RS7"); ObjectCreate("RS7",OBJ_HLINE,0,CurTime(),ZigZag[1][7])。 ObjectDelete("RS8")。 ObjectCreate("RS8",OBJ_HLINE,0,CurTime(),ZigZag[1][8])。 ObjectDelete("RS9")。 ObjectCreate("RS9",OBJ_HLINE,0,CurTime(),ZigZag[1][9])。 } // if (ShowBars >= Bars) ShowBars = Bars; /* for (i=0;i<ShowBars;i++) { b1=0; b2=0; b3=0; b4=0; b5=0; b6=0; b8=0; hhb = iHighest(Symbol(),0,MODE_HIGH,dist,i-dist/2); llb = iLowest(Symbol(),0,MODE_LOW,dist,i-dist/2)。 如果(i==hhb) b3=High+SignalGap*Point。 如果(i==llb) b4=Low[llb]-SignalGap*Point。 b1=高;//+SignalGap*Point。 b2=Low[llb];//-SignalGap*Point。 */ return(0); } //找到十个ZigZag。 空白的FindZigZag() { int i=BackStart; int ii=0; int m=0; int n=0。 while(ii<ZigN) { 如果(iCustom(NULL,0, "zigzag",Depth,Deviation,BackStep,0,i)>0.1) /1=高 { ZigZag[0]=0。 ZigZag[1]=iCustom(NULL,0, "zigzag",Depth,Deviation,BackStep,0,i) 。 // Print("ZigZag: ",ZigZag[1])。 ii++; } i++; } } // 寻找阻力和支撑 无效的阻力支持() { int i,n; for(i=0;i<ZigN;i++) { for(n=0;n<ZigN;n++) { 如果(MathAbs(ZigZag[1]-ZigZag[1][n])<Point*Gap) { ZigZag[0]++。 } // Print(i+":ZigNumber: "+ZigZag[0]+" ZigZag: "+ZigZag[1])。 } // 打印("结束")。 } ArraySort(ZigZag,WHOLE_ARRAY,0,MODE_DESCEND)。 for(i=0;i<ZigN;i++) { // Print(i+":ZigNumber: "+ZigZag[0]+" ZigZag: "+ZigZag[1])。 } // 打印("结束")。 } Ask! Indicadors with alert can anyone help me ssh95 2010.03.18 15:32 #1623 我可以问她一些关于MQL4的问题吗? 你好,来自柏林。 我是这个论坛的新成员,读过Coders` guru的MQL4课程。非常感谢您的教导!现在我想尝试一些简单的程序,我已经研究了 ,为什么MA线不会显示在我的主图表中?谢谢你的帮助。 #property indicator_chart_window #property indicator_color1 Red extern int Period_MA = 21; bool Fact_Up = true; bool Fact_Dn = true; int start() { 双重MA。 MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0)。 如果(Bid > MA && Fact_Up == true) { Fact_Dn = true。 Fact_Up = false; Alert("Price is above MA(",Period_MA,").")。 } 如果(Bid < MA && Fact_Dn == true) { Fact_Up = true; Fact_Dn = false; Alert("Price is below MA(",Period_MA,")."); } return(0); } [WARNING CLOSED!] Any newbie [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 Ask! Pilli 2010.03.21 13:40 #1624 你好。 我正在研究一个自定义指标的想法。我需要知道这在脚本中是否可行。 MT4能在任何时候识别我的鼠标下的蜡烛吗?所以我想在某个蜡烛的开盘或收盘时画一条水平线(我通过点击或将鼠标悬停在其上方选择),这可能吗? 我找不到任何有关这方面的信息。 这将有很大帮助,谢谢 trendick 2010.03.23 11:59 #1625 EAs的订单/交易经理 你们好。 有没有人熟悉用于EA的订单/交易管理的MQ4库?我主要对以下两个功能感兴趣。 1.放置虚拟止损单: 与其使用OrderSend(...)应用止损单,不如使用MyOrderSend(...),参数相同,管理器将处理一切,同时跟踪价格,并在价格触及止损时放置市场订单。 这样做的主要目的是为了克服不必要的STOPLEVEL负担,但它也允许 "影子 "订单。 2.2.经理人将收集待定、执行和终止订单的状态和统计数据。利用这些信息,人们可以实现花哨的MM策略和花哨的止损策略(例如,一个实盘头寸的价内次数可以用于保值或止损机制)。 我已经搜索了很久,所以我不指望这样一个库的整体存在,但如果你熟悉部分解决方案和相关的代码片段,那就太好了。 干杯。 特伦迪克 trendick 2010.03.24 07:47 #1626 EAs的订单/交易经理 我刚刚发现,在mql5中开发了一个非常好的订单管理器,允许对冲仓位。见paulsfxrandomwalk blogspot(还不允许发布链接)。 不是完整的,但是非常好的一段代码。 把它翻译成mql4应该不容易,但还是有可能的,因为我们必须把c++的OOP代码降级到极其有限的mql4。这似乎是一个很大的浪费 所以我对你的链接的呼吁仍在进行... Robert 2010.03.24 16:04 #1627 图表上的MA线 ssh95: 你好,来自柏林。我是这个论坛的新成员,已经阅读了Coders` guru的MQL4课程。非常感谢您的教导!现在我想尝试一些简单的程序,我已经研究了 ,为什么MA线不会显示在我的主图上?谢谢你的帮助。 #property indicator_chart_window #property indicator_color1 Red extern int Period_MA = 21; bool Fact_Up = true; bool Fact_Dn = true; int start() { 双重MA。 MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0)。 如果(Bid > MA && Fact_Up == true) { Fact_Dn = true。 Fact_Up = false; Alert("Price is above MA(",Period_MA,").")。 } 如果(Bid < MA && Fact_Dn == true) { Fact_Up = true; Fact_Dn = false; Alert("Price is below MA(",Period_MA,")."); } return(0); } 你好,Berliner。 在你上面的代码中,似乎缺少在图表上绘制MA线的程序。 在这个TSD论坛上快速搜索一下,有很多MA指标的好例子,你可以看一下代码,学习如何在图表上画出MA线。 祝你好运......并继续学习! 罗伯特 a1ra 2010.03.26 04:57 #1628 MTF指标的刷新问题 你好。 我需要关于这个指标的帮助。它是MTF MACD斜率,但它在刷新时有一个问题,我必须切换TF来纠正它。 我已经尝试改变 limit=Bars-counted_bars;改为 limit=Bars-counted_bars/Period()。 并加入Refreshrates()。 但没有结果。 对不起,我必须把代码上传到.mql中,试着用php标签上传,但它太长了。 我也把图片上传到MTF线程 谢谢大家。 附加的文件: mfcs_4tf_macd_slope_2.mq4 11 kb TerryToede 2010.03.26 14:19 #1629 codersguru: 大家好。我收到很多私人信息,要求我帮助处理一些代码。 在这里,您可以发布与MQL4有关的问题,我会尽力回答。 Codesguru。 我完全没有编程方面的知识。我需要你或任何人帮助我,在这个execute_line indi上设置报警和警报(作为外部指标)。 请先谢谢你。 干杯,Terry 附加的文件: execute_line.ex4 5 kb execute_line.mq4 5 kb XanderMoss 2010.03.26 18:12 #1630 Waddah Attar黄牛 你好! 我发现了一个有趣的指标,是以剥头皮为导向的。 我想对它进行回测,但它在几天后没有打印任何条形图。 你能不能看看在代码中必须编辑什么才能使它打印出几千个条形图?如果有一个选项可以在元编辑器中输入一个数字,请告诉我。我找不到任何东西。 谢谢你的时间 Xander waddah_attar_scalping.ex4 waddah_attar_scalping.mq4 附加的文件: waddah_attar_scalping.ex4 4 kb waddah_attar_scalping.mq4 3 kb 1...156157158159160161162163164165166167168169170...182 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
亲爱的Guru。
我正在使用一个二维数组,例如,ZigZag[2][100]。 我使用以下函数。
ArraySort(ZigZag,WHOLE_ARRAY,0,MODE_DESCEND)。
但它似乎既不按第一维排序,也不按第二维排序。有谁能帮助我吗?
非常感谢MQL文档说ArraySort是 按第一维排序的,如果你没有得到正确的结果,请公布你的数组输入和输出。
编写一个简单的quicksort函数不会花费太多时间。创建一个新的数组,存储排序后的结果,然后做一个for循环来查找ZigZag,并将第二维复制过来。可能效率不高,但可以完成任务。
这里是代码
MQL文档指出ArraySort按第一维排序,如果你没有得到正确的结果,请发布你的数组的输入和输出。 编写一个简单的quicksort函数不会花费太多时间。创建一个新的数组,存储排序后的结果,然后做一个for循环来查找ZigZag并复制第二维。可能效率不高,但它能完成工作。
谢谢你的答复。
我想在图表中计算并显示支撑线和阻力线,其算法是在历史上找到100个ZigZag并计算每个ZigZag的权重。对于每个ZigZag,我试图搜索所有的数组,以找到与该ZigZag相近的5个点的其他ZigZag的数量,例如,如果某个ZigZag是1.5000,那么我想找到与这两个ZigZag的距离在5个点以内的所有其他ZigZag,如果是这样,我给这个ZigZag增加1个计数,我为所有100个ZigZag这样做。
当我完成这些工作后,我试图按照计数器的维度对所有这些ZigZag进行排序,正如你在指标中所发现的那样。但我试了很多次,打印ArraySort(0)函数被删除前后的值。
我把这个指标贴出来供你参考。
谢谢。
以下是指标的代码。
//+------------------------------------------------------------------+
//| 风险管理和支持.mq4。
//| Copyright ?200 | |
//+------------------------------------------------------------------+
#property copyright "Copyright ?2006, Nick Bilak"
//由t_david在2007年初的某个时候黑进了一个频道ind.
#property indicator_chart_window
外部int Gap = 5;
Extern int Depth = 24;
extern int Deviation=5;
extern int BackStep=3;
Extern int BackStart=288;
int ZigN=100;
double ZigZag[2][100];
int ShowBars = 500;
int dist=24;
int init() {
返回(0)。
}
int start() {
int k,i,j,limit,hhb,llb;
int counted_bars=IndicatorCounted()。
//---- 最后一个被计数的柱子将被重新计数
如果(counted_bars>0) counted_bars--。
ShowBars=Bars-counted_bars;
查找ZigZag()。
阻力支持()。
// for(i=0;i<10;i++)
{
// ObjectDelete("P_Line")。
// ObjectCreate("P_Line", OBJ_HLINE,0, CurTime(), Close[0])。
ObjectDelete("RS0");
ObjectCreate("RS0",OBJ_HLINE,0,CurTime(),ZigZag[1][0])。
ObjectDelete("RS1");
ObjectCreate("RS1",OBJ_HLINE,0,CurTime(),ZigZag[1][1])。
ObjectDelete("RS2");
ObjectCreate("RS2",OBJ_HLINE,0,CurTime(),ZigZag[1][2])。
ObjectDelete("RS3");
ObjectCreate("RS3",OBJ_HLINE,0,CurTime(),ZigZag[1][3])。
ObjectDelete("RS4")。
ObjectCreate("RS4",OBJ_HLINE,0,CurTime(),ZigZag[1][4])。
ObjectDelete("RS5")。
ObjectCreate("RS5",OBJ_HLINE,0,CurTime(),ZigZag[1][5])。
ObjectDelete("RS6");
ObjectCreate("RS6",OBJ_HLINE,0,CurTime(),ZigZag[1][6])。
ObjectDelete("RS7");
ObjectCreate("RS7",OBJ_HLINE,0,CurTime(),ZigZag[1][7])。
ObjectDelete("RS8")。
ObjectCreate("RS8",OBJ_HLINE,0,CurTime(),ZigZag[1][8])。
ObjectDelete("RS9")。
ObjectCreate("RS9",OBJ_HLINE,0,CurTime(),ZigZag[1][9])。
}
// if (ShowBars >= Bars) ShowBars = Bars;
/*
for (i=0;i<ShowBars;i++) {
b1=0;
b2=0;
b3=0;
b4=0;
b5=0;
b6=0;
b8=0;
hhb = iHighest(Symbol(),0,MODE_HIGH,dist,i-dist/2);
llb = iLowest(Symbol(),0,MODE_LOW,dist,i-dist/2)。
如果(i==hhb)
b3=High+SignalGap*Point。
如果(i==llb)
b4=Low[llb]-SignalGap*Point。
b1=高;//+SignalGap*Point。
b2=Low[llb];//-SignalGap*Point。
*/
return(0);
}
//找到十个ZigZag。
空白的FindZigZag()
{
int i=BackStart;
int ii=0;
int m=0;
int n=0。
while(ii<ZigN)
{
如果(iCustom(NULL,0, "zigzag",Depth,Deviation,BackStep,0,i)>0.1) /1=高
{
ZigZag[0]=0。
ZigZag[1]=iCustom(NULL,0, "zigzag",Depth,Deviation,BackStep,0,i) 。
// Print("ZigZag: ",ZigZag[1])。
ii++;
}
i++;
}
}
// 寻找阻力和支撑
无效的阻力支持()
{
int i,n;
for(i=0;i<ZigN;i++)
{
for(n=0;n<ZigN;n++)
{
如果(MathAbs(ZigZag[1]-ZigZag[1][n])<Point*Gap)
{
ZigZag[0]++。
}
// Print(i+":ZigNumber: "+ZigZag[0]+" ZigZag: "+ZigZag[1])。
}
// 打印("结束")。
}
ArraySort(ZigZag,WHOLE_ARRAY,0,MODE_DESCEND)。
for(i=0;i<ZigN;i++)
{
// Print(i+":ZigNumber: "+ZigZag[0]+" ZigZag: "+ZigZag[1])。
}
// 打印("结束")。
}
我可以问她一些关于MQL4的问题吗?
你好,来自柏林。
我是这个论坛的新成员,读过Coders` guru的MQL4课程。非常感谢您的教导!现在我想尝试一些简单的程序,我已经研究了 ,为什么MA线不会显示在我的主图表中?谢谢你的帮助。
#property indicator_chart_window
#property indicator_color1 Red
extern int Period_MA = 21;
bool Fact_Up = true;
bool Fact_Dn = true;
int start()
{
双重MA。
MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0)。
如果(Bid > MA && Fact_Up == true)
{
Fact_Dn = true。
Fact_Up = false;
Alert("Price is above MA(",Period_MA,").")。
}
如果(Bid < MA && Fact_Dn == true)
{
Fact_Up = true;
Fact_Dn = false;
Alert("Price is below MA(",Period_MA,").");
}
return(0);
}
你好。
我正在研究一个自定义指标的想法。我需要知道这在脚本中是否可行。
MT4能在任何时候识别我的鼠标下的蜡烛吗?所以我想在某个蜡烛的开盘或收盘时画一条水平线(我通过点击或将鼠标悬停在其上方选择),这可能吗?
我找不到任何有关这方面的信息。
这将有很大帮助,谢谢
EAs的订单/交易经理
你们好。
有没有人熟悉用于EA的订单/交易管理的MQ4库?我主要对以下两个功能感兴趣。
1.放置虚拟止损单: 与其使用OrderSend(...)应用止损单,不如使用MyOrderSend(...),参数相同,管理器将处理一切,同时跟踪价格,并在价格触及止损时放置市场订单。
这样做的主要目的是为了克服不必要的STOPLEVEL负担,但它也允许 "影子 "订单。
2.2.经理人将收集待定、执行和终止订单的状态和统计数据。利用这些信息,人们可以实现花哨的MM策略和花哨的止损策略(例如,一个实盘头寸的价内次数可以用于保值或止损机制)。
我已经搜索了很久,所以我不指望这样一个库的整体存在,但如果你熟悉部分解决方案和相关的代码片段,那就太好了。
干杯。
特伦迪克
EAs的订单/交易经理
我刚刚发现,在mql5中开发了一个非常好的订单管理器,允许对冲仓位。见paulsfxrandomwalk blogspot(还不允许发布链接)。
不是完整的,但是非常好的一段代码。
把它翻译成mql4应该不容易,但还是有可能的,因为我们必须把c++的OOP代码降级到极其有限的mql4。这似乎是一个很大的浪费
所以我对你的链接的呼吁仍在进行...
图表上的MA线
你好,来自柏林。
我是这个论坛的新成员,已经阅读了Coders` guru的MQL4课程。非常感谢您的教导!现在我想尝试一些简单的程序,我已经研究了 ,为什么MA线不会显示在我的主图上?谢谢你的帮助。
#property indicator_chart_window
#property indicator_color1 Red
extern int Period_MA = 21;
bool Fact_Up = true;
bool Fact_Dn = true;
int start()
{
双重MA。
MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0)。
如果(Bid > MA && Fact_Up == true)
{
Fact_Dn = true。
Fact_Up = false;
Alert("Price is above MA(",Period_MA,").")。
}
如果(Bid < MA && Fact_Dn == true)
{
Fact_Up = true;
Fact_Dn = false;
Alert("Price is below MA(",Period_MA,").");
}
return(0);
}你好,Berliner。
在你上面的代码中,似乎缺少在图表上绘制MA线的程序。
在这个TSD论坛上快速搜索一下,有很多MA指标的好例子,你可以看一下代码,学习如何在图表上画出MA线。
祝你好运......并继续学习!
罗伯特
MTF指标的刷新问题
你好。
我需要关于这个指标的帮助。它是MTF MACD斜率,但它在刷新时有一个问题,我必须切换TF来纠正它。
我已经尝试改变
limit=Bars-counted_bars;改为 limit=Bars-counted_bars/Period()。
并加入Refreshrates()。
但没有结果。
对不起,我必须把代码上传到.mql中,试着用php标签上传,但它太长了。
我也把图片上传到MTF线程
谢谢大家。
大家好。
我收到很多私人信息,要求我帮助处理一些代码。
在这里,您可以发布与MQL4有关的问题,我会尽力回答。Codesguru。
我完全没有编程方面的知识。我需要你或任何人帮助我,在这个execute_line indi上设置报警和警报(作为外部指标)。
请先谢谢你。
干杯,Terry
Waddah Attar黄牛
你好!
我发现了一个有趣的指标,是以剥头皮为导向的。
我想对它进行回测,但它在几天后没有打印任何条形图。
你能不能看看在代码中必须编辑什么才能使它打印出几千个条形图?如果有一个选项可以在元编辑器中输入一个数字,请告诉我。我找不到任何东西。
谢谢你的时间
Xander
waddah_attar_scalping.ex4
waddah_attar_scalping.mq4