我正在使用Amibroker v6.3
我想找出回测期间进行的交易的利润百分比,然后相应地调整卖出标准。当利润低于10%时,我想使用此函数sell_below10()。当利润> 10%时,请使用功能sell_abv10()。
如何在回测期间检测到交易的利润百分比,以便我可以相应地使用正确的卖出功能?
谢谢。
答案 0 :(得分:3)
已更新
这是在计算从开仓之日起的pct变化,并相应地将Sell变量设置为每个函数的结果。
Buy = ExRem(YourBuySignal, YourSellSignal);
Sell = ExRem(YourSellSignal, YourBuySignal);
ApplyStop(stopTypeLoss, stopModePercent, 10);
ApplyStop(stopTypeProfit, stopModePercent, 10);
最简单的方法是使用止损和获利止损,这样您就不必自己计算百分比。像平常一样设置买卖信号,并添加止损。
from pyspark.sql.functions import col, max, struct
df = spark.read.option("header","true").csv("test.csv")
keys = [row.key for row in df.select(col("key")).distinct().collect()]
df2 = df.groupBy("id").pivot("key").agg(max("value"))
df2.show()
df2.printSchema()
for key in keys:
df2 = df2.withColumn(key, col(key).cast(key.split('_')[0]))
df2.show()
df2.printSchema()
df3 = df2.select("id", struct("int_key", "double_key", "string_key").alias("attributes"))
jsonArray = df3.toJSON().collect()
for json in jsonArray: print(json)