첫 번째 그림:
이 이유는 이중평균선 전략을 배우는 동안, 개척, 평형점 연구, 코드 작성에 대한 직관적인 관측이 불가능하기 때문입니다. 직관적으로 표시되는 그래프를 쓰고 싶었습니다. Z 크기의 코드 예제를 기반으로 간단한 그래프 템플릿을 작성했습니다. 이제 기능은 매우 간단합니다. 자필한 지표가 완성된 라인을 표시하고, K 라인 그래프에서 표시되는 등...) 를 천천히 추가하려고합니다. 이것은 아직 테스트되지 않았기 때문에 모든 사람들에게 배우기 위해 제공됩니다. 간단한 사용법: 임시 출력 함수에는 두 가지가 있습니다.
$.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秒
}
}
코드는 아직 완벽하지 않습니다. 대 신斧, 완벽합니다.
발명가들의 수량화 - 작은 꿈우리는 우리의 플랫폼을 더 잘 사용할 수 있도록~~개선을 계속합니다.