Alıntı Originally Posted by karazepin Yazıyı Oku
merhaba arkadaşlar matrikste kullandığım şöyle bir formül var, rica etsem yazılımı kuvvetli biri varsa bu kodu ideale çevirebilir miyiz.
KPD:=Input("Kısa Period",1,500,6);
UPD:=Input("Uzun Period",1,500,13);
SPD:=Input("Sinyal Period",1,500,5);
KVWMA:=mov(c*v,KPD,e)/mov(v,KPD,e);
UVWMA:=mov(c*v,UPD,e)/mov(v,UPD,e);
VWMACD:=KVWMA-UVWMA;
Trigger:=mov(VWMACD,SPD,E);
Histogram:=VWMACD-Trigger;
VWMACD;
Trigger;
Histogram;0
Buyrun

Kod:
var KPD = 6;
var UPD = 13;
var SPD = 5;
var C = Sistem.GrafikFiyatSec("Kapanis");
var V = Sistem.GrafikFiyatSec("Lot");

var KVWMA = Sistem.Liste(0);
var UVWMA = Sistem.Liste(0);
var VWMACD = Sistem.Liste(0);
var Histogram = Sistem.Liste(0);

var x = Sistem.Liste(0);
for (int i=1; i < Sistem.BarSayisi; i++)
   x[i] = C[i] * V[i];


var Mov1 = Sistem.MA(x, "Exp", KPD);
var Mov2 = Sistem.MA(V, "Exp", KPD);
var Mov3 = Sistem.MA(x, "Exp", UPD);
var Mov4 = Sistem.MA(V, "Exp", UPD);

for (int i=1; i < Sistem.BarSayisi; i++)
{
   KVWMA[i] = Mov2[i] != 0 ? Mov1[i] / Mov2[i] : KVWMA[i-1];
   UVWMA[i] = Mov4[i] != 0 ? Mov3[i] / Mov4[i] : UVWMA[i-1];
   VWMACD[i] = KVWMA[i] - UVWMA[i];
}

var Trigger = Sistem.MA(VWMACD, "Exp", SPD);

for (int i=1; i < Sistem.BarSayisi; i++)
   Histogram[i]  = VWMACD[i] - Trigger[i];

Sistem.Cizgiler[0].Deger = VWMACD;
Sistem.Cizgiler[1].Deger = Trigger;
Sistem.Cizgiler[2].Deger = Histogram;
Sistem.Cizgiler[3].Deger = Sistem.Liste(0);