检查--我做错了什么? - 页 2 1234567 新评论 Natalya Smirnova 2021.12.21 12:23 #11 Natalya Smirnova #:由于我是为二元期权写的,所以我做的事情有点不同。 这可能是正确的? 问题是这样的 在终端中,1个订单有2行 而对于专家顾问下的订单,利润==0 Renat Akhtyamov 2021.12.21 12:26 #12 Natalya Smirnova #:我认为这就是问题所在 在终端中,1个订单有2行。而在专家顾问所下的订单上,利润==0 你在哪里找到一个低于零的价格--你如何显示截图? 在这张截图中你看不到它 Nikolai Semko 2021.12.21 12:40 #13 Alexey Viktorov #:你已经得到了关于整个算法的建议,我不想干涉,甚至没有看你的代码和同样的建议......但是这个引起了我的注意。所以我的问题是:使用开关运算符不是更容易、更易读吗? 我认为这更容易阅读和理解。也许它的工作速度也更快一点。 也许用数组volume[n]来代替函数?虽然,如果你要为每一行代码付费,你最好让它这样:)) Alexey Viktorov 2021.12.21 13:17 #14 Nikolai Semko #: 也许用一个数组volume[n]来代替一个函数? 尽管如果你为每一行代码付费,最好还是保持这种方式 :)) 也许是这样......我同意。 Natalya Smirnova 2021.12.21 13:58 #15 Renat Akhtyamov #:你在哪里发现价格低于零的,给我看一下截图?这张截图上没有这样的东西。 我试图获得OrderProfit()--它给出了0这里是确认发现的利润-0.01,因为它从那条附加线出来了 Natalya Smirnova 2021.12.21 14:02 #16 Alexey Viktorov #:也许是这样......我同意。 我没有得到报酬,这是为了我自己和自我发展。工作之余,做一个圣杯任务很有意思 Renat Akhtyamov 2021.12.21 14:25 #17 我不明白负面的价格,它仍然不存在。 像这样计算总利润(摘录)。 你需要的东西被强调 for(i=0;i<OrdersHistoryTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if(OrderType()==ORDER_TYPE_BALANCE && OrderCloseTime()>startDate)Withdrawal=Withdrawal+OrderProfit()+OrderCommission()+OrderSwap(); if((OrderType()==ORDER_TYPE_BUY || OrderType()==ORDER_TYPE_SELL)) { if(OrderCloseTime()>iTime(Symbol(),PERIOD_D1,0))hystCurrDay=hystCurrDay+OrderProfit()+OrderCommission()+OrderSwap(); if(OrderCloseTime()<iTime(Symbol(),PERIOD_D1,0) && OrderCloseTime()>iTime(Symbol(),PERIOD_D1,1))hystPrevDay=hystPrevDay+OrderProfit()+OrderCommission()+OrderSwap(); } } } Alexey Viktorov 2021.12.21 14:57 #18 Natalya Smirnova #: 我没有得到报酬,这是为了我自己和自我发展。工作之余,做个圣杯搜索很有意思 不要管我。只有我和尼古拉在一起,他们有一个小聚会...... 你的问题的实质是:由于外汇经纪公司的OrderProfit()不提供任何实际价值,你必须将正/负关闭的订单定义为订单的收盘价和开盘价之间的差异。你已经被告知这一点 关于交易、自动交易系统和策略测试的论坛检查我做错了什么?Renat Akhtyamov, 2021.12.21 09:27不明白这背后的逻辑怎么会bool profit = false; if(OrderClosePrice() > 0) profit = true; bool loss = false; if(OrderClosePrice() < 0) loss = true; 订单的收盘价 怎么可能小于零?如果收盘价高于开盘价,"买入 "订单将处于加仓状态。这里是买入加码的条件(不包括佣金和互换)。OrderClosePrice() > OrderOpenPrice() 如果是相反的情况,那就是减分。 Nikolai Semko 2021.12.21 15:56 #19 Natalya Smirnova #: 我自己和我的自我发展没有得到那么多报酬。工作之余,去寻找圣杯是很有趣的。 是的,纳塔利娅--那只是 "当你为一行代码获得报酬 "系列中的一个备忘录。 这就是程序员的幽默感。 在你的情况下,你不需要一个函数。 double SelectVolume(int n) 你只需要形成变量Volume1 ...Volume10变量最初应该形成一个数组volume[10],然后通过索引n引用其元素volume[n]。 不要担心--几乎每个程序员都经历过这种情况。 最主要的是,你真的喜欢编程。我可以感觉到它。 那么你就会走得很远。 Renat Akhtyamov 2021.12.21 16:14 #20 我同意。这些节目真的很有吸引力,而且是非常长期的!!!。并非每个人最后都会有一个冰雹....。 1234567 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
由于我是为二元期权写的,所以我做的事情有点不同。
这可能是正确的?
问题是这样的
在终端中,1个订单有2行
而对于专家顾问下的订单,利润==0
我认为这就是问题所在
在终端中,1个订单有2行。
而在专家顾问所下的订单上,利润==0
你在哪里找到一个低于零的价格--你如何显示截图?
在这张截图中你看不到它
你已经得到了关于整个算法的建议,我不想干涉,甚至没有看你的代码和同样的建议......但是这个
引起了我的注意。所以我的问题是:使用开关运算符不是更容易、更易读吗?
我认为这更容易阅读和理解。也许它的工作速度也更快一点。也许用一个数组volume[n]来代替一个函数?
也许是这样......我同意。
你在哪里发现价格低于零的,给我看一下截图?
这张截图上没有这样的东西。
我试图获得OrderProfit()--它给出了0
这里是确认发现的利润-0.01,因为它从那条附加线出来了
也许是这样......我同意。
我不明白负面的价格,它仍然不存在。
像这样计算总利润(摘录)。
你需要的东西被强调
for(i=0;i<OrdersHistoryTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderType()==ORDER_TYPE_BALANCE && OrderCloseTime()>startDate)Withdrawal=Withdrawal+OrderProfit()+OrderCommission()+OrderSwap();
if((OrderType()==ORDER_TYPE_BUY || OrderType()==ORDER_TYPE_SELL))
{
if(OrderCloseTime()>iTime(Symbol(),PERIOD_D1,0))hystCurrDay=hystCurrDay+OrderProfit()+OrderCommission()+OrderSwap();
if(OrderCloseTime()<iTime(Symbol(),PERIOD_D1,0) && OrderCloseTime()>iTime(Symbol(),PERIOD_D1,1))hystPrevDay=hystPrevDay+OrderProfit()+OrderCommission()+OrderSwap();
}
}
}
我没有得到报酬,这是为了我自己和自我发展。工作之余,做个圣杯搜索很有意思
不要管我。只有我和尼古拉在一起,他们有一个小聚会......
你的问题的实质是:由于外汇经纪公司的OrderProfit()不提供任何实际价值,你必须将正/负关闭的订单定义为订单的收盘价和开盘价之间的差异。你已经被告知这一点
关于交易、自动交易系统和策略测试的论坛
检查我做错了什么?
Renat Akhtyamov, 2021.12.21 09:27
不明白这背后的逻辑
怎么会
订单的收盘价 怎么可能小于零?
如果收盘价高于开盘价,"买入 "订单将处于加仓状态。
这里是买入加码的条件(不包括佣金和互换)。
如果是相反的情况,那就是减分。我自己和我的自我发展没有得到那么多报酬。工作之余,去寻找圣杯是很有趣的。
是的,纳塔利娅--那只是 "当你为一行代码获得报酬 "系列中的一个备忘录。
这就是程序员的幽默感。
在你的情况下,你不需要一个函数。
你只需要形成变量Volume1 ...Volume10变量最初应该形成一个数组volume[10]
,然后通过索引n引用其元素volume[n]。
不要担心--几乎每个程序员都经历过这种情况。
最主要的是,你真的喜欢编程。我可以感觉到它。
那么你就会走得很远。