正规股票在线申请 源码分享:Z_absson_001(唐奇安通道 N型突破)
发布日期:2024-09-12 20:37    点击次数:109

正规股票在线申请 源码分享:Z_absson_001(唐奇安通道 N型突破)

基本思想:

唐奇安通道+N型突破 多头入场条件: 当前k线突破前20根k线高点时,且回调判定条件成立, 并再次突破此高点时入场 空头入场条件: 当前k线突破前20根k线底点时,且回调判定条件成立, 并再次突破此高点时入场     by: absson  author: hanmuze

版本内容:

  策略初步实现,原版。详细思路见源码 -->>     思路由群友absson,提供。    

效果图:(示例,以及朴素的手绘图)

图片

图片

研究方向:

  1. 暂无,欢迎交流。

源码[1/2]:函数

  # 无  

源码[2/2]:公式

//------------------------------------------------------------------------// 简称: Z_absson_001// 名称: 唐奇安通道+N型突破// 类别: 公式应用// 类型: 用户应用// 输出: Void//------------------------------------------------------------------------/* 唐奇安通道+N型突破 多头入场条件: 当前k线突破前20根k线高点时,且回调判定条件成立,并再次突破此高点时入场 空头入场条件: 当前k线突破前20根k线底点时,且回调判定条件成立,并再次突破此高点时入场 多头止损条件: 当价格突破回调低点时,止损离场 多头止盈条件: 止损跳数的整数倍,一倍,两倍或者三倍。建议做成可调节的参数 空头止损条件: 当价格突破回调高点时,止损离场 空头止盈条件: 止损跳数的整数倍,一倍,两倍或者三倍。建议做成可调节的参数 当持有多头仓位时: 如果再次出现多头入场信号,尽量不要忽略信号,每一次信号都要交易。 如果出现空头入场信号,则立即平掉多头,开空头仓位 当持有空头仓位时: 如果再次出现空头入场信号,尽量不要忽略信号,每一次信号都要交易。 如果出现多头入场信号,则立即平掉空头,开多头仓位 多头回调判定条件: 当前k线突破前20根k线高点后,后续出现的k线出现两根及两根以上k线的高点都在A点之下,则回调成立,此后一旦有k线突破A点,则立即入场。止损点则是回调k线中的最低点B点 空头回调判定条件: 当前k线突破前20根k线低点后,后续出现的k线出现两根及两根以上k线的低点都在C点之上,则回调成立,此后一旦有k线突破C点,则立即入场。止损点则是回调k线中的最高点D点 Tips: 源码([#源码分享]合集)已分享至公众号 照胆源码荟 */Params Numeric AvgDisplace(5); // 置换均线向后平移Bar数 Numeric ValidBars1(5); // 开仓先决条件之一(收盘价上穿DMA均线)条件值保持有效的BAR数 Numeric ValidBars2(5); // 开仓先决条件之二(上穿后再下穿)条件值保持有效的BAR数 Numeric ValidBars3(5); // 开仓先决条件(上穿再下穿再上穿)条件值保持有效的BAR数 Numeric TrailStopBars(5); // 多少根BAR的最低价作为跟踪止损价 Vars Series<Numeric> MA; // 均线 Series<Bool> ConCrossOver; // 当前BAR是否上穿DMA Series<Bool> ConCrossUnder; // 当前BAR是否下穿DMA Numeric BarsLastCrsUnd; // 最近一次下穿离现在的BAR数 Numeric BarsFstCrsOvr; // 最近倒数第二次上穿离现在的BAR数 Numeric BarsSecCrsOvr; // 最近的一次上穿离现在的BAR数 Series<Bool> EntryFlag(False); // 开仓标志 Series<Numeric> EntryPoint; // 突破开仓的价格 Series<Numeric> EntryCount; // 满足开仓先决条件的BAR计数 Numeric ReversalPrice; // 趋势反向的平仓价格 Numeric TrailStopPrice; // 跟踪止损的平仓价格 Events OnBar(ArrayRef<Integer> indexs) { // 计算置换均线 MA = Highest(H[1],20); PlotNumeric('MA',MA); // 判断收盘价是否穿越置换均线 ConCrossOver = CrossOver(Close,MA); ConCrossUnder = CrossUnder(Close,MA); // 计算最近的一次下穿发生的BAR离当前BAR的根数 BarsLastCrsUnd = NthCon(ConCrossUnder==True,1); // 计算最近的两次上穿发生的BAR离当前BAR的根数 BarsFstCrsOvr = NthCon(ConCrossOver==True,2); BarsSecCrsOvr = NthCon(ConCrossOver==True,1); // 设置开仓标志 If(ConCrossOver And BarsLastCrsUnd - BarsSecCrsOvr <= ValidBars2 And BarsFstCrsOvr - BarsLastCrsUnd <= ValidBars1) { EntryFlag = True; EntryPoint = High + MinMove * PriceScale; EntryCount = 0; } Commentary('EntryFlag = '+iifstring(EntryFlag,'True','False')); Commentary('EntryPoint = '+Text(EntryPoint)); Commentary('EntryCount = '+Text(EntryCount)); // 开仓 If(MarketPosition == 0 And EntryCount <= ValidBars3) { If(EntryFlag And High >= EntryPoint And Vol >0) { Buy(0, Max(Open,EntryPoint)); } Else { EntryCount = EntryCount + 1; } } // 开仓或者开仓先决条件已过有效BAR数,修改开仓标志 If(MarketPosition == 1 Or EntryCount > ValidBars3) { EntryFlag = False; } // 止损价格计算 ReversalPrice = MA[1] - MinMove * PriceScale; TrailStopPrice = Lowest(Low[1],TrailStopBars); Commentary('ReversalPrice = '+Text(ReversalPrice)); Commentary('TrailStopPrice = '+Text(TrailStopPrice)); // 平仓 If(MarketPosition == 1 And BarsSinceEntry > 0 And Vol >0) { If(Low <= Max(ReversalPrice,TrailStopPrice)) { Sell(0,Min(Open, Max(ReversalPrice,TrailStopPrice) ) ); } } } //------------------------------------------------------------------------// 编译版本 2024/04/23 165353// 版权所有 hanmuze// 更改声明 TradeBlazer Software保留对TradeBlazer平台// 每一版本的TradeBlazer公式修改和重写的权利//------------------------------------------------------------------------

注:作用于交易开拓者tbquant系列正规股票在线申请,可直接贴入并保存编译。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。

 
 


Powered by 银河配资正规平台=放大杠杆炒股=银河配资在线开户 @2013-2022 RSS地图 HTML地图

Copyright 站群系统 © 2013-2022 365建站器 版权所有