关于股票交易
求问为什么riskratio=4就不出信号,是不是写的关于计算头寸的代码有问题
Params
	Numeric FastLength(5);// 短期指数平均线参数
	Numeric SlowLength(20);// 长期指数平均线参数
	Numeric nEntries(3);					// 最大建仓次数
	Numeric RiskRatio(0.5);					// % Risk Per N ( 0 - 100)
	Numeric ATRLength(20);					// 平均波动周期 ATR Length
	Numeric fskcglxs(2);					// 长期开仓过滤系数
	Numeric kcglxs(2);					// 开仓过滤系数
	Numeric teLength(10);					// 离市周期 Trailing Exit Length
	Numeric jcxs(1);
	Numeric zsxs(2);
	Numeric zyxs(0);
	Bool LastProfitableTradeFilter(True);	// 使用入市过滤条件	
Vars
	Series<Numeric> AvgValue1; 
	Series<Numeric> AvgValue2;
	Numeric MinPoint;						// 最小变动单位
	Series<Numeric> AvgTR;					// ATR
	Numeric N;								// N 值
	Numeric TotalEquity;					// 按最新收盘价计算出的总资产
	Numeric TurtleUnits;					// 交易单位
	Series<Numeric> fsHighestPrice;				// 长期包络通道上轨,延后1个Bar
	Series<Numeric> fsLowestPrice;				// 长期包络安通道下轨,延后1个Bar
	Series<Numeric> HighestPrice;			// 包络通道上轨,延后1个Bar,长周期
	Series<Numeric> LowestPrice;			// 包络通道下轨,延后1个Bar,长周期
	Numeric ExitHighestPrice;				// 离市时判断需要的N周期最高价
	Numeric ExitLowestPrice;				// 离市时判断需要的N周期最低价
	Numeric myEntryPrice;					// 开仓价格
	Numeric myExitPrice;					// 平仓价格
	Bool SendOrderThisBar(False);			// 当前Bar有过交易
	Series<Numeric> preEntryPrice(0);		// 前一次开仓的价格
	Series<Bool> PreBreakoutFailure(false);	// 前一次突破是否失败

Range[0:DataCount-1]
		{
				If(BarStatus == 0)
			{
				preEntryPrice = InvalidNumeric;
				PreBreakoutFailure = false;
			}
			MinPoint = MinMove*PriceScale;
			AvgTR = XAverage(TrueRange,ATRLength);
			N = AvgTR[1];
			TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin();
			TurtleUnits = (TotalEquity*RiskRatio/100) /(N * ContractUnit()*BigPointValue());
			TurtleUnits = IntPart(TurtleUnits); // 对小数取整
			AvgValue1 = AverageFC(Close,FastLength);
			AvgValue2 = AverageFC(Close,SlowLength);
			
			HighestPrice =AvgValue2[1]+kcglxs*N ;
			LowestPrice = AvgValue2[1]-kcglxs*N;
			fsHighestPrice =AvgValue2[1]+fskcglxs*N;
			fsLowestPrice = AvgValue2[1]-fskcglxs*N;
			ExitLowestPrice = AvgValue2[1]-zyxs*N;
			ExitHighestPrice = AvgValue2[1]+zyxs*N;
			PlotNumeric("MA1",AvgValue1);
			PlotNumeric("MA2",AvgValue2);	
			PlotNumeric("HighestPrice",HighestPrice);
			PlotNumeric("LowestPrice",LowestPrice);
			PlotNumeric("fsHighestPrice",fsHighestPrice);
			PlotNumeric("fsLowestPrice",HighestPrice);

			Commentary("N="+Text(N));
			Commentary("preEntryPrice="+Text(preEntryPrice));
			Commentary("PreBreakoutFailure="+IIFString(PreBreakoutFailure,"True","False"));
			// 当不使用过滤条件,或者使用过滤条件并且条件为PreBreakoutFailure为True进行后续操作
			If(MarketPosition == 0 )
			{
				// 突破开仓
				If( AvgValue1[1] > AvgValue2[1]&&close[1] > HighestPrice[1]  && TurtleUnits >= 1)
				{
					// 开仓价格取突破上轨+一个价位和最高价之间的较小值,这样能更接近真实情况,并能尽量保证成交
					myEntryPrice = open;
					preEntryPrice = open;
					Buy(TurtleUnits,myEntryPrice);
					
					SendOrderThisBar = True;
					PreBreakoutFailure = False;
				}
			}
			If(MarketPosition == 1) // 有多仓的情况
			{
				Commentary("ExitLowestPrice="+Text(ExitLowestPrice));
				If(Low < ExitLowestPrice)
				{
					myExitPrice = max(Low,ExitLowestPrice - MinPoint);
					myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); // 大跳空的时候用开盘价代替
					Sell(0,myExitPrice);    // 数量用0的情况下将全部平仓
				}Else
				{
					If(preEntryPrice!=InvalidNumeric && TurtleUnits >= 1)
					{
						If(Open >= preEntryPrice + jcxs*N && CurrentEntries < nEntries) // 如果开盘就超过设定的1/2N,则直接用开盘价增仓。
						{
							myEntryPrice = Open;
							preEntryPrice = myEntryPrice;
							Buy(TurtleUnits,myEntryPrice);
							SendOrderThisBar = True;
						}
						while(High >= preEntryPrice + jcxs*N && CurrentEntries < nEntries) // 以最高价为标准,判断能进行几次增仓
						{
							myEntryPrice = preEntryPrice + jcxs * N;
							preEntryPrice = myEntryPrice;
							if(False == Buy(TurtleUnits,myEntryPrice))
							{
								break;
							}
							SendOrderThisBar = True;
						}
					}
					// 止损指令
					If(Low <= preEntryPrice - zsxs * N && SendOrderThisBar == false) // 加仓Bar不止损
					{
						myExitPrice = preEntryPrice - zsxs * N;
						myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); // 大跳空的时候用开盘价代替
						Sell(0,myExitPrice); // 数量用0的情况下将全部平仓
						PreBreakoutFailure = True;
					}
				}
			}


TB股票交易
股票交易券商
请问股票交易的设置应该如何设置
股票交易
TBQ3用于股票交易时需要的一些数据是否支持
旗舰版股票交易
多股票交易策略方案疑惑
tb怎么申请对接股票交易账户
关于套利的问题
关于监控器

你这个代码复制了少东西

刚看见短了onbar ,老师调取资金是应该用这个吗,Portfolio_CurrentEquity(),还有没有更合适的数据

Portfolio_CurrentEquity()是图表上的当前权益

可以作为计算