グルトレの必要資金計算シート(その2)

グルトレの必要資金計算シートを更新です。



googleのスプレットシートで以前作成しましたが、少し強引な方法で作成しました。
(子本体の間隔が5Pipsの時など計算したかった)

グルグルトレインの必要資金


今回は、googleのスプレットシートのスクリプトで作成し「計算」図形クリックで結果を表示するような感じで作成。(図形にスクリプトを割り当てることができます)


前回のMax1000Pipsまでの制限も解除、間隔のPips指定などは、変更せず1Pips単位で指定可能。




















スクリプトのコードは以下です。そんなにテストしてないので不具合ありかも?

//ポジション数
var P1,P2,P3,P4;
var wP1=1,wP2=1,wP3=0,wP4=1;
//子本体、サポート別小計
var c1,c2,c3,c4;
var wc1=0,wc2=0,wc3=0,wc4=0;
//必要運用資金など出力用
var total;
/*----グルトレ計算機----*/
//pips 変動Pips
//leverage レバレッジ
//rate レート
//cspsce 子本体間隔
//cprofit 子本体利確
//clot 子本体ロット
//sspsce サポート間隔
//slot サポートロット
function GRTR(){
//1. 現在のスプレッドシートを取得
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
//2. 現在のシートを取得
var sheet = spreadsheet.getActiveSheet();
//. 指定するセルの範囲(C5)を取得
var range = sheet.getRange("C5");
//. 値を取得する
var leverage = range.getValue();
//. 指定するセルの範囲(E5)を取得
var range = sheet.getRange("E5");
//. 値を取得する
var rate = range.getValue();
//. 指定するセルの範囲(C8)を取得
var range = sheet.getRange("C8");
//. 値を取得する
var cspsce = range.getValue();
//. 指定するセルの範囲(D8)を取得
var range = sheet.getRange("D8");
//. 値を取得する
var cprofit = range.getValue();
//. 指定するセルの範囲(E8)を取得
var range = sheet.getRange("E8");
//. 値を取得する
var clot = range.getValue();
//. 指定するセルの範囲(C9)を取得
var range = sheet.getRange("C9");
//. 値を取得する
var sspsce = range.getValue();
//. 指定するセルの範囲(E9)を取得
var range = sheet.getRange("E9");
//. 値を取得する
var slot = range.getValue();
//. 指定するセルの範囲(C11)を取得
var range = sheet.getRange("C11");
//. 値を取得する
var pips = range.getValue();
var i;
for(i=1;i<=pips;i++){
P1= Math.floor((i+cspsce)/cspsce);
P2= Math.floor((i+sspsce)/sspsce);
if(i<cprofit) P3=0; else P3=Math.floor((i-cprofit+cspsce)/cspsce);
P4=P1-P3;
if(wP1==P1) c1=P1*clot; else c1=wP1*clot;
if(wP2==P2) c2=P2*slot; else c2=wP2*slot;
if(wP4==P4) c4=P4*clot; else c4=wP4*clot;
if(wP3==P3) c4=c4; else c4=c4-cprofit*clot;
wP1=P1;wP2=P2;wP3=P3;wP4=P4;
wc1=wc1+c1;wc2=wc2+c2;wc4=wc4+c4;
}
wc3=wP3*cprofit*clot;
//指定するセルに結果を出力
total=(wc1+wc2-wc3-wc4)*100000*0.01+(wP1*clot+wP2*slot)*rate*(100000/leverage);
var range = sheet.getRange("E11").setValue(total);
total=(wc1)*100000*0.01;
var range = sheet.getRange("E16").setValue(total);
total=(wc2)*100000*0.01;
var range = sheet.getRange("E17").setValue(total);
total=(wc3)*100000*0.01;
var range = sheet.getRange("E14").setValue(total);
total=(wc4)*100000*0.01;
var range = sheet.getRange("E15").setValue(total);
total=(wP1*clot+wP2*slot)*rate*(100000/leverage);
var range = sheet.getRange("E18").setValue(total);
return;
}
view raw GRTR.gs hosted with ❤ by GitHub

0 件のコメント :

コメントを投稿