在测试器中进行清算 - 页 4 1234567 新评论 Aleksandr Slavskii 2021.11.09 16:36 #31 Roman Shiredchenko #: 清算期间的注销可以不考虑。 例子。在清算期间,你的交易将被删除,你将得到20图格里克,在清算后,你的交易将以70的价格打开。 如果你以100的价格平仓,那么终端将显示一笔交易,利润为50图格里克。 这个问题通常发生在编写拖网或CU时。假设我们想在交易量为15+时把CUE设为+5。 如果我们从这个例子中得到数字,那么在清算前我们的止损将是+5点,清算后将是-5点。 但如果交易将在止损时关闭,我们仍将得到5轮的利润。 因此,在测试器中可以不考虑清算。 Roman Shiredchenko 2021.11.09 16:43 #32 Aleksandr Slavskii #:真的很简单,而且最重要的是可靠。请原谅作者的离题,但你是否有确定清算何时结束的秘诀?问题是这样的:开盘经纪人在清算过程中删除了挂单,而清算场并没有再次设置这些挂单。 我不知道期货的情况,但股票的清算在不同时间结束。 因此,我无法确定某一特定证券的清算结束时间。 我只是用定时器来发送订单,直到它打开。 我不喜欢这种方法,我也没有别的方法。 没关系--一起讨论和辩论--这个话题向所有人开放!!!!!。 Roman Shiredchenko 2021.11.09 16:45 #33 Aleksandr Slavskii #:清算期间的注销可以不考虑。例子。在清算期间,你的交易将被删除,你将得到20图格里克,在清算后,你的交易将以70的价格打开。如果你在100点平仓,终端将显示一笔交易,利润为50图格里克。 这个问题通常发生在编写拖网或CU时。假设我们想在交易量为15+时把CUE设为+5。如果我们从这个例子中得到数字,那么在清算前我们的止损将是+5点,清算后将是-5点。 但如果交易将在止损时关闭,我们仍将得到5轮的利润。这就是为什么我们可以不考虑在测试器中进行清算。 哦!多么有趣...将不得不深入地去尝试它!:-) 写道(取自文章)f-i-tion确切地从历史上的交易中计算出来,在事实上(这是谁在加号中的位置)--计算连续的减号,并在屏幕上显示--排序的ACCOUNT清算,当然不能完全它将在交易时全部正确--现在只是看它... 因此,为了准确地关闭头寸,例如,考虑到之前的清算,如果是减去--那么我们应该比较清算时的平仓利润和之前的损失值。 //+------------------------------------------------------------------+ //| УЧЕТ КЛИРИНГА //+------------------------------------------------------------------+ double Calc_Clearing() // вычисление лота { bool ord; double TotalLot=0; for(int i=HistoryDealsTotal()-1; i>=0; i--) { ulong ticket=HistoryDealGetTicket(i); ord=HistoryDealSelect(ticket); if(ord && HistoryDealGetString(ticket,DEAL_SYMBOL) == _Symbol // && HistoryDealGetInteger(ticket,DEAL_MAGIC) == MagicC && HistoryDealGetInteger(ticket,DEAL_ENTRY) == DEAL_ENTRY_OUT) { if(HistoryDealGetDouble(ticket,DEAL_PROFIT) <= 0) { TotalLot+=HistoryDealGetDouble(ticket,DEAL_VOLUME); } else { break; } } } return TotalLot == 0 ? TotalLot: TotalLot; } 发现一个错误 - 修复它。 TotalLot+=HistoryDealGetDouble(ticket,DEAL_PROFIT); 因此,这是插入前屏幕上的图片。 Comment(" SPREAD текущий по символу ", _Symbol, " составляет: ", SymbolInfoInteger(_Symbol,SYMBOL_SPREAD), " СВЕРКА по клирингу: ", NormalizeDouble(Calc_Clearing(),0)); 因为还没有清算损失。 09.11.2021:所有的 "出 "都是在加号。 Aleksandr Slavskii 2021.11.09 18:08 #34 Roman Shiredchenko #: 太可怕了!有太多的错误,无法评论。 让我们换个说法。 如果你对职位感兴趣,为什么还需要交易记录? 我认为,把每笔新交易的最后一个头寸的价格写进一个变量就足够了,当清算时,通过写在变量中的价格和清算前最后一个 tick 的价格之间的差异来调整 CU。 例子。 批量=1。 double end_position=0。 第一笔交易价格为30,结束位置=30。 第二笔交易的价格为 60,结束位置=45。 第三次交易价格 为90,结束位置=60。 也就是说,你在60的位置有一个量为3的位置。 假设以70的价格结算,利润等于30图格里克。 double clearing_price = 70; 清算后,该仓位以70的价格开仓,但我们必须记住,该仓位的实际 价格是end_position == 60;因此,这是要计算拖曳或CUE的价格。 因此,在清算过程中,填入变量 双重 校正器=0。 矫正器 =清算价格-结束位置。 假设你有一个CU开始时的交易是+20点,分别添加到CU函数中,CU开始是:20-校正器。 而且,CU也被放在加号中,它们也必须被修正器 的值所修正。 关闭任何位置校正器 后=0。 但这只有在清算后没有部分平仓或补仓的情况下才会起作用。如果有的话,我们必须以不同的方式来做。 JRandomTrader 2021.11.09 20:12 #35 Aleksandr Slavskii #:真的很简单,而且最重要的是可靠。请原谅作者的离题,但你是否有确定清算何时结束的秘诀?问题是这样的:经纪人开盘,在清算过程中删除了挂单,而清算场并没有再次设置它们。 我不知道期货的情况,但股票的清算在不同时间结束。 因此,我无法确定某一特定证券的清算结束时间。 我只是用定时器来发送订单,直到它打开。 我不喜欢这种方法,我也没有其他方法。 我也有一个开瓶器,但在期货上。我在清算结束时也有同样的问题,我不知道如何确定它,我只取19:05。 我的意思是,你可以搁置到日期,而不仅仅是今天。至少在期货方面。 Roman Shiredchenko 2021.11.10 00:23 #36 Aleksandr Slavskii #:1.恐怖的是!有太多的错误,无法评论。让我们换个说法。如果你对职位感兴趣,为什么还需要交易记录?我认为,把每笔新交易的最后一个头寸的价格写进一个变量就足够了,当清算时,通过写在变量中的价格和清算前最后一个 tick 的价格之间的差异来调整 CU。例子。批量=1。double end_position=0。第一笔交易价格为30,结束位置=30。第二笔交易的价格为 60,结束位置=45。第三次交易价格 为90,结束位置=60。也就是说,你在60的位置有一个量为3的位置。假设以70的价格结算,利润等于30图格里克。double clearing_price = 70;清算后,该仓位以70的价格开仓,但我们必须记住,该仓位的实际 价格是end_position == 60;因此,这是要计算拖曳或CUE的价格。因此,在清算过程中,填入变量 双重 校正器=0。矫正器 =清算价格-结束位置。假设你有一个CU开始时的交易是+20点,分别添加到CU函数中,CU开始是:20-校正器。还有,CU是把一些点加进去的,它们也必须由修正器 的值来修正。关闭任何位置校正器 后=0。 2.但这只有在清算后没有部分平仓或补仓的情况下才会起作用。如果有,我们应该以不同的方式来做。 1.谢谢你的日程安排。我想暂时不看修正器,因为我有添加和拖曳的功能,例如30点,在拖曳设置后,根据机器人的操作逻辑,可能有部分关闭。也就是说,在开仓后,我记住了开仓价,在加仓后--平均--我又记住了新的开仓价。而实质上,经纪人的清算和设置新的开盘价将不重要。 我的理解是正确的,这种方法也可以按照我这篇帖子中写的交易逻辑进行。 此外,如果资产的当前价格允许,将SL转移到BU+30点,从之前记忆的累积仓位价格。 而且,谁会关心你的经纪人所设定的期货的当前开仓价格呢? 2. "但这只有在清算后没有部分关闭或填补的情况下才有效。如果有,就需要以不同的方式进行。" 我有fills...之前和之后--直到转移到BU+30点--是否真的有必要通过数组读取所有市场订单的当前平均价格,因为我们将需要 ...我们需要市场订单的开盘价和每个订单的合同数量和交易量...来显示它们的总平均价格 - 转移到CU的意思是什么 - 来计算... 平均价格=((OPEN_1 * VOLUME_1)+(OPEN_2 * VOLUME_2)+(OPEN_3 * VOLUME_3)+n)/(VOL_1+VOL_2+VOL_3+n),这里发现我没有在BU中翻译SL+30点的所有总头寸 - 有必要将所有这些值写入数组还是什么?如果我们打开第N个市场订单片,我们是否应该提高这整个链条来计算所有的平均值? 或者我们可以以某种方式玩弄它。 HistoryOrderSelect () HistoryOrderGetTicket () 但问题是,如何确定参与形成实际总头寸的实际市场订单循环的起点和终点? Aleksandr Slavskii 2021.11.10 05:11 #37 Roman Shiredchenko #:VOLUME_Price = ((OPEN_1 * VOLUME_1) + (OPEN_2 * VOLUME_2) + (OPEN_3 * VOLUME_3)+n) / (VOL_1+VOL_2 + VOL_3 + n),所以事实证明,我还没有把SL转化为BU + 30点的所有汇总位置 - 我应该把所有这些值写在数组里吗?如果我们打开第N个市场订单,我们必须调出整个链条,以计算所有的平均数? 唉,情况正是如此。 JRandomTrader 2021.11.10 06:12 #38 Roman Shiredchenko #: Average_Price = ((OPEN_1 * VOLUME_1) + (OPEN_2 * VOLUME_2) + (OPEN_3 * VOLUME_3)+n) / (VOL_1 + VOL_2 + VOL_3 + n), 所以我没有把SL转化为BU + 30点的所有综合头寸 - 所有这些值都应该写在数组里还是什么?如果我们打开第N个市场订单片,我们是否应该提高这整个链条来计算所有的平均值? 或者我们可以以某种方式玩弄它。 但是,问题来了,如何把握参与实际总头寸形成的实际市场订单周期的开始和结束? 存储最后的平均价格就足够了。 Roman Shiredchenko 2021.11.10 06:42 #39 JRandomTrader #:保持最新的平均价格即可。 好的,但是如果我加注,比如说,用任何体积的东西加注--我如何真正地计算它? JRandomTrader 2021.11.10 07:05 #40 Roman Shiredchenko #: 好的,但如果我添加,例如,任何体积 - 如何计算其实际的? 我给你看了。 以这个最后的平均价格和头寸的数量,新交易的价格和其数量。一切都将被正确计算。 1234567 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
清算期间的注销可以不考虑。
例子。在清算期间,你的交易将被删除,你将得到20图格里克,在清算后,你的交易将以70的价格打开。
如果你以100的价格平仓,那么终端将显示一笔交易,利润为50图格里克。
这个问题通常发生在编写拖网或CU时。假设我们想在交易量为15+时把CUE设为+5。
如果我们从这个例子中得到数字,那么在清算前我们的止损将是+5点,清算后将是-5点。 但如果交易将在止损时关闭,我们仍将得到5轮的利润。
因此,在测试器中可以不考虑清算。
真的很简单,而且最重要的是可靠。
请原谅作者的离题,但你是否有确定清算何时结束的秘诀?
问题是这样的:开盘经纪人在清算过程中删除了挂单,而清算场并没有再次设置这些挂单。
我不知道期货的情况,但股票的清算在不同时间结束。
因此,我无法确定某一特定证券的清算结束时间。
我只是用定时器来发送订单,直到它打开。
我不喜欢这种方法,我也没有别的方法。
清算期间的注销可以不考虑。
例子。在清算期间,你的交易将被删除,你将得到20图格里克,在清算后,你的交易将以70的价格打开。
如果你在100点平仓,终端将显示一笔交易,利润为50图格里克。
这个问题通常发生在编写拖网或CU时。假设我们想在交易量为15+时把CUE设为+5。
如果我们从这个例子中得到数字,那么在清算前我们的止损将是+5点,清算后将是-5点。 但如果交易将在止损时关闭,我们仍将得到5轮的利润。
这就是为什么我们可以不考虑在测试器中进行清算。
哦!多么有趣...将不得不深入地去尝试它!:-)
写道(取自文章)f-i-tion确切地从历史上的交易中计算出来,在事实上(这是谁在加号中的位置)--计算连续的减号,并在屏幕上显示--排序的ACCOUNT清算,当然不能完全它将在交易时全部正确--现在只是看它...
因此,为了准确地关闭头寸,例如,考虑到之前的清算,如果是减去--那么我们应该比较清算时的平仓利润和之前的损失值。
发现一个错误 - 修复它。
因此,这是插入前屏幕上的图片。
因为还没有清算损失。
09.11.2021:所有的 "出 "都是在加号。
太可怕了!有太多的错误,无法评论。
让我们换个说法。
如果你对职位感兴趣,为什么还需要交易记录?
我认为,把每笔新交易的最后一个头寸的价格写进一个变量就足够了,当清算时,通过写在变量中的价格和清算前最后一个 tick 的价格之间的差异来调整 CU。
例子。
批量=1。
double end_position=0。
第一笔交易价格为30,结束位置=30。
第二笔交易的价格为 60,结束位置=45。
第三次交易价格 为90,结束位置=60。
也就是说,你在60的位置有一个量为3的位置。
假设以70的价格结算,利润等于30图格里克。
double clearing_price = 70;
清算后,该仓位以70的价格开仓,但我们必须记住,该仓位的实际 价格是end_position == 60;因此,这是要计算拖曳或CUE的价格。
因此,在清算过程中,填入变量
双重 校正器=0。
矫正器 =清算价格-结束位置。
假设你有一个CU开始时的交易是+20点,分别添加到CU函数中,CU开始是:20-校正器。
而且,CU也被放在加号中,它们也必须被修正器 的值所修正。
关闭任何位置校正器 后=0。
但这只有在清算后没有部分平仓或补仓的情况下才会起作用。如果有的话,我们必须以不同的方式来做。
真的很简单,而且最重要的是可靠。
请原谅作者的离题,但你是否有确定清算何时结束的秘诀?
问题是这样的:经纪人开盘,在清算过程中删除了挂单,而清算场并没有再次设置它们。
我不知道期货的情况,但股票的清算在不同时间结束。
因此,我无法确定某一特定证券的清算结束时间。
我只是用定时器来发送订单,直到它打开。
我不喜欢这种方法,我也没有其他方法。
我也有一个开瓶器,但在期货上。我在清算结束时也有同样的问题,我不知道如何确定它,我只取19:05。
我的意思是,你可以搁置到日期,而不仅仅是今天。至少在期货方面。
1.恐怖的是!有太多的错误,无法评论。
让我们换个说法。
如果你对职位感兴趣,为什么还需要交易记录?
我认为,把每笔新交易的最后一个头寸的价格写进一个变量就足够了,当清算时,通过写在变量中的价格和清算前最后一个 tick 的价格之间的差异来调整 CU。
例子。
批量=1。
double end_position=0。
第一笔交易价格为30,结束位置=30。
第二笔交易的价格为 60,结束位置=45。
第三次交易价格 为90,结束位置=60。
也就是说,你在60的位置有一个量为3的位置。
假设以70的价格结算,利润等于30图格里克。
double clearing_price = 70;
清算后,该仓位以70的价格开仓,但我们必须记住,该仓位的实际 价格是end_position == 60;因此,这是要计算拖曳或CUE的价格。
因此,在清算过程中,填入变量
双重 校正器=0。
矫正器 =清算价格-结束位置。
假设你有一个CU开始时的交易是+20点,分别添加到CU函数中,CU开始是:20-校正器。
还有,CU是把一些点加进去的,它们也必须由修正器 的值来修正。
关闭任何位置校正器 后=0。
2.但这只有在清算后没有部分平仓或补仓的情况下才会起作用。如果有,我们应该以不同的方式来做。
1.谢谢你的日程安排。我想暂时不看修正器,因为我有添加和拖曳的功能,例如30点,在拖曳设置后,根据机器人的操作逻辑,可能有部分关闭。也就是说,在开仓后,我记住了开仓价,在加仓后--平均--我又记住了新的开仓价。而实质上,经纪人的清算和设置新的开盘价将不重要。
我的理解是正确的,这种方法也可以按照我这篇帖子中写的交易逻辑进行。
此外,如果资产的当前价格允许,将SL转移到BU+30点,从之前记忆的累积仓位价格。
而且,谁会关心你的经纪人所设定的期货的当前开仓价格呢?
2.
"但这只有在清算后没有部分关闭或填补的情况下才有效。如果有,就需要以不同的方式进行。"
我有fills...之前和之后--直到转移到BU+30点--是否真的有必要通过数组读取所有市场订单的当前平均价格,因为我们将需要
...我们需要市场订单的开盘价和每个订单的合同数量和交易量...来显示它们的总平均价格 - 转移到CU的意思是什么 - 来计算...
平均价格=((OPEN_1 * VOLUME_1)+(OPEN_2 * VOLUME_2)+(OPEN_3 * VOLUME_3)+n)/(VOL_1+VOL_2+VOL_3+n),这里发现我没有在BU中翻译SL+30点的所有总头寸 - 有必要将所有这些值写入数组还是什么?如果我们打开第N个市场订单片,我们是否应该提高这整个链条来计算所有的平均值?
或者我们可以以某种方式玩弄它。
HistoryOrderSelect ()
HistoryOrderGetTicket ()
但问题是,如何确定参与形成实际总头寸的实际市场订单循环的起点和终点?
VOLUME_Price = ((OPEN_1 * VOLUME_1) + (OPEN_2 * VOLUME_2) + (OPEN_3 * VOLUME_3)+n) / (VOL_1+VOL_2 + VOL_3 + n),所以事实证明,我还没有把SL转化为BU + 30点的所有汇总位置 - 我应该把所有这些值写在数组里吗?如果我们打开第N个市场订单,我们必须调出整个链条,以计算所有的平均数?
唉,情况正是如此。
Roman Shiredchenko #:
Average_Price = ((OPEN_1 * VOLUME_1) + (OPEN_2 * VOLUME_2) + (OPEN_3 * VOLUME_3)+n) / (VOL_1 + VOL_2 + VOL_3 + n), 所以我没有把SL转化为BU + 30点的所有综合头寸 - 所有这些值都应该写在数组里还是什么?如果我们打开第N个市场订单片,我们是否应该提高这整个链条来计算所有的平均值?
或者我们可以以某种方式玩弄它。
但是,问题来了,如何把握参与实际总头寸形成的实际市场订单周期的开始和结束?
存储最后的平均价格就足够了。
保持最新的平均价格即可。
好的,但如果我添加,例如,任何体积 - 如何计算其实际的?
我给你看了。 以这个最后的平均价格和头寸的数量,新交易的价格和其数量。一切都将被正确计算。