avatar of 发明者量化-小小梦 发明者量化-小小梦
フォロー ダイレクトメッセージ
4
フォロー
1271
フォロワー

新入生の福利厚生、シンプルなチャートテンプレート

作成日:: 2016-05-22 23:17:48, 更新日::
comments   2
hits   2148

簡単なグラフのテンプレートです.

上の図は 新入生の福利厚生、シンプルなチャートテンプレート

理由は,二重均等線戦略を学ぶとき, ポジション開設,平仓点の研究,そしてコードの作成について, 直観的に観察することは不可能であり, また,コードがディスクテストの時に直観的に観察されず, ロジックの見出しをめちゃくちゃ回って, 直観的に表示されるグラフを書きたい,Z大のコード例に基づいて,簡単なグラフテンプレートを書き,現在は機能がシンプルで,リアルタイムK線,開場,平場点を表示するだけです. 他の機能はまだ追加されていません (例えば,いくつかの 自作の指標が線状に表示され,K線図に表示されるなど),徐々に加えていくつもりである。これはまだテストされていないので,学習に提供されているので,実機では慎重に使う。 シンプルな使い方: 仮出力関数には2つあります.

$.SignOP(time,price,amount,state)
$.Draw(records)

\(.SignOP ((time,price,amount,state) という関数は,開設後すぐに使用され,開設後K行まで使用されます.パラメータは4つです。 \).Draw(records) は,Kの行を描くための関数で,この関数は,策略の主なループの開始時に置く必要があります.この関数は,nullに転送され,関数自身に取得されます.

以下は,このテンプレートでアクセスするZ大の30行コードの例です. このコードには3つの文のみが加えられています.

function main(){
	var STATE_IDLE = -1;//空闲状态
	var state = STATE_IDLE;
	var opAmount = 0;
	var initAccount = $.GetAccount();
	Log(initAccount);//输出账户初始信息
	while(true){
---------------------------------------------------------------------------------------------
       $.Draw(null);//  画图表K线
--------------------------------------------------------------------------------------------
       if(state === STATE_IDLE){
       	var n = $.Cross(FastPeriod,SlowPeriod);
       	if(Math.abs(n) >= EnterPeriod){
       		opAmount = parseFloat((initAccount.Stocks * PositionRatio).toFixed(3));
       		var obj = n > 0 ? $.Buy(opAmount) : $.Sell(opAmount);
       		if(obj){
       			opAmount = obj.amount;
       			state = n > 0 ? PD_LONG : PD_SHORT;
       			Log("开仓详情",obj,"交叉周期",n);
       		}
---------------------------------------------------------------------------------------------
               $.SignOP((new Date()).getTime(),obj.price,obj.amount,(n > 0 ? 1 : 2) ); //标记买入  卖出 开仓 
---------------------------------------------------------------------------------------------
       	}
       }else{
       	var n = $.Cross(ExitFastPeriod,ExitSlowPeriod);
       	if(Math.abs(n) >= ExitPeriod && ((state === PD_LONG && n < 0 ) || (state === PD_SHORT && n > 0))){
       		var obj  =  state === PD_LONG? $.Sell(opAmount) : $.Buy(opAmount);
---------------------------------------------------------------------------------------------
               $.SignOP((new Date()).getTime(),obj.price,obj.amount,0); //标记平仓
---------------------------------------------------------------------------------------------
       		state = STATE_IDLE;
       		var nowAccount = $.GetAccount();
       		LogProfit(nowAccount.Balance - initAccount.Balance,"钱:",nowAccount.Balance,"币:",nowAccount.Stocks,"平仓详情:",obj,"交叉周期",n);
       	}
       }
       Sleep(Interval*1000);//暂停10秒
	}
}
システム生成のK線図

新入生の福利厚生、シンプルなチャートテンプレート

テンプレートで描いたK線図

新入生の福利厚生、シンプルなチャートテンプレート

このコードは完璧ではない,大神斧の修正を歓迎します,完璧です.