任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 608 1...601602603604605606607608609610611612613614615...1178 新评论 Alexey Viktorov 2014.05.21 11:41 #6071 solnce600: 大家好! 你能告诉我对以下条件进行编码的最佳方法 吗? 如果从1到20的所有 蜡烛图都是看跌的,没有例外(每个蜡烛图的开盘和收盘之间的点数并不重要)。 要打开一个订单。 唯一的办法是写一份 "补工 "订单。 如果我可以 "手写 "的话。 if(f) OrderSend(...); // открыть ордер Sell bool f() { for(int i = 1; i <= 20; i++) { if(Open[i] < Close[i]) return(false); } return(true); } ANDREY 2014.05.21 11:55 #6072 AlexeyVik: 嗯,除非是当场写的。 非常感谢你。 Artyom Trishkin 2014.05.21 14:59 #6073 fmv_for_a_way: 公民们,你们能告诉我为什么Alpari终端无法下订单吗? OrderSend函数看起来像这样 没有等于零的参数。我已经检查过了。 根据终端条件,最小止损和盈利距离=0.1。 终端产生错误130,并写下无效的利润或停止。 SL和TP参数分别为11和1(归一化后)。 在终端Aforex,Diven FX,ForexClub,AlfaForex - 相同的代码没有问题。 对买入来说,止损和止盈是从买入价开始计算的--这是一个。 第二--由于止损价格是计算出来的,所以需要将其规范化。以前的SL和TP的正常化并不重要。然后在交易订单中,你将表达式的非标准化值替换掉。 第三,所有价格必须符合交易要求和限制。例如,StopLevel级别可能大于止损单的规模。 ANDREY 2014.05.21 15:44 #6074 请说明为什么会出现这种情况。 有三个条件(黑体字),当同时执行时,一个订单就成功开仓。 int start() { int ot =OrdersTotal(); int index=iHighest(NULL,0,MODE_HIGH,20,1); int index1=iLowest(NULL,0,MODE_HIGH,20,1); int index3=iLowest(NULL,0,MODE_HIGH,40,20); if(Low[index1]==Low[1]) 如果(High[index]==High[20]) if(Low[index3]==Low[40] 如果( Bid==Low[40]) 如果(ot==0) OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-300*Point, "jfh",123 ) 问题 只要我添加第四个条件(红色标记), 只有当第四个 条件得到满足时,订单才会打开。 前面的三个条件 被程序忽略了。 我试图通过&&.... 来写条件,但没有成功。 如何使权证在所有四个条件同时满足的情况下被打开。 谢谢。 Any rookie question, so Why won't this open [存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. Alexey Viktorov 2014.05.21 16:09 #6075 solnce600: 请说明为什么会出现这种情况。 有三个条件(用粗体字突出显示),如果同时执行,就能成功开出一个订单。 int start() { int ot = OrdersTotal(); int index=iHighest(NULL,0,MODE_HIGH,20,1)。 int index1=iLowest(NULL,0,MODE_HIGH,20,1)。 int index3=iLowest(NULL,0,MODE_HIGH,40,20)。 如果(Low[index1]==Low[1]) 如果(High[index]==High[20]) if(Low[index3]==Low[40] 如果( Bid==Low[40]) 如果(ot==0) OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-300*Point, "jfh",123 ) 问题 只要我添加第四个条件(红色标记), 订单就会在第四个 条件得到满足的情况下打开。 该程序忽略了前面三个条件。 我试图通过&&.... 来写条件,但没有成功。 如何做到这一点,以便在执行所有四个条件的情况下立即打开手令。 谢谢你。 展开大括号,因为该算法应该是有效的。 [删除] 2014.05.21 16:20 #6076 artmedia70: 对于买入,止损和止盈都是从买入价开始计算的--这就是一个。 其次,如果你计算止损单的价格,它们需要被规范化。事实上,SL和TP早些时候被规范化了,这没什么大不了的。然后在交易订单中,你将表达式的非标准化值替换掉。 第三,所有的价格必须符合交易业务的要求和限制。例如,StopLevel的级别可能大于止损单的大小。 在Alpari上,从昨天开始转为市场执行,即。 首先买/卖sl=0;tp=0;然后修改sl=100;tp=300。 ANDREY 2014.05.21 16:44 #6077 AlexeyVik: 展开大括号,因为该算法应该可以工作。 谢谢你。 Artyom Trishkin 2014.05.21 19:32 #6078 pako: 在Alpari上,从昨天开始转为市场执行,即。 首先买入/卖出sl=0;tp=0;然后修改sl=100;tp=300。 这也是在同一个地方。当然--一个与另一个并不矛盾。它计算从Ask买入的止损单。它并没有使它们正常化。不检查StopLevel距离限制。 简而言之--一个大杂烩。 [删除] 2014.05.22 06:49 #6079 太好了,问题被删除了,太好了。 [删除] 2014.05.22 06:59 #6080 pako: Alpari从昨天开始转为市场执行,即首先买入/卖出sl=0;tp=0;然后修改sl=100;tp=300。 谢谢你的建议。我将研究这个问题。转为市场执行是否意味着挂单 也应以零止损和零利润下单,然后再进行修改? 1...601602603604605606607608609610611612613614615...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
大家好!
你能告诉我对以下条件进行编码的最佳方法 吗?
如果从1到20的所有 蜡烛图都是看跌的,没有例外(每个蜡烛图的开盘和收盘之间的点数并不重要)。
要打开一个订单。
唯一的办法是写一份 "补工 "订单。
如果我可以 "手写 "的话。
嗯,除非是当场写的。
公民们,你们能告诉我为什么Alpari终端无法下订单吗?
OrderSend函数看起来像这样
没有等于零的参数。我已经检查过了。
根据终端条件,最小止损和盈利距离=0.1。
终端产生错误130,并写下无效的利润或停止。
SL和TP参数分别为11和1(归一化后)。
在终端Aforex,Diven FX,ForexClub,AlfaForex - 相同的代码没有问题。
对买入来说,止损和止盈是从买入价开始计算的--这是一个。
第二--由于止损价格是计算出来的,所以需要将其规范化。以前的SL和TP的正常化并不重要。然后在交易订单中,你将表达式的非标准化值替换掉。
第三,所有价格必须符合交易要求和限制。例如,StopLevel级别可能大于止损单的规模。
请说明为什么会出现这种情况。
有三个条件(黑体字),当同时执行时,一个订单就成功开仓。
int start()
{
int ot =OrdersTotal();
int index=iHighest(NULL,0,MODE_HIGH,20,1);
int index1=iLowest(NULL,0,MODE_HIGH,20,1);
int index3=iLowest(NULL,0,MODE_HIGH,40,20);
if(Low[index1]==Low[1])
如果(High[index]==High[20])
if(Low[index3]==Low[40]
如果( Bid==Low[40])
如果(ot==0)
OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-300*Point, "jfh",123 )
问题
只要我添加第四个条件(红色标记), 只有当第四个 条件得到满足时,订单才会打开。
前面的三个条件 被程序忽略了。
我试图通过&&.... 来写条件,但没有成功。
如何使权证在所有四个条件同时满足的情况下被打开。
谢谢。
请说明为什么会出现这种情况。
有三个条件(用粗体字突出显示),如果同时执行,就能成功开出一个订单。
int start()
{
int ot = OrdersTotal();
int index=iHighest(NULL,0,MODE_HIGH,20,1)。
int index1=iLowest(NULL,0,MODE_HIGH,20,1)。
int index3=iLowest(NULL,0,MODE_HIGH,40,20)。
如果(Low[index1]==Low[1])
如果(High[index]==High[20])
if(Low[index3]==Low[40]
如果( Bid==Low[40])
如果(ot==0)
OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-300*Point, "jfh",123 )
问题
只要我添加第四个条件(红色标记), 订单就会在第四个 条件得到满足的情况下打开。
该程序忽略了前面三个条件。
我试图通过&&.... 来写条件,但没有成功。
如何做到这一点,以便在执行所有四个条件的情况下立即打开手令。
谢谢你。
对于买入,止损和止盈都是从买入价开始计算的--这就是一个。
其次,如果你计算止损单的价格,它们需要被规范化。事实上,SL和TP早些时候被规范化了,这没什么大不了的。然后在交易订单中,你将表达式的非标准化值替换掉。
第三,所有的价格必须符合交易业务的要求和限制。例如,StopLevel的级别可能大于止损单的大小。
在Alpari上,从昨天开始转为市场执行,即。
首先买/卖sl=0;tp=0;然后修改sl=100;tp=300。
展开大括号,因为该算法应该可以工作。
在Alpari上,从昨天开始转为市场执行,即。
首先买入/卖出sl=0;tp=0;然后修改sl=100;tp=300。
这也是在同一个地方。当然--一个与另一个并不矛盾。它计算从Ask买入的止损单。它并没有使它们正常化。不检查StopLevel距离限制。
简而言之--一个大杂烩。
Alpari从昨天开始转为市场执行,即
首先买入/卖出sl=0;tp=0;然后修改sl=100;tp=300。
谢谢你的建议。我将研究这个问题。转为市场执行是否意味着挂单 也应以零止损和零利润下单,然后再进行修改?