Benefícios para novos alunos, um modelo de gráfico simples

Autora:Sonhos pequenos, Criado: 2016-05-22 23:17:48, Atualizado:

É um modelo de gráfico simples, que pode ser usado aqui.

A primeira imagem:img

A razão é que, ao aprender a estratégia de dupla linha uniforme, não há como observar de forma intuitiva o estudo de posições abertas, pontos de posições e como escrever o código, e também porque o código não é intuitivo quando testado com o disco. Gostaria de escrever um gráfico de visualização intuitiva, com base no exemplo de código grande Z, escrevi um modelo de gráfico simples, agora a função é muito simples, apenas exibir K linha em tempo real, exibir posições abertas, pontos de equilíbrio. Outras funções ainda não foram adicionadas (por exemplo, alguns Os indicadores escritos por mim mostram a linha completa, mostram-se no gráfico de linha K, etc...), pretendem ser adicionados lentamente. O uso simples: Existem duas funções de exportação temporária:

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

A função $.SignOP ((time, price, amount, state) é usada logo após o estabelecimento de negociações para marcar o estabelecimento de negociações para a linha K, com quatro parâmetros. A função $.Draw (records) é usada para desenhar K-strings, que precisam ser colocados no início do ciclo principal da política, onde os parâmetros podem ser transmitidos para null, deixando a função obter-se.

Abaixo está um exemplo de código de 30 linhas de tamanho Z, usando este modelo para acessar o código. O código inclui apenas três frases.

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秒
   }
}
Gráfico de linha K gerado pelo sistema

img

Gráfico de linhas K desenhado no modelo

img

O código ainda não está perfeito, bem-vindo ao Axe, perfeito.


Mais.

LeilmlMuito bem!

Sonhos pequenosContinuem a aperfeiçoar~~ para melhorar a nossa plataforma~~