Hi Spydrtrader
You are quite welcome.
I put the equations into a series of Wealthlab scans but for some reason they never triggered any signals when they were used with QCharts's realtime data. However when used with Yahoo, they worked just fine. I don't know why this is so.
Here are the scans which you can cut and paste into WL. I hope they are useful.
Take care
-----------------------------------
DryUpVol scan 1
------------------------------------
var Bar: integer;
var sName: string;
var Value: float;
var AvgVol30 : integer = SMASeries(#volume, 30);
var AvgVol5 : integer = SMASeries(#volume, 5);
Bar := BarCount - 1;
// ((AvgV30)-3*AvgV5))>0 AND (AvgV5>0)
if (((@AvgVol30[Bar] - 3*@AvgVol5[Bar]) > 0) and (@AvgVol5[Bar] > 0)) then
BuyAtMarket(Bar + 1, 'Dry Up Volume 1');
----------------------------------------
Dryup scan 2
-------------------------------
var Bar: integer;
var sName: string;
var Value: float;
var AvgVol30 : integer = SMASeries(#volume, 30);
var AvgVol3 : integer = SMASeries(#volume, 3);
Bar := BarCount - 1;
//(AvgV30>Avg3.6 AND 2*AvgV30>2Avg3) AND (AvgV3.3 - AvgV3) > 0
if ((@AvgVol30[Bar] > 2*@AvgVol3[Bar-6]) and (@AvgVol30[Bar] > 2*@AvgVol3[Bar]) and
(@AvgVol3[Bar-3] - @AvgVol3[Bar]) > 0) then
BuyAtMarket(Bar + 1, 'Dry Up Volume 2');
------------------------------------------
Dry up scan 3
------------------------------------------
var Bar: integer;
var sName: string;
var Value: float;
var AvgVol30 : integer = SMASeries(#volume, 30);
var AvgVol3 : integer = SMASeries(#volume, 3);
var AvgVol6 : integer = SMASeries(#volume, 6);
Bar := BarCount - 1;
//AvgV30> 2*AvgV6.3 AND AvgV30 > 2* AvgV3) AND (AvgV6.3 - AvgV3)>0
if ((@AvgVol30[Bar] > 2*@AvgVol6[Bar-3]) and (@AvgVol30[Bar] > 2*@AvgVol3[Bar]) and
(@AvgVol6[Bar - 3] - @AvgVol3[Bar]) > 0) then
BuyAtMarket(Bar + 1, 'Dry Up Volume #3');
-------------------------------
FRV Scan 1
----------------------------------
ar Bar: integer;
var AvgVol5 : integer = SMASeries( #volume, 5 );
var AvgVol30: integer = SMASeries( #volume, 30 );
var val1, val2: float;
Bar := BarCount - 1;
val1 := @AvgVol5[Bar] - @AvgVol30[Bar];
val2 := Highest( Bar, #close, 126 ) - Lowest( Bar, #close, 126 );
if ( val1 > 1000 ) and ( val2 > 0.5 * Lowest( Bar, #close, 126 ) ) then
BuyAtMarket(Bar + 1, 'FRV 1');
-------------------------------
FRV scan 2
---------------------------------
var Bar: integer;
var sName: string;
var Value: float;
var AvgVol30 : integer = SMASeries(#volume, 30);
var AvgVol5 : integer = SMASeries(#volume, 5);
Bar := BarCount - 1;
//AvgV5 - AvgV30 > 1000.
if ((@AvgVol5[Bar] - @AvgVol30[Bar]) > 1000) then
BuyAtMarket(Bar + 1,'Frv #2');
---------------------------
Gainers 510
--------------------------
var Bar: integer;
var Value: float;
var var1, var2 : float;
Bar := BarCount - 1;
var1 := PriceClose(Bar) - PriceClose(Bar - 2);
var2 := var1/PriceClose(Bar - 2);
if ((var2*100 > 5) and (var2*100 < 10)) then
BuyAtMarket(Bar + 1, 'Gainers 5-10%');
---------------------------------------
Over10 Gainers
----------------------------------------
var Bar: integer;
var Value: float;
var var1, var2 : float;
Bar := BarCount - 1;
var1 := PriceClose(Bar) - PriceClose(Bar - 2);
var2 := var1/PriceClose(Bar - 2);
if (var2*100 > 10) then
BuyAtMarket(Bar + 1, 'Gainers over 10%');
You are quite welcome.
I put the equations into a series of Wealthlab scans but for some reason they never triggered any signals when they were used with QCharts's realtime data. However when used with Yahoo, they worked just fine. I don't know why this is so.
Here are the scans which you can cut and paste into WL. I hope they are useful.
Take care
-----------------------------------
DryUpVol scan 1
------------------------------------
var Bar: integer;
var sName: string;
var Value: float;
var AvgVol30 : integer = SMASeries(#volume, 30);
var AvgVol5 : integer = SMASeries(#volume, 5);
Bar := BarCount - 1;
// ((AvgV30)-3*AvgV5))>0 AND (AvgV5>0)
if (((@AvgVol30[Bar] - 3*@AvgVol5[Bar]) > 0) and (@AvgVol5[Bar] > 0)) then
BuyAtMarket(Bar + 1, 'Dry Up Volume 1');
----------------------------------------
Dryup scan 2
-------------------------------
var Bar: integer;
var sName: string;
var Value: float;
var AvgVol30 : integer = SMASeries(#volume, 30);
var AvgVol3 : integer = SMASeries(#volume, 3);
Bar := BarCount - 1;
//(AvgV30>Avg3.6 AND 2*AvgV30>2Avg3) AND (AvgV3.3 - AvgV3) > 0
if ((@AvgVol30[Bar] > 2*@AvgVol3[Bar-6]) and (@AvgVol30[Bar] > 2*@AvgVol3[Bar]) and
(@AvgVol3[Bar-3] - @AvgVol3[Bar]) > 0) then
BuyAtMarket(Bar + 1, 'Dry Up Volume 2');
------------------------------------------
Dry up scan 3
------------------------------------------
var Bar: integer;
var sName: string;
var Value: float;
var AvgVol30 : integer = SMASeries(#volume, 30);
var AvgVol3 : integer = SMASeries(#volume, 3);
var AvgVol6 : integer = SMASeries(#volume, 6);
Bar := BarCount - 1;
//AvgV30> 2*AvgV6.3 AND AvgV30 > 2* AvgV3) AND (AvgV6.3 - AvgV3)>0
if ((@AvgVol30[Bar] > 2*@AvgVol6[Bar-3]) and (@AvgVol30[Bar] > 2*@AvgVol3[Bar]) and
(@AvgVol6[Bar - 3] - @AvgVol3[Bar]) > 0) then
BuyAtMarket(Bar + 1, 'Dry Up Volume #3');
-------------------------------
FRV Scan 1
----------------------------------
ar Bar: integer;
var AvgVol5 : integer = SMASeries( #volume, 5 );
var AvgVol30: integer = SMASeries( #volume, 30 );
var val1, val2: float;
Bar := BarCount - 1;
val1 := @AvgVol5[Bar] - @AvgVol30[Bar];
val2 := Highest( Bar, #close, 126 ) - Lowest( Bar, #close, 126 );
if ( val1 > 1000 ) and ( val2 > 0.5 * Lowest( Bar, #close, 126 ) ) then
BuyAtMarket(Bar + 1, 'FRV 1');
-------------------------------
FRV scan 2
---------------------------------
var Bar: integer;
var sName: string;
var Value: float;
var AvgVol30 : integer = SMASeries(#volume, 30);
var AvgVol5 : integer = SMASeries(#volume, 5);
Bar := BarCount - 1;
//AvgV5 - AvgV30 > 1000.
if ((@AvgVol5[Bar] - @AvgVol30[Bar]) > 1000) then
BuyAtMarket(Bar + 1,'Frv #2');
---------------------------
Gainers 510
--------------------------
var Bar: integer;
var Value: float;
var var1, var2 : float;
Bar := BarCount - 1;
var1 := PriceClose(Bar) - PriceClose(Bar - 2);
var2 := var1/PriceClose(Bar - 2);
if ((var2*100 > 5) and (var2*100 < 10)) then
BuyAtMarket(Bar + 1, 'Gainers 5-10%');
---------------------------------------
Over10 Gainers
----------------------------------------
var Bar: integer;
var Value: float;
var var1, var2 : float;
Bar := BarCount - 1;
var1 := PriceClose(Bar) - PriceClose(Bar - 2);
var2 := var1/PriceClose(Bar - 2);
if (var2*100 > 10) then
BuyAtMarket(Bar + 1, 'Gainers over 10%');
