[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 229 1...222223224225226227228229230231232233234235236...1145 新评论 TheXpert 2009.09.15 14:04 #2281 nikkola >> : 我没有反编译,这就是我得到它的方式... 这完全没有区别。 NEKSUS 2009.09.15 14:09 #2282 很奇怪,它自己就消失了,但还是要感谢TheXpert, 我就知道错误是什么了。 [删除] 2009.09.15 14:10 #2283 nikkola >> : 我没有反编译,这就是我得到它的方式... 而一般来说,这类专家甚至在这个资源上是批量的、开放的。这是某种梅花型的EA,在价格和挥舞的交汇处工作。我用另一个指标替换了它,就这样。并遇到了这个问题。 NEKSUS 2009.09.15 14:14 #2284 还有一个问题,有谁知道报价是否有存档,因为我的网络已经用完了^_^。 Паша 2009.09.16 03:13 #2285 nikkola >> : 你好,请帮助我,我不明白...我有一个在震荡器信号上工作的EA,在过零后开仓。我想让它在当前条形图关闭且信号形成时开仓。 它可能会在一分钟内开仓和平仓几次:)直到信号调整。 以下是代码。 外置双Lot = 0.1。 外来的双倍Per=14。 bool gi_84 = TRUE。 int gi_88 = 366。 double gd_92 = 0.02; double gd_100 = 0.2; int g_period_108 = 14; int gi_112 = 50。 int g_slippage_116 = 0; 空白启动() { int l_cmd_52; int l_ticket_56; string l_symbol_0 = Symbol()。 double l_isar_8 = iCustom(NULL,0, "daytrend-t01",Per,0,0)。 double l_isar_9 = iCustom(NULL,5, "daytrend-t01",Per,0,0); int l_cmd_40 = -1; int l_ord_total_44 = OrdersTotal()。 Lot = MathMax(Lot, MarketInfo(l_symbol_0, MODE_MINLOT))。 for (int li_48 = l_ord_total_44; li_48 > 0; li_48--) { 如果(OrderSelect(li_48 - 1, SELECT_BY_POS) == TRUE) { l_cmd_52 = OrderType()。 如果(OrderSymbol() != l_symbol_0 || l_cmd_52 < OP_BUY || l_cmd_52 > OP_SELL) 继续。 l_ticket_56 = OrderTicket()。 RefreshRates()。 如果(l_cmd_52 < OP_SELL) { 如果(l_isar_8 > 0) { while (OrderClose(l_ticket_56, Lot, Bid, g_slippage_116) == 0) FunError(gi_112); l_cmd_40 = -1。 继续。 } } else { 如果(l_isar_8 < 0 ) { while (OrderClose(l_ticket_56, Lot, Ask, g_slippage_116) == 0) FunError(gi_112); l_cmd_40 = -1。 继续。 } } l_cmd_40 = l_cmd_52。 } } 如果(l_cmd_40 < OP_BUY && g_period_108 == 0 || DayOfYear() < gi_88) { RefreshRates()。 if (l_isar_8 < 0 && l_isar_9 < 0 ) while (OrderSend(l_symbol_0, OP_BUY, Lot, Ask, g_slippage_116, 0, 0) == 0) FunError(gi_112); 否则 if (l_isar_8 > 0 && l_isar_9 > 0 ) while (OrderSend(l_symbol_0, OP_SELL, Lot, Bid, g_slippage_116, 0, 0) == 0) FunError(gi_112); } } 空白 FunError(int ai_0) { 睡眠(ai_0)。 RefreshRates()。 } void deinit() { } 我为此使用了以下代码。 bool Fun_New_bar() /* 函数的目的是检测是否有一个新酒吧。 如果抓到了新酒吧,则为 "真",否则为 "假"。 =========== 变量。 =========== Test_Time - 测试时间 */ { static datetime Test_Time=0。 如果(Test_Time!=Time[0]) { Test_Time=Time[0]; return(true)。 } return(false)。 } 对于我的问题,如果我知道,请帮助我,或者告诉我是否不可能这样做......我已经找了3天的答案,仍然没有结果。:-( Андрей 2009.09.16 04:14 #2286 betmen >> : 对于我的问题,请知道的人帮助我,或者告诉我是否不可能这样做......我已经找了3天的答案,到目前为止还没有结果。:-( 自定义用户界面是用来定制设置的。也就是说,一个为特定任务(针对特定指标)专门开发的窗口。在Metatrader中不可能创建这样的窗口。这意味着它们必须在其他地方创建一个可执行文件。可执行文件可以是Exe或Dll。Dll可以在指标/脚本的开头调用,这显然更方便。 Паша 2009.09.16 05:51 #2287 jartmailru >> : 自定义用户界面是用来设置参数的。即为特定任务(针对特定指标)而专门设计的窗口。在Metatrader中不可能创建这样的窗口。这意味着它们必须在其他地方创建一个可执行文件。可执行文件可以是Exe或Dll。你可以在指示器/脚本启动时调用Dll,这样更舒服。 谢谢你!!!。 如果你愿意分享描述它的文章,我会非常感激你......:-) Андрей 2009.09.16 07:03 #2288 betmen >> : 谢谢你!!!。 问题是如何配置 "主窗体 "上的对象和MQL4中的变量之间的接口,如果你与我分享一些相关文章的链接,我就会感激不尽了......:-) 嗯,我的印象是,最好忽略Dll。 模态显示可能是危险的(它是UI线程上的一个指示器,你可以得到后果)-。 或也许不是...一般来说,表格可以在一个单独的环境中运行--用Wtl一切都变的很好。 指示器将等待一个允许其工作的标志,并询问这个表格。 然后--当表格显示准备就绪时--有不同的函数,如get(int & to[]),有指针/参考。 这将传输不同的数据。有了弦子,可能会有麻烦...... 而且你将与我分享文章的链接;-)。 Паша 2009.09.16 09:03 #2289 jartmailru >> : 嗯,我的印象是最好忽略Dll。 在模式上显示它可能是危险的(它是在用户界面线程上,你可能会得到后果)- 或也许不是...一般来说,表格可以在一个单独的环境中运行--用Wtl一切都变的很好。 指示器将等待一个允许其工作的标志,并询问这个表格。 然后--当表格显示准备好时--有不同的函数,如get(int & to[]),有指针/引用。 这将传输不同的数据。有了弦子,可能会有麻烦...... 你可以与我分享这篇文章的链接;-)。 问题是在选择指标操作本身的设置时,标准指标如何画出一个新的标签 "参数",并有可能用更可读的东西取代数字。 例如,如果你打电话给MA。 在指标的代码中,有一个变量 "MA_Method",方法的选择由条件决定。 switch(MA_Method) { case 1 : short_name="EMA("; draw_begin=0; break; case 2 : short_name="SMMA("; break; case 3 : short_name="LWMA("; break; 默认 : MA_Method=0。 short_name="SMA("; 你建议在初始化过程中执行一个从另一个环境中编译的exe,在初始化过程中执行一个exe文件确实是可能的,但接下来还有一个问题--如何从程序中传递数据到指标本身的变量? 也就是说,如何将combobox1.text的值转换为数字传给MA_Method? 它不是通过一个文件进行审美,也没有像MetaTrader和我创建的 "test.exe "那样的共同内存空间。 [WARNING CLOSED!] Any newbie Experts: NirvamanImax Please fix this indicator Николай 2009.09.16 09:17 #2290 Rita писал(а)>> 谢谢你。我现在要试一试。 //------------------------------------------ 是的,它成功了。专家们正在工作。 但它对我不起作用:-(我仍然收到错误的借口和关闭MT的通知。 1...222223224225226227228229230231232233234235236...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我没有反编译,这就是我得到它的方式...
这完全没有区别。
我没有反编译,这就是我得到它的方式...
而一般来说,这类专家甚至在这个资源上是批量的、开放的。这是某种梅花型的EA,在价格和挥舞的交汇处工作。我用另一个指标替换了它,就这样。并遇到了这个问题。
你好,请帮助我,我不明白...我有一个在震荡器信号上工作的EA,在过零后开仓。我想让它在当前条形图关闭且信号形成时开仓。 它可能会在一分钟内开仓和平仓几次:)直到信号调整。
以下是代码。
外置双Lot = 0.1。外来的双倍Per=14。
bool gi_84 = TRUE。
int gi_88 = 366。
double gd_92 = 0.02;
double gd_100 = 0.2;
int g_period_108 = 14;
int gi_112 = 50。
int g_slippage_116 = 0;
空白启动() {
int l_cmd_52;
int l_ticket_56;
string l_symbol_0 = Symbol()。
double l_isar_8 = iCustom(NULL,0, "daytrend-t01",Per,0,0)。
double l_isar_9 = iCustom(NULL,5, "daytrend-t01",Per,0,0);
int l_cmd_40 = -1;
int l_ord_total_44 = OrdersTotal()。
Lot = MathMax(Lot, MarketInfo(l_symbol_0, MODE_MINLOT))。
for (int li_48 = l_ord_total_44; li_48 > 0; li_48--) {
如果(OrderSelect(li_48 - 1, SELECT_BY_POS) == TRUE) {
l_cmd_52 = OrderType()。
如果(OrderSymbol() != l_symbol_0 || l_cmd_52 < OP_BUY || l_cmd_52 > OP_SELL) 继续。
l_ticket_56 = OrderTicket()。
RefreshRates()。
如果(l_cmd_52 < OP_SELL) {
如果(l_isar_8 > 0) {
while (OrderClose(l_ticket_56, Lot, Bid, g_slippage_116) == 0) FunError(gi_112);
l_cmd_40 = -1。
继续。
}
} else {
如果(l_isar_8 < 0 ) {
while (OrderClose(l_ticket_56, Lot, Ask, g_slippage_116) == 0) FunError(gi_112);
l_cmd_40 = -1。
继续。
}
}
l_cmd_40 = l_cmd_52。
}
}
如果(l_cmd_40 < OP_BUY && g_period_108 == 0 || DayOfYear() < gi_88) {
RefreshRates()。
if (l_isar_8 < 0 && l_isar_9 < 0 ) while (OrderSend(l_symbol_0, OP_BUY, Lot, Ask, g_slippage_116, 0, 0) == 0) FunError(gi_112);
否则
if (l_isar_8 > 0 && l_isar_9 > 0 ) while (OrderSend(l_symbol_0, OP_SELL, Lot, Bid, g_slippage_116, 0, 0) == 0) FunError(gi_112);
}
}
空白 FunError(int ai_0) {
睡眠(ai_0)。
RefreshRates()。
}
void deinit() {
}
我为此使用了以下代码。
bool Fun_New_bar()
/*
函数的目的是检测是否有一个新酒吧。
如果抓到了新酒吧,则为 "真",否则为 "假"。
===========
变量。
===========
Test_Time - 测试时间
*/
{
static datetime Test_Time=0。
如果(Test_Time!=Time[0])
{
Test_Time=Time[0];
return(true)。
}
return(false)。
}
对于我的问题,如果我知道,请帮助我,或者告诉我是否不可能这样做......我已经找了3天的答案,仍然没有结果。:-(
对于我的问题,请知道的人帮助我,或者告诉我是否不可能这样做......我已经找了3天的答案,到目前为止还没有结果。:-(
自定义用户界面是用来定制设置的。也就是说,一个为特定任务(针对特定指标)专门开发的窗口。在Metatrader中不可能创建这样的窗口。这意味着它们必须在其他地方创建一个可执行文件。可执行文件可以是Exe或Dll。Dll可以在指标/脚本的开头调用,这显然更方便。
自定义用户界面是用来设置参数的。即为特定任务(针对特定指标)而专门设计的窗口。在Metatrader中不可能创建这样的窗口。这意味着它们必须在其他地方创建一个可执行文件。可执行文件可以是Exe或Dll。你可以在指示器/脚本启动时调用Dll,这样更舒服。
谢谢你!!!。
如果你愿意分享描述它的文章,我会非常感激你......:-)
谢谢你!!!。
问题是如何配置 "主窗体 "上的对象和MQL4中的变量之间的接口,如果你与我分享一些相关文章的链接,我就会感激不尽了......:-)
嗯,我的印象是,最好忽略Dll。
模态显示可能是危险的(它是UI线程上的一个指示器,你可以得到后果)-。
或也许不是...一般来说,表格可以在一个单独的环境中运行--用Wtl一切都变的很好。
指示器将等待一个允许其工作的标志,并询问这个表格。
然后--当表格显示准备就绪时--有不同的函数,如get(int & to[]),有指针/参考。
这将传输不同的数据。有了弦子,可能会有麻烦......
而且你将与我分享文章的链接;-)。
嗯,我的印象是最好忽略Dll。
在模式上显示它可能是危险的(它是在用户界面线程上,你可能会得到后果)-
或也许不是...一般来说,表格可以在一个单独的环境中运行--用Wtl一切都变的很好。
指示器将等待一个允许其工作的标志,并询问这个表格。
然后--当表格显示准备好时--有不同的函数,如get(int & to[]),有指针/引用。
这将传输不同的数据。有了弦子,可能会有麻烦......
你可以与我分享这篇文章的链接;-)。
问题是在选择指标操作本身的设置时,标准指标如何画出一个新的标签 "参数",并有可能用更可读的东西取代数字。
例如,如果你打电话给MA。
在指标的代码中,有一个变量 "MA_Method",方法的选择由条件决定。
switch(MA_Method)
{
case 1 : short_name="EMA("; draw_begin=0; break;
case 2 : short_name="SMMA("; break;
case 3 : short_name="LWMA("; break;
默认 :
MA_Method=0。
short_name="SMA(";
你建议在初始化过程中执行一个从另一个环境中编译的exe,在初始化过程中执行一个exe文件确实是可能的,但接下来还有一个问题--如何从程序中传递数据到指标本身的变量?
也就是说,如何将combobox1.text的值转换为数字传给MA_Method?
它不是通过一个文件进行审美,也没有像MetaTrader和我创建的 "test.exe "那样的共同内存空间。
谢谢你。我现在要试一试。
//------------------------------------------
是的,它成功了。专家们正在工作。
但它对我不起作用:-(我仍然收到错误的借口和关闭MT的通知。