我如何在进入和退出时计算我的点差数据我只在我的csv中的每行进行了点差

问题描述 投票:0回答:1

我正在尝试开设反向交易课程。但我不太明白点差是如何运作的,例如,如果您购买 1.06649,点差在这里如何运作?在同一笔交易中,如果我按预期止盈退出,它将在哪里停止?我也对止损中的价差如何运作感到困惑

    def calculate_take_profit_buy(self, current_price, point_value, take_profit_points, spread):
        return current_price + (take_profit_points * point_value)

    def calculate_stop_loss_buy(self, current_price, point_value, stop_loss_points, spread):
        return current_price - (stop_loss_points * point_value)

    def calculate_take_profit_sell(self, current_price, point_value, take_profit_points, spread):
        return current_price - (take_profit_points * point_value)

   
    def calculate_stop_loss_sell(self, current_price, point_value, stop_loss_points, spread):
        return current_price + (stop_loss_points * point_value)

我尝试与 gpt 聊天,但似乎更令人困惑。我发现2006年的一个论坛说我应该在买入时添加入场价差,在卖出时添加退出价差。直到今天还不确定这是不是真的

python yahoo-finance algorithmic-trading forex back-testing
1个回答
0
投票

使用点差可能会有点令人困惑,特别是如果您想将其包含在交易算法中。详细说明:点差 = 买入(卖出)价格和卖出(买入)价格之间的差额,当您进入或退出交易时,该点差决定了您的有效进场和退出价格。

方法调整:

def calculate_take_profit_buy(self, current_price, point_value, take_profit_points, spread):
    # Adjust the entry price for the spread
    adjusted_entry_price = current_price + spread
    # Calculate take profit target based on the adjusted entry price
    return adjusted_entry_price + (take_profit_points * point_value)

def calculate_stop_loss_buy(self, current_price, point_value, stop_loss_points, spread):
    # Adjust the entry price for the spread
    adjusted_entry_price = current_price + spread
    # Calculate stop loss target based on the adjusted entry price
    return adjusted_entry_price - (stop_loss_points * point_value)

def calculate_take_profit_sell(self, current_price, point_value, take_profit_points, spread):
    # For selling, calculate based on the bid price and adjust exit for the spread
    return current_price - (take_profit_points * point_value)

def calculate_stop_loss_sell(self, current_price, point_value, stop_loss_points, spread):
    # For selling, calculate based on the bid price and adjust exit for the spread
    return current_price + (stop_loss_points * point_value) + spread

说明:

对于买入交易:

入场:当您以要价买入时,就像签订合约一样,我们会根据点差向上调整您的入场点。

退出:当您以买入价退出买入时,止盈和止损将根据买入价计算。

对于卖出交易:

入场:当您以出价卖出时,无需向上调整,因为您是以正确的价格入场。

退出:当您以要价退出卖出交易时,您的止盈和止损必须将最终卖点向上调整点差。

示例:如果当前价格为 1.06649,点差为 0.00010:

入场价格:1.06649 + .00010(按点差向上调整)= 1.06659(这是您的入场价格)。

止盈:根据您的方法从 1.06659 计算。

止损:根据您的方法从1.06659开始计算。

如果您正在出售:

入场价:1.06649(买入价,如果您在此输入,则您以实际价格出价,没有任何调整,因为出价是真实值)。

退出价格:根据买入价计算您的目标,如果您有止盈,请在平仓前向上调整卖出价(如果可能)。

因此,这种方法可以帮助您确保您的进场和出场计算包括点差,以保证准确性并让事情变得简单!

© www.soinside.com 2019 - 2024. All rights reserved.