Сначала:
Причина этого в том, что при изучении стратегии двойной равнолинейности, исследование открытых позиций, точек открытых позиций и написание кода не могут быть интуитивно продемонстрированы, а также потому, что код не является интуитивно понятным при тестировании с дисками, и в результате логарифмические заголовки ломаются. Хотелось бы написать график с интуитивным отображением, по примеру кода Z, написать простой шаблон графика, теперь функции очень простые, только отображение в режиме реального времени K линии, отображение открытых позиций, типовых точек. Я написал показатель, показывающий завершенную линию, показывающий ее на K-линии и т. д.), намереваюсь присоединиться медленно. Простые способы использования: Есть две функции временного экспорта:
$.SignOP(time,price,amount,state)
$.Draw(records)
Функция $.SignOP ((time, price,amount,state) - это функция, используемая сразу после открытия позиции, для обозначения открытия позиции до строки K. Функция имеет 4 параметра. Функция $.Draw ((records) используется для изображения строки K. Функция должна быть размещена в начале основного цикла стратегии, параметры могут быть переданы в null, чтобы получить функцию.
Ниже приведены примеры 30-строчного кода с размером Z, используя этот шаблон для доступа к коду. В коде добавлены только три предложения.
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秒
}
}
Код еще не совершенен, добро пожаловать в Огненный топор, добро пожаловать.
ЛейллХорошо!
Изобретатели количественного измерения - мечтыПродолжайте совершенствовать нашу платформу.