任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1094 1...108710881089109010911092109310941095109610971098109911001101...1178 新评论 A13ksandr 2016.09.10 12:03 #10931 alvlaf:你是在图表上手动放置EA,并希望它在每个图表上打开MaxOpenOrders订单还是TOTAL MaxOpenOrders订单?什么订单:只是市场订单还是包括限价和止损在内的所有订单? Aleksandr Afanasenko 2016.09.10 15:42 #10932 A13ksandr:你是在图表上手动放置EA,并希望它在每个图表上打开MaxOpenOrders订单还是TOTAL MaxOpenOrders订单?什么订单:只是市场订单还是包括限价和止损在内的所有订单? 我们需要它来打开所有工具的订单。假设MaxOpenOrders是1,它应该只开一个市场订单。这是一个二元期权的机器人,没有挂单。然而,它是以系列方式运作的,如果在亏损的情况下平仓,那么就会建立同样的头寸,只是手数要大一些,直到系列交易以盈利结束,就不应该为其他工具建立交易。 Aleksandr Afanasenko 2016.09.10 15:52 #10933 A13ksandr:"在这个战略中 "这句话的目的是什么?如果账户中存在手动交易,或者有另一个EA在运行,就需要使用魔法,这样就不会触及这些订单。我想是的。 是的,谢谢你,A13ksandr 。我在调试时也会改变魔法,这样就不会等到连败结束。 此外,简单地删除魔法并不改变机器人的操作算法。我不打算在那里手动开单。 A13ksandr 2016.09.10 17:21 #10934 alvlaf: 它需要为所有符号开放。假设MaxOpenOrders是1,它应该只开一个市场订单。这是一个二元期权的机器人,没有挂单。然而,它是以系列方式运作的,如果在亏损的情况下平仓,那么就会建立同样的头寸,只是手数要大一些,直到系列交易以盈利的方式结束,不应建立其他工具的交易。好吧,我错过了二元期权的部分。出于某种原因,在我看来,如果我手动将同一个EA钉在不同的图表上,它仍然会被算作运行不同的EA。每个图表都将运行1个选项(嗯,当它正常工作时)。我可能是错的,因为我自己是个初学者。我已经在我的EA中以这种方式考虑了多货币。输入字符串 TradeSymbols = "EURUSD, GBPUSD, AUDUSD, NZDUSD, USDCAD, USDCHF, GBPCAD"; // 交易的符号string Symbols[50]; // 50是符号的最大数量。int SymbolCount。//--------------------------------------------------int OnInit(){如果(IsTesting() || !ExtractSymbols()){SymbolCount = 1;Symbols[0] = Symbol()。}return(INIT_SUCCEEDED)。}//--------------------------------------------------bool ExtractSymbols(){ushort Comma = StringGetCharacter(",", 0);SymbolCount = StringSplit(TradeSymbols, Comma, Symbols);for (int i = 0; i < SymbolCount; i++){StringToUpper(Symbols[i])。Symbols[i] = StringTrimRight(Symbols[i]); //防止意外的空格。Symbols[i] = StringTrimLeft(Symbols[i]);}如果(SymbolCount > 0)返回(true)。return(false)。}//--------------------------------------------------空白的OnTick(){for (int i = 0; i < SymbolCount; i++){double LastAsk = SymbolInfoDouble(Symbols[i], SYMBOL_ASK);double LastBid = SymbolInfoDouble(Symbols[i],SYMBOL_BID);//等等...}}要将EA应用于任何图表。这样一来,MaxOpenOrders对所有图表都是准确的。 Any rookie question, so 错误、漏洞、问题 编码帮助 Aleksandr Afanasenko 2016.09.11 09:19 #10935 //等等...- 我的意思是,它是否进入了EA本身的旧代码? Aleksandr Afanasenko 2016.09.12 05:26 #10936 A13ksandr:好吧,我错过了二元期权的部分。出于某种原因,在我看来,如果我手动将同一个EA链接到不同的图表上,它仍然会被认为是不同的EA在运行。每个图表都将运行1个选项(嗯,当它正常工作时)。我可能是错的,因为我自己是个初学者。我已经在我的EA中以这种方式考虑了多货币。输入字符串 TradeSymbols = "EURUSD, GBPUSD, AUDUSD, NZDUSD, USDCAD, USDCHF, GBPCAD"; // 交易的符号string Symbols[50]; // 50是符号的最大数量。int SymbolCount。//--------------------------------------------------int OnInit(){如果(IsTesting() || !ExtractSymbols()){SymbolCount = 1;Symbols[0] = Symbol()。}return(INIT_SUCCEEDED)。}//--------------------------------------------------bool ExtractSymbols(){ushort Comma = StringGetCharacter(",", 0);SymbolCount = StringSplit(TradeSymbols, Comma, Symbols);for (int i = 0; i < SymbolCount; i++){StringToUpper(Symbols[i])。Symbols[i] = StringTrimRight(Symbols[i]); //防止意外的空格。Symbols[i] = StringTrimLeft(Symbols[i]);}如果(SymbolCount > 0)返回(true)。return(false)。}//--------------------------------------------------空白的OnTick(){for (int i = 0; i < SymbolCount; i++){double LastAsk = SymbolInfoDouble(Symbols[i], SYMBOL_ASK);double LastBid = SymbolInfoDouble(Symbols[i], SYMBOL_BID);//等等...}}要将EA应用于任何图表。这样,MaxOpenOrders对所有图表都是准确的。 这段代码是用MQL5写的吗? yaaarik777 2016.09.12 14:53 #10937 A13ksandr:如果(DayOfWeek() == 1) Price = iOpen(Symbol(), PERIOD_D1, 4);如果(DayOfWeek() >= 2) 价格 = iOpen(Symbol(), PERIOD_D1, DayOfWeek() - 2);如果下周已经过去了,我还需要从上周二的开盘价 中保留一份报告吗? 我需要一个EA来确定周二的开盘价,并在必要时从它开始,例如--一周、两周、一个月,等等。谢谢你。 Vitalie Postolache 2016.09.12 16:35 #10938 yaaarik777:如果下周已经开始,而我仍然需要从上周周二的开盘价进行报告呢? 也就是说,我需要专家顾问确定周二的开盘价,并在必要时使用它,例如,一周、两周、一个月等等。谢谢你。 然后你设定一个特定的日期,程序就会取该日的开盘价,这就更简单了。 yaaarik777 2016.09.12 18:25 #10939 evillive:然后你设定一个特定的日期,软件就会取该日期的开盘价,这就更简单了。你能帮我看一下代码吗,我不明白。您是否认为可以在OnInit()中实现对周二第一根柱子的开盘价 的计算,并在启动时计算出价格并记住它,直到EA重新启动?我很抱歉,如果我写的是废话,我只是在学习) Vitalie Postolache 2016.09.12 18:52 #10940 yaaarik777:你能帮我看一下代码吗,我不明白。你认为周二的第一个条形图的价格应该在OnInit()中计算,它将在启动时计算价格并记住它,直到EA重新启动?如果我写的是胡话,我很抱歉,我只是在学习)当天第一根柱子的开盘价=每日柱子的开盘价。你可以在Inite中进行,如果你以后不需要重新计算这个值的话。该代码大约如下。input datetime dayz=D'2016.09.06 00:00'; //зададим прошлый вторник, начало суток int bar_dayz=0; double price_dayz=0; int OnInit() { ////... bar_dayz=iBarshift(_Symbol,PERIOD_D1,dayz); price_dayz=iOpen(_Symbol,PERIOD_D1,bar_dayz); ///... } 1...108710881089109010911092109310941095109610971098109911001101...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你是在图表上手动放置EA,并希望它在每个图表上打开MaxOpenOrders订单还是TOTAL MaxOpenOrders订单?什么订单:只是市场订单还是包括限价和止损在内的所有订单?
你是在图表上手动放置EA,并希望它在每个图表上打开MaxOpenOrders订单还是TOTAL MaxOpenOrders订单?什么订单:只是市场订单还是包括限价和止损在内的所有订单?
"在这个战略中 "这句话的目的是什么?如果账户中存在手动交易,或者有另一个EA在运行,就需要使用魔法,这样就不会触及这些订单。我想是的。
它需要为所有符号开放。假设MaxOpenOrders是1,它应该只开一个市场订单。这是一个二元期权的机器人,没有挂单。然而,它是以系列方式运作的,如果在亏损的情况下平仓,那么就会建立同样的头寸,只是手数要大一些,直到系列交易以盈利的方式结束,不应建立其他工具的交易。
好吧,我错过了二元期权的部分。出于某种原因,在我看来,如果我手动将同一个EA钉在不同的图表上,它仍然会被算作运行不同的EA。每个图表都将运行1个选项(嗯,当它正常工作时)。我可能是错的,因为我自己是个初学者。我已经在我的EA中以这种方式考虑了多货币。
输入字符串 TradeSymbols = "EURUSD, GBPUSD, AUDUSD, NZDUSD, USDCAD, USDCHF, GBPCAD"; // 交易的符号
string Symbols[50]; // 50是符号的最大数量。
int SymbolCount。
//--------------------------------------------------
int OnInit()
{
如果(IsTesting() || !ExtractSymbols())
{
SymbolCount = 1;
Symbols[0] = Symbol()。
}
return(INIT_SUCCEEDED)。
}
//--------------------------------------------------
bool ExtractSymbols()
{
ushort Comma = StringGetCharacter(",", 0);
SymbolCount = StringSplit(TradeSymbols, Comma, Symbols);
for (int i = 0; i < SymbolCount; i++)
{
StringToUpper(Symbols[i])。
Symbols[i] = StringTrimRight(Symbols[i]); //防止意外的空格。
Symbols[i] = StringTrimLeft(Symbols[i]);
}
如果(SymbolCount > 0)返回(true)。
return(false)。
}
//--------------------------------------------------
空白的OnTick()
{
for (int i = 0; i < SymbolCount; i++)
{
double LastAsk = SymbolInfoDouble(Symbols[i], SYMBOL_ASK);
double LastBid = SymbolInfoDouble(Symbols[i],SYMBOL_BID);
//等等...
}
}
要将EA应用于任何图表。这样一来,MaxOpenOrders对所有图表都是准确的。
好吧,我错过了二元期权的部分。出于某种原因,在我看来,如果我手动将同一个EA链接到不同的图表上,它仍然会被认为是不同的EA在运行。每个图表都将运行1个选项(嗯,当它正常工作时)。我可能是错的,因为我自己是个初学者。我已经在我的EA中以这种方式考虑了多货币。
输入字符串 TradeSymbols = "EURUSD, GBPUSD, AUDUSD, NZDUSD, USDCAD, USDCHF, GBPCAD"; // 交易的符号
string Symbols[50]; // 50是符号的最大数量。
int SymbolCount。
//--------------------------------------------------
int OnInit()
{
如果(IsTesting() || !ExtractSymbols())
{
SymbolCount = 1;
Symbols[0] = Symbol()。
}
return(INIT_SUCCEEDED)。
}
//--------------------------------------------------
bool ExtractSymbols()
{
ushort Comma = StringGetCharacter(",", 0);
SymbolCount = StringSplit(TradeSymbols, Comma, Symbols);
for (int i = 0; i < SymbolCount; i++)
{
StringToUpper(Symbols[i])。
Symbols[i] = StringTrimRight(Symbols[i]); //防止意外的空格。
Symbols[i] = StringTrimLeft(Symbols[i]);
}
如果(SymbolCount > 0)返回(true)。
return(false)。
}
//--------------------------------------------------
空白的OnTick()
{
for (int i = 0; i < SymbolCount; i++)
{
double LastAsk = SymbolInfoDouble(Symbols[i], SYMBOL_ASK);
double LastBid = SymbolInfoDouble(Symbols[i], SYMBOL_BID);
//等等...
}
}
要将EA应用于任何图表。这样,MaxOpenOrders对所有图表都是准确的。
如果下周已经过去了,我还需要从上周二的开盘价 中保留一份报告吗? 我需要一个EA来确定周二的开盘价,并在必要时从它开始,例如--一周、两周、一个月,等等。
谢谢你。
如果下周已经开始,而我仍然需要从上周周二的开盘价进行报告呢? 也就是说,我需要专家顾问确定周二的开盘价,并在必要时使用它,例如,一周、两周、一个月等等。
谢谢你。
然后你设定一个特定的日期,程序就会取该日的开盘价,这就更简单了。
然后你设定一个特定的日期,软件就会取该日期的开盘价,这就更简单了。
你能帮我看一下代码吗,我不明白。
您是否认为可以在OnInit()中实现对周二第一根柱子的开盘价 的计算,并在启动时计算出价格并记住它,直到EA重新启动?
我很抱歉,如果我写的是废话,我只是在学习)
你能帮我看一下代码吗,我不明白。
你认为周二的第一个条形图的价格应该在OnInit()中计算,它将在启动时计算价格并记住它,直到EA重新启动?
如果我写的是胡话,我很抱歉,我只是在学习)
当天第一根柱子的开盘价=每日柱子的开盘价。你可以在Inite中进行,如果你以后不需要重新计算这个值的话。
该代码大约如下。