AlgoWizardで変数をデバッグする
AlgoWizardでテンプレートを作成したり戦略を実行したりする際、デバッグのために変数をログに出力する必要が生じることがあります。.
CodeEditorにはこのfdebug関数がありましたが、AlgoWizardにも同様の関数が必要でした。.
ここに1つの関数があります fDebug 変数をログファイルに出力するには.
1/ インストールするには、, このSQExtension V2をCodeEditorにインポートし、SQXを再起動する必要があります。.
2/ 実行するには AlgoWizardで、ただクリックするだけです “ルールを追加” , 、選択 If Then / OnBarUpdate (キャプチャ4aを参照してください)
の中で 条件分岐, 関数が変数をログに出力する条件を選択してください
添付されている「Capture4a」と「Capture2a」をご覧ください。
イン それでは実行 , 変数に代入する Debug関数で. 私たちは編集時にこの機能を選択できます 新品の状態
添付の「Capture3」をご覧ください。
この関数は、Javaのfdebug関数を使用して、このディレクトリ「\StrategyQuantX135\user\log\StrategyQuant」にあるStrategyQuantのログに出力しています。“
出力の例は
19:51:54.087 [computeThread common #26 のブロック – Builder_2-Generation 3.0.61] INFO c.s.tradinglib.debug.Debugger – fDebug – 変数 : 0
19:51:54.087 [computeThread common #17 をブロック中 – Builder_2-Generation 3.0.43] INFO c.s.tradinglib.debug.Debugger – fDebug – 変数 : 0
の例を添付しました デバッグルールを用いた戦略, variable6を監視したい任意の変数に置き換える必要があります(variable6はこの例を示すためだけの空の変数です)。
できます デバッグモードを有効にする 「“デバッグモード” パラメータ へ 1. StrategyQuantは、ログをハードドライブに書き込むために処理速度を落とします。.
できます デバッグを無効にする 「を切り替えることでモードがオンになる“デバッグモード” パラメータ へ 0 コンピューターを動かすために.
( アルゴウィザード 「Capture5」を参照し、また、戦略のパラメータを変更するために添付されている「Capture6-7-8-9」をリテスターで参照してください
これがStrategyQuantコミュニティのお役に立てば幸いです。.
package SQ.Blocks.Functions;
import SQ.Internal.ValueBlock;
import com.strategyquant.lib.*;
import com.strategyquant.datalib.*;
import com.strategyquant.tradinglib.*;
@BuildingBlock(name="(Deb) Debug", display="Debug(#varName# , #Value#)", returnType = ReturnTypes.PriceOrNumber)
@Help("ファイルに VarName , Value を記録")
@SortOrder(1700)
@IgnoreInBuilder
public class Debug extends ValueBlock
{
@Parameter(defaultValue="Var : " )
@Help("変数の名前")
public String varName;
@Parameter
@Help("変数の値")
public IBlock Value;
//------------------------------------------------------------------------
@Override
public double OnBlockEvaluate(int relativeShift) throws TradingException
{
fdebug("Debug ", varName + Value.evaluateBlock(relativeShift));
return 1;
}
}
キャプチャ8と9は同じようです。.
画像を再アップロードしていただけますか?
どうもありがとうございます。.
コメントありがとうございます。キャプチャ9は有用ではなかったため、削除いたしました。
重要な注意:
私はSQX/AlgoWizard内の変数をデバッグするためにこのスニペットを開発しました。.
メタトレーダー、イージーランゲージ、パワーランゲージ用ではありません。ソースコードの出力です。.
SQX/AlgoWizardはこのデバッグ機能を使用している限り、ソースコードを出力しません。 .
さらに、デバッグ機能がハードドライブにログデータを書き込んでおり、SQXの研究の速度を低下させています。.
だからこそ、テンプレートやストラテジーのデバッグが完了したらすぐに、デバッグ機能をテンプレートやストラテジーから削除する方が良いのです。.