Testing it now. Thanks for the Script!
Testing it now. Thanks for the Script!
Not working for me, it says that it is getting rs prices on launch, then about 2 seconds after it says successfully executed. Then when i launch it (pressing no for first time) it only says successfully executed
Yep here you go.
Simba Code:isMember = True; //Are you an RS member
BuyPercentage = 20; //% of the day's starting cash per item it can spend - Also limited by trade limit
//This is experimentally determined to provide the best results while limiting risk
{Only Required for First-Time Run or backchecking}
startCash = 20000000; //In gp
{BackCheck Settings - Only required if testing algorithm settings}
backCheck = False;
simDays = 160; //How many days to simulate backchecking. No more than 160 days
{Blacklist Settings}
useBlacklist = False; //Do you want to blacklist the following items? Offers the ability to not trade some items. Can increase % of profitable trades, but will lower profits.
BlackList = ['Pure essence', 'Maple logs', 'Headless arrow', 'Vial', 'Arrow shaft', 'Broad arrowheads', 'Earth rune', 'Mind rune', 'Dragon bones', 'Fishing bait', 'Polypore spore', 'Mahogany plank', 'Body rune', 'Vial of water', 'Rune essence', 'Maple shieldbow (u)', 'Chaos rune', 'Pouch', 'Mithril arrow', 'Vibrant energy', 'Radiant energy', 'Lustrous energy', 'Adamantite ore', 'Ganodermic flake', 'Trading sticks', 'Rune arrow', 'Willow logs', 'Gold bar', 'Brilliant energy', 'Iron arrow', 'Adamant arrow', 'Mithril ore', 'Luminous energy', 'Broad-tipped bolts', 'Thread', 'Steel arrow', 'Blue dragon leather', 'Juju vial of water', 'Archery ticket', 'Bronze arrow', 'Eye of newt', 'Raw swordfish', 'Sparkling energy', 'Dark arrow', 'Unfinished broad bolts', 'Adamant bolts'];
{Algorithm Settings - Experimentally Determined - Changes allowed if desired}
MACDDays = 3; //In days
RSIDays = 3; //In days
StoKDays = 3; //In days
StoDDays = 4; //In days
AroonDays = 4; //In days
BollDays = 5; //In days
{Sorting Settings - Experimentally Determined - Changed allowed if desired}
PickDays = 15; //In days
PickPercent = 7;//In percent
ScoreRange = 3; //In days
//Currently there are no debugs to save so these do nothing
saveDebug = True; //Do you want to save all debugs into a .txt folder
fullDebug = False; //Have the whole debug written in the debug box?
i can also agree, im using the default file and im getting exact same as Mister
Setting up INI file
Getting RS Prices, this may take a few minutes
Successfully executed.
enabled the debugs, still no additional info :S
Any updates on script status?
The problem seems to be around the TPortfolio.setup procedure.
The problem lies in the data grabbing from RS and RSWikia, they've both changed their method of displaying information. It's a quick fix if you can follow the html code to find how they display data, but I haven't got a lot of time to be looking at it right now. I thought I'd fixed it before but it didn't end up working still. Try focusing on the parts that use "getPage" and you might be able to force it to work.
Thanks, ill take a look at it now but I cant promise anything as i'm not familiar with pascal yet (coming from python)
This is the new api formatAs you can see, the values for the 180-day average come after "average". i have tried using "Items := MultiBetween(RSPage, '"average":{"');" but am getting "Error: No default value for parameter 3 found at line 873". Any suggestions?Code:{"daily":{"1427500800000":95612,"1427587200000":93288,"1427673600000":92157,"1427760000000":90548,"1427846400000":90873,"1427932800000":90873,"1428019200000":90242,"1428105600000":89253,"1428192000000":90403,"1428278400000":91126,"1428364800000":91955,"1428451200000":91843,"1428537600000":93472,"1428624000000":95958,"1428710400000":100347,"1428796800000":104028,"1428883200000":108611,"1428969600000":112268,"1429056000000":112566,"1429142400000":114246,"1429228800000":117057,"1429315200000":117604,"1429401600000":116435,"1429488000000":116922,"1429574400000":120968,"1429660800000":120152,"1429747200000":119715,"1429833600000":121123,"1429920000000":124372,"1430006400000":125877,"1430092800000":130283,"1430179200000":131951,"1430265600000":127673,"1430352000000":126016,"1430438400000":126016,"1430524800000":126701,"1430611200000":128945,"1430697600000":131139,"1430784000000":130325,"1430870400000":129528,"1430956800000":129528,"1431043200000":128121,"1431129600000":128209,"1431216000000":129137,"1431302400000":131375,"1431388800000":132652,"1431475200000":132054,"1431561600000":132054,"1431648000000":130189,"1431734400000":123679,"1431820800000":117921,"1431907200000":112772,"1431993600000":109001,"1432080000000":107576,"1432166400000":107041,"1432252800000":108085,"1432339200000":107635,"1432425600000":106203,"1432512000000":105767,"1432598400000":105689,"1432684800000":105733,"1432771200000":107461,"1432857600000":107461,"1432944000000":108004,"1433030400000":110517,"1433116800000":109954,"1433203200000":113470,"1433289600000":116940,"1433376000000":122458,"1433462400000":127052,"1433548800000":127334,"1433635200000":128280,"1433721600000":128204,"1433808000000":128356,"1433894400000":128356,"1433980800000":129001,"1434067200000":130790,"1434153600000":132202,"1434240000000":133286,"1434326400000":133512,"1434412800000":135672,"1434499200000":142042,"1434585600000":147888,"1434672000000":149745,"1434758400000":148222,"1434844800000":144348,"1434931200000":144348,"1435017600000":140750,"1435104000000":135850,"1435190400000":131569,"1435276800000":125670,"1435363200000":121694,"1435449600000":117640,"1435536000000":117637,"1435622400000":118393,"1435708800000":120809,"1435795200000":123511,"1435881600000":123511,"1435968000000":125227,"1436054400000":125133,"1436140800000":125759,"1436227200000":126429,"1436313600000":129943,"1436400000000":130636,"1436486400000":129875,"1436572800000":126408,"1436659200000":126251,"1436745600000":127784,"1436832000000":124425,"1436918400000":123693,"1437004800000":123579,"1437091200000":123213,"1437177600000":124714,"1437264000000":128760,"1437350400000":133482,"1437436800000":138138,"1437523200000":141651,"1437609600000":145896,"1437696000000":145806,"1437782400000":148715,"1437868800000":145645,"1437955200000":143665,"1438041600000":140539,"1438128000000":137931,"1438214400000":133694,"1438300800000":129262,"1438387200000":124065,"1438473600000":121754,"1438560000000":120252,"1438646400000":116585,"1438732800000":116585,"1438819200000":113684,"1438905600000":113853,"1438992000000":113635,"1439078400000":114435,"1439164800000":114616,"1439251200000":114509,"1439337600000":114567,"1439424000000":114049,"1439510400000":115617,"1439596800000":119171,"1439683200000":122952,"1439769600000":122621,"1439856000000":120257,"1439942400000":120127,"1440028800000":120069,"1440115200000":121600,"1440201600000":126056,"1440288000000":127983,"1440374400000":126202,"1440460800000":125651,"1440547200000":127352,"1440633600000":123305,"1440720000000":124359,"1440806400000":124359,"1440892800000":124422,"1440979200000":123553,"1441065600000":121741,"1441152000000":121741,"1441238400000":122866,"1441324800000":118604,"1441411200000":117735,"1441497600000":116773,"1441584000000":116773,"1441670400000":116228,"1441756800000":116183,"1441843200000":114771,"1441929600000":113870,"1442016000000":113870,"1442102400000":113921,"1442188800000":113946,"1442275200000":114424,"1442361600000":115795,"1442448000000":117254,"1442534400000":117254,"1442620800000":118186,"1442707200000":121281,"1442793600000":122543,"1442880000000":124867,"1442966400000":126172},"average":{"1427500800000":145750,"1427587200000":142700,"1427673600000":139530,"1427760000000":136307,"1427846400000":133140,"1427932800000":130082,"1428019200000":126885,"1428105600000":123696,"1428192000000":120614,"1428278400000":117713,"1428364800000":115018,"1428451200000":112502,"1428537600000":110224,"1428624000000":108178,"1428710400000":106436,"1428796800000":105000,"1428883200000":103920,"1428969600000":103121,"1429056000000":102452,"1429142400000":102002,"1429228800000":101766,"1429315200000":101702,"1429401600000":101622,"1429488000000":101605,"1429574400000":101813,"1429660800000":102135,"1429747200000":102549,"1429833600000":103067,"1429920000000":103767,"1430006400000":104663,"1430092800000":105818,"1430179200000":107107,"1430265600000":108291,"1430352000000":109473,"1430438400000":110645,"1430524800000":111839,"1430611200000":113129,"1430697600000":114525,"1430784000000":115856,"1430870400000":117136,"1430956800000":118388,"1431043200000":119598,"1431129600000":120756,"1431216000000":121862,"1431302400000":122896,"1431388800000":123850,"1431475200000":124631,"1431561600000":125291,"1431648000000":125878,"1431734400000":126193,"1431820800000":126222,"1431907200000":126061,"1431993600000":125813,"1432080000000":125501,"1432166400000":125037,"1432252800000":124635,"1432339200000":124232,"1432425600000":123735,"1432512000000":123115,"1432598400000":122442,"1432684800000":121623,"1432771200000":120807,"1432857600000":120133,"1432944000000":119533,"1433030400000":119016,"1433116800000":118458,"1433203200000":117942,"1433289600000":117469,"1433376000000":117207,"1433462400000":117124,"1433548800000":117051,"1433635200000":117056,"1433721600000":117056,"1433808000000":117030,"1433894400000":116929,"1433980800000":116808,"1434067200000":116766,"1434153600000":116771,"1434240000000":116874,"1434326400000":117202,"1434412800000":117793,"1434499200000":118769,"1434585600000":120065,"1434672000000":121471,"1434758400000":122843,"1434844800000":124052,"1434931200000":125276,"1435017600000":126428,"1435104000000":127430,"1435190400000":128293,"1435276800000":128958,"1435363200000":129432,"1435449600000":129771,"1435536000000":130092,"1435622400000":130355,"1435708800000":130717,"1435795200000":131051,"1435881600000":131271,"1435968000000":131363,"1436054400000":131299,"1436140800000":131246,"1436227200000":131185,"1436313600000":131243,"1436400000000":131319,"1436486400000":131369,"1436572800000":131283,"1436659200000":131132,"1436745600000":130984,"1436832000000":130689,"1436918400000":130362,"1437004800000":129958,"1437091200000":129331,"1437177600000":128558,"1437264000000":127859,"1437350400000":127368,"1437436800000":127161,"1437523200000":127071,"1437609600000":127242,"1437696000000":127574,"1437782400000":128146,"1437868800000":128811,"1437955200000":129544,"1438041600000":130307,"1438128000000":130984,"1438214400000":131494,"1438300800000":131775,"1438387200000":131794,"1438473600000":131735,"1438560000000":131569,"1438646400000":131284,"1438732800000":130979,"1438819200000":130554,"1438905600000":130018,"1438992000000":129451,"1439078400000":128936,"1439164800000":128543,"1439251200000":128152,"1439337600000":127711,"1439424000000":127365,"1439510400000":127096,"1439596800000":126949,"1439683200000":126940,"1439769600000":126871,"1439856000000":126587,"1439942400000":126142,"1440028800000":125540,"1440115200000":124871,"1440201600000":124210,"1440288000000":123616,"1440374400000":122866,"1440460800000":122199,"1440547200000":121655,"1440633600000":121081,"1440720000000":120628,"1440806400000":120317,"1440892800000":120156,"1440979200000":120139,"1441065600000":120138,"1441152000000":120188,"1441238400000":120397,"1441324800000":120465,"1441411200000":120600,"1441497600000":120697,"1441584000000":120802,"1441670400000":120861,"1441756800000":120914,"1441843200000":120922,"1441929600000":120899,"1442016000000":120893,"1442102400000":120837,"1442188800000":120663,"1442275200000":120378,"1442361600000":120151,"1442448000000":120051,"1442534400000":119955,"1442620800000":119892,"1442707200000":119881,"1442793600000":119764,"1442880000000":119660,"1442966400000":119659}}
I *think* you want to be using the daily values, not the average ones. If you're not modifying my math, you want the daily ones. Here is what you need to do to go about the changes:
1) Find the part where it says "rsPage := getPage(X);" and change the link to use the API. I was using regular GE pages, not the API so it will have a different link. Make sure you insert the ID in the right location in the link.
2) From the above data, do something like rsPage := between(rsPage, '"daily":{', '},");
This will remove the average prices and make the string consistently "Time":"Price","Time":"Price" ...
3) To get the prices from this do priceArray := multiBetween(rsPage, '":"', '","Time');
This should create an array of strings which contain only the price. Instead of "priceArray" use whatever variable is found in the script (don't have simba access right now).
4) Convert the strings to integers and assign them to the proper TIntegerArray.
The reason your code threw an error above was you used multiBetween but you need 3 parameters: source string, left bound, right bound. Other than that you're on the right path.
Then you'll need to grab trade limits from the RSWikia page, which involves searching through the page source for "GE Limit" if my memory serves me right.
Good luck, keep posting code snippets as you move forward with it
Capture.PNG Right, I think I have gotten the pricegrab part down (huge thanks to you) but there seems to be an issue elsewhere in the code before that segment even runs, as when I put in debugging statements they didn't print out, and the only other instance of "GetPage" is still using an up-to-date link. Any ideas as to what might causing the program to stop?
Script stops somewhere here ...Code:for i := 0 to (h-1) do begin with TempItem do begin Name := ReadINI('Portfolio', toStr(i), ScriptPath + GlobalSuffix); ID := ReadINI(Name, 'ID', ScriptPath + GlobalSuffix); Prices := getPrices(Name); TradeLimit := strToInt(ReadINI(Name, 'Trade Limit', ScriptPath + Globalsuffix)); AmountOwned := strToInt(ReadINI(Name, 'Amount', ScriptPath + GlobalSuffix)); Bought := strToInt(ReadINI(Name, 'Bought', ScriptPath + GlobalSuffix)); Members := strToBool(ReadINI(Name, 'Member', ScriptPath + GlobalSuffix)) end;
It shouldn't be using the readINI code unless you say "NO" to "Is this your first time running?". If you've had problems getting everything set up (which we have) please delete the INI file and start the script, saying "YES" the next time. Other than that:
1) Find the file in your Scripts location with no file extension (this is the INI file). Open it with notepad and see if you have a bunch of items with their prices listed. If yes, then the script is breaking somewhere else. If no, then the problem is still in grabbing the items.
2) If there are no items listed in the INI file, try looking through the following function:
Simba Code:function RS_GetTopItems100(): Array of TStringArray;
var
i: Int32;
Str: string;
Strings : TStringArray;
function ForwardStrTo(const text, tag: string; After: Boolean = False): string;
var
p: Integer;
begin
p := pos(tag, text);
if After then
Result := copy(text, p + length(tag), length(text) - p - length(tag) + 1)
else
Result := copy(text, p, length(text) - p);
end;
begin
setLength(Result, 2);
Str := GetPage('http://services.runescape.com/m=itemdb_rs/top100?list=0&scale=2');
Str := Between('<th colspan="4">Trade Count</th>', '</tbody>', Str);
Str := ForwardStrTo(Str, '<tbody>');
Strings := MultiBetween(str, '<img src="http://services.runescape.com/', '">');
for i := 0 to High(Strings) do
begin
Result[0].Append(ForwardStrTo(Strings[i], 'alt="', True));
Result[1].Append(between('id=', '" alt', ForwardStrTo(Strings[i], 'id=')));
if not BackCheck then WriteINI(Result[0][i], 'Member', (isMemberItem(Str, Result[0][i])), ScriptPath + GlobalSuffix)
else WriteINI(Result[0][i], 'Member', (isMemberItem(Str, Result[0][i])), ScriptPath + GlobalSuffix)
end;
end;
I would *guess* that this isn't generating a proper item list. Try throwing some debugs in there after the text manipulation. I'd guess that the page loads differently and it isn't parsing item names out properly anymore.
3) If you have a bunch of item names but no price or trade limit information in the INI, I'd suggest rechecking the appropriate grab. Let me know if you need a hand with this.
Hopefully something there helps, I grabbed the code and reviewed in notepad but I can't really do a whole lot else right now.
There are currently 1 users browsing this thread. (0 members and 1 guests)