Si quelqu'un peut m'aider à voir le problème de ce code de stratégie

Auteur:Je vous en prie., Créé: 2021-10-13 10:00:52, Mis à jour:

Un utilisateur a écrit une stratégie de poussée d'alarme, le test a été sans succès, le disque réel indique une erreur, pouvez-vous m'aider à voir le code?img

Liste des périodes6060,66060, 46060,36060, PERIOD_H1,45*60, PERIOD_M30, PERIOD_M15, PERIOD_M5, PERIOD_M1];// Liste des lignes de minutes Le dernier temps = 0 var malevel0 = new Array ((); // définit un dictionnaire malevel0[symbol]=0; fonction OnBar (enregistrement, symbole) Je ne sais pas. Si (enregistrement == nul) retourner; Il y a une différence de taille entre les deux. Si le nombre est inférieur à 200 retourner;

var ma200=TA.MA(record,ma_len)
var cci = talib.CCI(record, cci_len)
if(record[len].Open<ma200[len])
    malevel0[symbol]=1;
var con=(malevel0[symbol]==1) && record[len].Open>ma200[len] && cci[len]>cci_value
//Log("con",malevel0[symbol]l,malevel0,record[len].Open,ma200[len],cci[len],record[len-1].Open,ma200[len-1]);
if(con)
{
      malevel0[symbol]=0;
      str = _D(record[record.length - 1].Time);//把 此刻的 毫秒时间  转换成  字符串(能看懂的)
      Log("条件提示["+symbol+str+"]推送微信@" ); //输出一条信息  并推送微信
    
}

Je ne sais pas. Je ne sais pas. fonction profit_order (() /arrêter Je ne sais pas. Les prix = get_last_price si (prices == nul) retourner; if ((CheckPositionDirect (() ==1)// plusieurs positions Je ne sais pas.

   if( prices[0]-stop_price>profit_perent*stop_price/100)
   {
       Log("多止盈",prices[0],stop_price);
       ClosePosition(prices[0]);
       reset();
 
   }
 
 }else if(CheckPositionDirect()==-1)//空仓
 {
   if( stop_price-prices[1] >profit_perent*stop_price/100)
   {
       Log("空止盈",prices[1],stop_price);
       ClosePosition(prices[1]);
       reset();
 
   }
    
 }  

} */

// logique de transaction principale fonction OnTick (symbole) Je ne sais pas.
//exchange.SetContractType (en anglais seulement); Les données sont enregistrées dans le fichier de fichiers. Si vous avez un enregistrement nul retourner; si (record[record.length - 1].Time!= lastTime) { Il est donc possible de modifier le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois où le nombre de fois est indiqué est égal à 1} //Log (en ajoutant une nouvelle colonne de ligne K pour générer des liens, symboles, et enregistrements [record.length - 1].Time); LastTime = record[record.length - 1].Time; // Il est essentiel de mettre à jour lastTime.

         OnBar(record,symbol);//收盘价模式
       
    }

}

// plateforme basée sur le niveau de tick fonction main (() { Falg = 1; Var contract_list=[BTC_USDT,ETH_USDT] Il est possible d'utiliser un autre type de sous-répertoire. Malével0[contract_list[i]]=0; Je ne sais pas. pendant (falg) Je ne sais pas. les symboles var; Il est possible d'utiliser un autre type de sous-répertoire. Symbols=contract_list[i]

     exchange.IO("currency", symbols)
     OnTick(symbols); 
     Sleep(500)  
    }
    
    
}

}


Plus de

Je vous en prie.Je ne peux pas vous dire ce que j'ai fait. Ne pas afficher d'erreurs

Le foinCliquez sur la page du robot pour voir les erreurs spécifiques.