Thursday, November 12, 2009

PIP

Pips and 'pips values' represent one of the most misunderstood concepts in Forex trading. Beginners, especially, often have trouble grasping the idea behind pips but, a solid understanding of pips is crucial to successful Forex investing.

Hopefully you're already familiar with the concept of 'basis points'. One basis point is equal to one-hundredth of one percent, and represents the smallest increment of change measured for any financial instrument. For example, with interest rates, if the rate rises from 9.50 percent to 9.51 percent, then it has risen by one basis point.

Pips are the Forex market's version of basis points. Let's say that the exchange rate for the EUR/USD pair move from 1.4465 to 1.4468. This movement represents a shift of 3 Pips, and may be good or bad depending on which currency you are holding.

Here's the catch, though. Notice that the shift took place on the 4th decimal, which is the ten-thousandths place, or 1/10,000 of a percentage point? You have a shift of one ten-thousandth instead of one one-hundredth.

The reason for this is that most currencies (with the exception of the Yen) are quoted out to four decimal places. This means you get to take advantage of even the most minute shifts as you trade on high volume.

In order to calculate Pips for the common, four decimal currency pairs, you must divide the value of 1 Pip by the exchange rate:

1 Pip = 1/10000th / exchange rate

Now, what happens when you are dealing with the Japanese Yen? In this currency pair, we find an exception to the rule because the Yen is quote out only to the hundreds place, or 1/100.

For the USD/JPY pair (or vice versus), your formula would be:

1 Pip = 1/100th / exchange rate

Now that you know how to calculate Pips for any currency pair, you must look at what an actual Pip is worth to you in real dollar terms. This value is known as “pips value'. In order to do this, we must bring 'lot size' into the equation.

If you purchase a standard lot of 100,000 pairs of EUR/USD at 1.4465, your formula will be as follows:

Pip Value = (0.0001 / 1.4465) x 100,000 = 6.91

So, a pip at this exchange rate is worth 6.91 Euro. Don't look for exact numbers here. What you need to pay attention to is the fact that '6.91' represents the average gain or loss per change in pips.

In other words, a fluctuation of 2 pip from 1.4465 to 1.4467 isn't going to raise your profit or loss by a full Euro or more. Try doing the calculation for a 2 pip rise, and you'll see that your pips value goes up only to 6.192.

I recommend getting comfortable with these basic calculations first, and then moving on to the calculations of actual profit and loss, which will require you to factor in bid price and ask price.

Also, remember that your online broker usually calculates pip and pips values for you, and you don't have to know how to do the math. It's just good business to be able to do it yourself...

Spot and forward trading

When you trade foreign exchange you are normally quoted a spot price. This means that if you take no further steps, your trade will be settled after two business days. This ensures that your trades are undertaken subject to supervision by regulatory authorities for your own protection and security. If you are a commercial customer, you may need to convert the currencies for international payments. If you are an investor, you will normally want to swap your trade forward to a later date. This can be undertaken on a daily basis or for a longer period at a time. Often investors will swap their trades forward anywhere from a week or two up to several months depending on the time frame of the investment.
Although a forward trade is for a future date, the position can be closed out at any time - the closing part of the position is then swapped forward to the same future value date.

Understanding the Relationship Between Domain Names and Hosting

Selecting a domain name can be a bit overwhelming since domain registrars often offer far more services than just domain names. Many offer "hosting" as well, so it helps to understand the relationship between domain names and hosting. Domain names and hosting are two completely separate products, but in the effort to sell the products together, domain registrars often just confuse people.When you purchase Web site hosting, you are basically renting a folder on a computer (called a Web server) that is connected to the Internet. You pay a company a monthly or yearly fee to keep your Web site files online and safe from hackers and other online "bad guys." Although technically, you might be able to host a site yourself, the $10 or $20 a month you spend on hosting is money well spent. Keeping a Web server alive and well is not a trivial exercise, so leave this task to the techies who like that kind of thing.It is important to understand the relationship between Web site hosting and domain names. A domain name basically points to a specific folder on a specific Web server. You can buy a domain name without buying hosting. Many people buy domain names long before they get around to creating a Web site. As soon as you think of a good name, spend the $8 and just buy the domain, so someone else doesn’t get it.Until you put up a site, the domain name points to a "parked page." This page is created by the domain registrar as a sort of holding spot until you buy hosting and get your site online. The parked page lets other people know that the domain isn’t available anymore. After you develop a site, get hosting, and put your Web site files in your folder on the Web server, you change your domain to point to the site.Note that you also can point more than one domain to the same Web site. If you decide to do this, you do not need to buy more hosting. Here are some questions to ask before you buy additional hosting.1. Do you want another Web site? (A completely different site with different files.) For example, two separate URLs have two different domains, are located in different folders, and are made up of completely different files.2. Do you want another domain name to point to the site you already have? For example, you might have two URLs point to one place. In that case, it is one folder with one set of files on the server, yet two domains point to it.If the answer to the question is 2, you do not need to purchase another hosting account. The files are already there in the folder. Generally, your hosting company should not charge you to point another domain to the same site. Hosting companies don’t care how many domains you have pointing at a site. However, they do care if you have more than one Web site and will charge you accordingly.

Thursday, October 8, 2009

Financial instruments

Financial instruments SpotA spot transaction is a two-day delivery transaction (except in the case of trades between the US Dollar, Canadian Dollar, Turkish Lira and Russian Ruble, which settle the next business day), as opposed to the futures contracts, which are usually three months. This trade represents a "direct exchange" between two currencies, has the shortest time frame, involves cash rather than a contract; and interest is not included in the agreed-upon transaction. The data for this study come from the spot market. Spot transactions has the second largest turnover by volume after Swap transactions among all FX transactions in the Global FX market. NNM ForwardOne way to deal with the foreign exchange risk is to engage in a forward transaction. In this transaction, money does not actually change hands until some agreed upon future date. A buyer and seller agree on an exchange rate for any date in the future, and the transaction occurs on that date, regardless of what the market rates are then. The duration of the trade can be a one day, a few days, months or years. Usually the date is decided by both parties. FutureForeign currency futures are exchange traded forward transactions with standard contract sizes and maturity dates - for example, $1000 for next November at an agreed rate Futures are standardized and are usually traded on an exchange created for this purpose. The average contract length is roughly 3 months. Futures contracts are usually inclusive of any interest amounts. SwapThe most common type of forward transaction is the currency swap. In a swap, two parties exchange currencies for a certain length of time and agree to reverse the transaction at a later date. These are not standardized contracts and are not traded through an exchange. OptionA foreign exchange option (commonly shortened to just FX option) is a derivative where the owner has the right but not the obligation to exchange money denominated in one currency into another currency at a pre-agreed exchange rate on a specified date. The FX options market is the deepest, largest and most liquid market for options of any kind in the world..Exchange-Traded FundExchange-traded funds (or ETFs) are open ended investment companies that can be traded at any time throughout the course of the day. Typically, ETFs try to replicate a stock market index such as the S&P 500 (e.g., SPY), but recently they are now replicating investments in the currency markets with the ETF increasing in value when the US Dollar weakens versus a specific currency, such as the Euro. Certain of these funds track the price movements of world currencies versus the US Dollar, and increase in value directly counter to the US Dollar, allowing for speculation in the US Dollar for US and US Dollar denominated investors and speculators.

Market participants

Market participants

Unlike a stock market, where all participants have access to the same prices, the foreign exchange market is divided into levels of access. At the top is the inter-bank market, which is made up of the largest investment banking firms. Within the inter-bank market, spreads, which are the difference between the bid and ask prices, are razor sharp and usually unavailable, and not known to players outside the inner circle. The difference between the bid and ask prices widens (from 0-1 pip to 1-2 pips for some currencies such as the EUR). This is due to volume. If a trader can guarantee large numbers of transactions for large amounts, they can demand a smaller difference between the bid and ask price, which is referred to as a better spread. The levels of access that make up the foreign exchange market are determined by the size of the "line" (the amount of money with which they are trading). The top-tier inter-bank market accounts for 53% of all transactions. After that there are usually smaller investment banks, followed by large multi-national corporations (which need to hedge risk and pay employees in different countries), large hedge funds, and even some of the retail FX-metal market makers. According to Galati and Melvin, "Pension funds, insurance companies, mutual funds, and other institutional investors have played an increasingly important role in financial markets in general, and in FX markets in particular, since the early 2000s." (2004) In addition, he notes, "Hedge funds have grown markedly over the 2001-2004 period in terms of both number and overall size" Central banks also participate in the foreign exchange market to align currencies to their economic needs.

Banks

The interbank market caters for both the majority of commercial turnover and large amounts of speculative trading every day. A large bank may trade billions of dollars daily. Some of this trading is undertaken on behalf of customers, but much is conducted by proprietary desks, trading for the bank's own account. Until recently, foreign exchange brokers did large amounts of business, facilitating interbank trading and matching anonymous counterparts for small fees. Today, however, much of this business has moved on to more efficient electronic systems. The broker squawk box lets traders listen in on ongoing interbank trading and is heard in most trading rooms, but turnover is noticeably smaller than just a few years ago.

Commercial companies

An important part of this market comes from the financial activities of companies seeking foreign exchange to pay for goods or services. Commercial companies often trade fairly small amounts compared to those of banks or speculators, and their trades often have little short term impact on market rates. Nevertheless, trade flows are an important factor in the long-term direction of a currency's exchange rate. Some multinational companies can have an unpredictable impact when very large positions are covered due to exposures that are not widely known by other market participants.

Central banks

National central banks play an important role in the foreign exchange markets. They try to control the money supply, inflation, and/or interest rates and often have official or unofficial target rates for their currencies. They can use their often substantial foreign exchange reserves to stabilize the market. Milton Friedman argued that the best stabilization strategy would be for central banks to buy when the exchange rate is too low, and to sell when the rate is too high-that is, to trade for a profit based on their more precise information. Nevertheless, the effectiveness of central bank "stabilizing speculation" is doubtful because central banks do not go bankrupt if they make large losses, like other traders would, and there is no convincing evidence that they do make a profit trading.

The mere expectation or rumor of central bank intervention might be enough to stabilize a currency, but aggressive intervention might be used several times each year in countries with a dirty float currency regime. Central banks do not always achieve their objectives. The combined resources of the market can easily overwhelm any central bank.Several scenarios of this nature were seen in the 1992-93 ERM collapse, and in more recent times in Southeast Asia.

Hedge funds as speculators

About 70% to 90%[citation needed] of the foreign exchange transactions are speculative. In other words, the person or institution that bought or sold the currency has no plan to actually take delivery of the currency in the end; rather, they were solely speculating on the movement of that particular currency. Hedge funds have gained a reputation for aggressive currency speculation since 1996. They control billions of dollars of equity and may borrow billions more, and thus may overwhelm intervention by central banks to support almost any currency, if the economic fundamentals are in the hedge funds' favor.

Investment management firms

Investment management firms (who typically manage large accounts on behalf of customers such as pension funds and endowments) use the foreign exchange market to facilitate transactions in foreign securities. For example, an investment manager bearing an international equity portfolio needs to purchase and sell several pairs of foreign currencies to pay for foreign securities purchases.

Some investment management firms also have more speculative specialist currency overlay operations, which manage clients' currency exposures with the aim of generating profits as well as limiting risk. Whilst the number of this type of specialist firms is quite small, many have a large value of assets under management (AUM), and hence can generate large trades.

Retail foreign exchange brokers

There are two types of retail brokers offering the opportunity for speculative trading: retail foreign exchange brokers and market makers. Retail traders (individuals) are a small fraction of this market and may only participate indirectly through brokers or banks. Retail brokers, while largely controlled and regulated by the CFTC and NFA might be subject to foreign exchange scams.[8][9] At present, the NFA and CFTC are imposing stricter requirements, particularly in relation to the amount of Net Capitalization required of its members. As a result many of the smaller, and perhaps questionable brokers are now gone. It is not widely understood that retail brokers and market makers typically trade against their clients and frequently take the other side of their trades. This can often create a potential conflict of interest and give rise to some of the unpleasant experiences some traders have had. A move toward NDD (No Dealing Desk) and STP (Straight Through Processing) has helped to resolve some of these concerns and restore trader confidence, but caution is still advised in ensuring that all is as it is presented.

Non-bank Foreign Exchange Companies

Non-bank foreign exchange companies offer currency exchange and international payments to private individuals and companies. These are also known as foreign exchange brokers but are distinct in that they do not offer speculative trading but currency exchange with payments. I.e., there is usually a physical delivery of currency to a bank account. Send Money Home offer an in-depth comparison into the services offered by all the major non-bank foreign exchange companies.

It is estimated that in the UK, 14% of currency transfers/payments[10] are made via Foreign Exchange Companies. These companies' selling point is usually that they will offer better exchange rates or cheaper payments than the customer's bank. These companies differ from Money Transfer/Remittance Companies in that they generally offer higher-value services.

Money Transfer/Remittance Companies

Money transfer companies/remittance companies perform high-volume low-value transfers generally by economic migrants back to their home country. In 2007, the Aite Group estimated that there were $369 billion of remittances (an increase of 8% on the previous year). The four largest markets (India, China, Mexico and the Philippines) receive $95 billion. The largest and best known provider is Western Union with 345,000 agents globally.

Send Money Home is an international money transfer price comparison site that allows consumers access to a range of alternative products and rates available when remitting (transferring) money worldwide.

Market size and liquidity

The foreign exchange market is the largest and most liquid financial market in the world. Traders include large banks, central banks, currency speculators, corporations, governments, and other financial institutions. The average daily volume in the global foreign exchange and related markets is continuously growing. Daily turnover was reported to be over US$3.2 trillion in April 2007 by the Bank for International Settlements. Since then, the market has continued to grow. According to Euromoney's annual FX Poll, volumes grew a further 41% between 2007 and 2008.

Of the $3.98 trillion daily global turnover, trading in London accounted for around $1.36 trillion, or 34.1% of the total, making London by far the global center for foreign exchange. In second and third places respectively, trading in New York accounted for 16.6%, and Tokyo accounted for 6.0%. In addition to "traditional" turnover, $2.1 trillion was traded in derivatives.

Exchange-traded FX futures contracts were introduced in 1972 at the Chicago Mercantile Exchange and are actively traded relative to most other futures contracts.

Several other developed countries also permit the trading of FX derivative products (like currency futures and options on currency futures) on their exchanges. All these developed countries already have fully convertible capital accounts. Most emerging countries do not permit FX derivative products on their exchanges in view of prevalent controls on the capital accounts. However, a few select emerging countries (e.g., Korea, South Africa, India; ) have already successfully experimented with the currency futures exchanges, despite having some controls on the capital account.


Foreign Exchange Market

The foreign exchange market (currency, forex, or FX) trades currencies. It lets banks and other institutions easily buy and sell currencies.

The purpose of the foreign exchange market is to help international trade and investment. A foreign exchange market helps businesses convert one currency to another. For example, it permits a U.S. business to import European goods and pay Euros, even though the business's income is in U.S. dollars.

In a typical foreign exchange transaction a party purchases a quantity of one currency by paying a quantity of another currency. The modern foreign exchange market started forming during the 1970s when countries gradually switched to floating exchange rates from the previous exchange rate regime, which remained fixed as per the Bretton Woods system.

The foreign exchange market is unique because of

its trading volumes,

the extreme liquidity of the market,

its geographical dispersion,

its long trading hours: 24 hours a day except on weekends (from 22:00 UTC on Sunday until 22:00 UTC Friday),

the variety of factors that affect exchange rates.

the low margins of profit compared with other markets of fixed income (but profits can be high due to very large trading volumes)

the use of leverage

As such, it has been referred to as the market closest to the ideal perfect competition, notwithstanding market manipulation by central banks. According to the Bank for International Settlements, average daily turnover in global foreign exchange markets is estimated at $3.98 trillion. Trading in the world's main financial markets accounted for $3.21 trillion of this. This approximately $3.21 trillion in main foreign exchange market turnover was broken down as follows:

$1.005 trillion in spot transactions

$362 billion in outright forwards

$1.714 trillion in foreign exchange swaps

$129 billion estimated gaps in reporting

MetaTrader 4 API

Online trading platform MetaTrader 4 is an automated system providing a full-cycle broker service. Functionality implemented by the developers of the system allows its users to perform almost any actions within the business process of a brokerage company. Owing to that, the system is now a landmark solution and the industry standard at Forex market.
The reasons for the high popularity of our software products are their convenient interfaces and rich features. Moreover, MetaQuotes Software Corp. always takes into account suggestions coming from both customers and traders and has developed an open application interface called MetaTrader Application Program Interface (API). MetaTrader API makes it possible to develop custom software applications used for automating business processes. MetaTrader API possesses a lot of functions that can be called virtually from any software development environment for Microsoft Windows. A qualified software developer gets rich functionality of the MetaTrader system at her/his disposal and can create custom software using a programming language s/he prefers.
MetaTrader API contains the following components aimed at working with the corresponding system modules:
MetaTrader Server API — the interface providing access to server features in the form of a plugin;
MetaTrader Manager API — the interface of the manager terminal providing features both additional client information processing, and implementation own unique business-logic;
MetaTrader DataFeed API — the interface of plugins implementing data delivery (quotations and news) to the system;MetaTrader Client API —
the interface of the client terminal. -->
The application interfaces of each component in the complex are distributed together with the corresponding component and can be found in the API directory. Open interfaces of all MetaTrader API components are provided. Besides, the source code of MetaTrader Server API and DataFeed API components are also supplied as open source in C++. Detailed examples of creating user applications allow you to use MetaTrader API to get acquainted with the principles of software interaction

Language bindings and interface generators

APIs that are intended to be used by more than one high-level programming language often provide, or are augmented with, facilities to automatically map the API to features (syntactic or semantic) that are more natural in those languages. This is known as language binding, and is itself an API. The aim is to encapsulate most of the required functionality of the API, leaving a "thin" layer appropriate to each language.
Below are listed some interface generator tools which bind languages to APIs at compile time.
SWIG generates interfaces from many languages for many languages (Typically Compiled->Scripted)
F2PY: Fortran to Python interface generator.
XPCOM (Cross Platform Component Object Model) is a cross platform component model from Mozilla.

API management

APIs are changing the way in which web-based companies interact on the Internet and have become a complete distribution channel for Web services and a potential source of revenues. However, to exploit the full potential of APIs, companies need to build a management infrastructure. This generally includes the following features:
Key management and customer sign-up: Automated issue tracking, refresh and control of API access keys.
Limit management and enforcement.
Usage plan management: Creation, modification and management of standard usage plans, each with different features sets, limits and/or pricing rules.
Per customer limit and usage policy adaptation.
Developer community tools: Growing visibility and API usage through online management of documentation and developer forums/discussions.
Monitoring and analytics: Tracking information on a per user basis for hit patterns,volume and method usage.
User messaging, ticket tracking and support tools: Interactive tools to deal with developer support queries.
Billing and payments.
Traffic proxies and caching: Traffic filtering and management components to improve service performance.
There are some companies who offer these management tools for those web services providers who don't have enough resources to build them or want to stay focused on their core service

API Implementations

POSIX standard defines an API that allows a wide range of common computing functions to be written such that they may operate on many different systems (Mac OS X and various Berkeley Software Distributions (BSDs) implement this interface); however, making use of this requires re-compiling for each platform. A compatible API, on the other hand, allows compiled object code to function without any changes, on any system implementing that API. This is beneficial to both software providers (where they may distribute existing software on new systems without producing/distributing upgrades) and users (where they may install older software on their new systems without purchasing upgrades), although this generally requires various software libraries implementing the necessary APIs too.
Microsoft has shown commitment to a backward compatible API, particularly within their Windows API (Win32) library, such that older applications may run on newer versions of Windows using an executable-specific setting called "Compatibility Mode" Apple Inc. has shown less propensity to this concern, breaking compatibility or implementing an API in a slower "emulation mode"; this allows greater freedom in development, at the cost of making older software obsolete.
Among Unix-like operating systems, there are many related but incompatible operating systems running on a common hardware platform (particularly Intel 80386-compatible systems). There have been several attempts to standardise the API such that software vendors may distribute one binary application for all these systems; however to date, none of these have met with much success. The Linux Standard Base is attempting to do this for the Linux platform, while many of the BSD Unices (FreeBSD, NetBSD, OpenBSD) implement various levels of API compatibility for both backward compatibility (allowing programs written for older versions to run on newer distributions of the system) and cross-platform compatibility (allowing execution of foreign code without recompiling).

API (Application programming interface)

An application programming interface (API) is an interface in computer science that defines the ways by which an application program may request services from libraries and/or operating systems.[1][2][3] An API determines the vocabulary and calling conventions the programmer should employ to use the services. It may include specifications for routines, data structures, object classes, and protocols used to communicate between the requesting software and the library.
An API may be:
Language-dependent; that is, available only in a given programming language, using the syntax and elements of that language to make the API convenient to use in this context.
Language-independent; that is, written in a way that means it can be called from several programming languages (typically an assembly or C interface). This is a desired feature for a service-style API that is not bound to a given process or system and is available as a remote procedure call.
An API itself is largely abstract in that it specifies an interface and controls the behavior of the objects specified in that interface. The software that provides the functionality described by an API is said to be an implementation of the API. An API is typically defined in terms of the programming language used to build the application. The related term application binary interface (ABI) is a lower level definition concerning details at the assembly language level. For example, the Linux Standard Base is an ABI, while POSIX is an API.
The API initialism may sometimes be used as a reference, not only to the full interface, but also to one function, or even a set of multiple APIs provided by an organization. Thus, the scope of meaning is usually determined by the person or document that communicates the information

Stock Trading Software

What defines an expert? Is he the person born to be highly knowledgeable about a skill that he can impress anyone without batting an eyelash or is he someone who gained facts from experience? This is where the difference between an intelligent and a knowledgeable individual comes into the scene. It can be a little puzzling, but before you become an expert, you must first be knowledgeable on the subject. To do this, before you become skilled in day trading, learning the facts behind the topic is crucial. If you dont have the time to learn all of the needed information, you might as well seek the help of foreign currency trading software.
Basically, day trading refers to the selling and buying of security within a particular day. It can take place within a marketplace although it is more common in the stock and foreign exchange market. The traders must be well informed, and well funded of course. These people who are into this kind of business would work in the marketplace for two imperative purposes: 1. by allowing the market to run smoothly by means of arbitrage, 2. and to offer market liquidity. As you can see, the job of traders is somehow complicated, hence there are currency trading software programs available on the internet.
The Search for the Best Software
Looking for the best currency converter software is no easy job. It is a must to look for one that provides a wide array of features because they must help you when deciding about an investment resolution. Currency software programs should help you fully understand the world market and option trading based on the current reports on the news. It must have personal virtual portfolios, access to a full streaming alternative, and many more. It ought to allow you to analyze your option for the stock, commodities, indices, and other securities. Furthermore, the best currency trading software should offer customer analyses, reports, and graphs to prevent losses and augment profits.
Browse different currency exchange software in the market to rightly compare and contrast their many features. Expect that they will vary depending on the manufacturer, some may have features like instant trade execution and news feeds while others dont have. There are even highly made kinds which will offer a suggested price when you are going to buy a particular stock and may even give an optimal exit rate. If you would like to choose multi currency accounting software which will give you the said options, thats just fine; but you have to remember that many traders actually prefer to base their action on proven theories and means to prevent regrets. The best thing to do is to reflect on your own judgment and consider the decision of the software as well; allow it to meet in the middle.
In case you follow strict criteria when it comes to the stocks that you buy, you must aim to trade them fast without necessarily consuming your precious time. Then, you can opt for stock screeners these are employed to input all the necessary criteria and the stocks that passed given standards. To familiarize yourself with the foreign currency software, make use of each of its feature at least once for you to have a hands-on clue about how they work. Naturally, since you are shelling out your cash for this expensive software, it makes sense to be knowledgeable about what the software can really do.
Furthermore, before making use of the currency conversion software for the real event, it is wise to program conditional orders so you wont be stuck into the computing stage when the real thing happens. Furthermore, in case the one you bought permits you to utilize stop-order placement, you will enjoy the fact that you can go out of the house without sulking in fear or finding yourself with a large number of overinflated securities.

Best Currency Trading Software

In the stock trading business, the simple rule on buying low and selling high does not happen over easy valuations and trend predictions. There is a complex system of economic, business, and sometimes human factors that come into play before you choose to properly make a trade.
For some people who have made a lot of money through the stock market they may have been lucky or utterly smart and wise to place their investments to where they think it should be. The process of thinking and analyzing investments are more important and valuable in playing in the stock market. Anything could happen to your investments through the dynamic financial activities and world economy that affect stocks and derivative instruments. That is why the need for proper monitoring, market research and market timing should be of utmost importance in this kind of business.
Stock trading entails a lot of analysis from a companys retained earnings for its outstanding shares to the more complex algorithms expressed in stock market charts with all the technical signals that bleep sometimes all at the same time. However, trading at this time and age have been made easy through the development of automated trading centers or exchanges around the globe also known as electronic trading. And similarly, studying price movements and market fluctuations are now made easier through ones computer monitor with the development of analysis software.
Even before one dives into the actual practice of stock trading there are certain business terms that he or she should be familiar with in order to properly maneuver his or her sail in the wide ocean of securities, derivatives and bonds that flood the stock market. When it comes to investing, a prospective investor in the stock market should be keen on the financial standing of the company such as its long-term solvency through cash flows, debt standing and equity analysis among others. Such daunting tasks of actually studying a companys accounts and annual or monthly reports could take up most of your time that may otherwise be spent on starting your investment career. A business analysis software can do the task of analyzing endless accounts of a company that you are interested to invest in. This type of financial analysis software takes into consideration a business financial history, its share in the market and its projected stability in the coming years. A substantial amount of financial information of a given company can be accessed in the Securities and Exchange Commission through the Internet. Some businesses use account analysis software to monitor the changes or differences over their reported balances such as those accounts in banks over the actual monetary value that they have.
It is important to have a general knowledge of business corporations and the general movement that they do in the market because information about them will all be a waste if you do not know how to use them. Investment analysis software can do the task of analyzing an investment whether it is high risk or not. The decision to invest in a certain companys capital stock would be greatly assisted. In this type of software you have to input the material financial information for analysis. You can also even input your own philosophy or your investment strategies that can be monitored in your computer when you use it. This kind of software will also help you project the value of your investments in current and future equivalent terms and compare the available performance of alternative investments. This should also help you build a portfolio of investments, which you are planning to keep for a period of time.
The stock market opens during the day and closes early in the afternoon where most of its transactions are valuable data that could be used in predicting the outcome for the next day. Placing a trade in the market the next day through a stockbroker would be easy with stock market analysis software. Stock markets have diverse and volatile stock prices that go up and down during the day, which you might not have all the time in the world to monitor during the day. This can be done for you in a few hours. The stock market technical analysis software also provides the basic technical analysis of the market through charts, its own computations and probable movements and exit points whether it is a bull or bear market. Surely, no investor would want to keep his or her investments in a slowly moving stock market, which a technical analysis software forecasts.
For analysis of stocks, there are a lot of free stock analysis software that are available on the Internet. Software for stock analysis usually rely only on the technical analysis of a specific stock or market. Fundamental analysis also comes into play when deciding on an investment.
The nature of technical analysis is of the primary study of stock prices that are believed to be the ultimate expression of any companys standing and performance in the market. Prices of stocks are monitoredtheir historical and future movements are charted to help present the price trend and volume patterns of stocks. There are a number of technical indicators that are employed in doing a technical analysis. These indicators are price and volume of a stock and the commodity and currency in the market that are transformed into mathematical expressions. The price direction and trend are determined by the use of these indicators. Options analysis software would rely heavily on the relative price and volume correlations provided by a technical analysis like its options put/call ratios and implied volatility.
A stocks price and volume are all the facts needed for stock technical analysis software. This type of software is necessary in forecasting price trends and volume behavior of an instrument in the market. Technical analysis is a security analysis technique that uses charts to express models and trading rules. In a technical analysis, models such as a stocks relative strength index, regressions, moving averages, cycles, price patterns and inter-market price correlations are studied. Compared to the fundamental analysis, which is also used in making investments, the technical analysis is more widely used in the stock market and foreign exchanges. But the use of both analyses is probably a safer approach.
Stock analysis software need not employ technicians because of its built-in applications, which can be customized according to ones preferred technical indicators. In this way, ones own strategy could be evaluated and improved. Analysis of charts and graphs would also be made easy through stock chart analysis software. Patterns are charted and interpretation would depend on ones experience or expertise at analyzing the curves and straight lines on ones charts. Even the trends of specific stocks by the key players in the market or industry can be tracked down and analyzed in an easy way by a stock trend analysis software.
It is not difficult to acquire free stock technical analysis software because they are available on the Internet. Some software developers whose patents are still pending provide an online free trial of the program, which is actually helpful in comparing the different software products available in the worldwide web. The best stock analysis software is the one that works best for you. The best software should be the one that will allow you to meet your goals of buying high yielding stocks at a low price and gain a considerable amount of money when you sell them. A good software that one could most probably start with is one with a market timing application because you would be needing it to monitor price changes to be able take advantage of the best opportunity to place a trade.
When actually practicing stock trading the need to evaluate or even keep a close watch at how your investments are going, whether they are going down or not in the market, is very important. The ultimate objective in going for investing in stocks trading is to gain as much financial returns from your investment but the task could be challenging if you have other obligations to perform.
Trade analysis software is available nowadays to help you meet the requirements of analyzing and evaluating your trade transaction especially when you have a number of investments in the different business industries. It helps track your past transactions and could even provide the reason why you placed that trade at that time by also showing the market conditions that existed during that period. A stock trading software allows you to easily search targeted trade and receive information about them while managing your other accounts.
A software application that could generate buy and sell signals for your specific stock is a great advantage. This is a type of prospecting tool that is useful in starting a career in trading. Trading for a particular stock in the market could be made easy when using a stock accounting software. A stock trading analysis software could give you access to different online stock market brokers from whom you could match and compare your trades to accurately calculate gains and losses on your transactions. This type of program could have a direct link to your Internal Revenues System or your accountant to inform them if you have indeed made a capital gain. When you actually accumulate losses instead of gains, this program will run and do the work of analyzing and comparing data while you do other things.
When it comes to managing your portfolio of investments you would definitely need help in analyzing your current net worth and income streams. A fund manager will help monitor and analyze stocks and mutual funds with easy graphs and reports. When connected with a brokerage firm for your transaction, a fund analysis software will be helpful in keeping track of your investments. A reverse portfolio report by a portfolio management application is used to identify the persons in each fund, the accurate number of units involved in the transaction, as well as the stock valuations. The amount under the funds management can also be tracked.
Most stock market software could provide you with regular reviews either monthly or annually of your current investment performance. Buying and selling opportunities are also identified when you record the projections you actually want to meet against that of your own performance.
From among the different type of stock analysis software products that are available these days, compatibility with your own computers operating system should be checked because some features of certain trading software applications may not run.
The Linux stock analysis software is an open source type of software that is available on the Internet for free. There is actually a list of some stock trading software that is dependent on a Linux operating system. There exists an online stock trading software from programs that run on Linux, which can be viewed through Yahoo! That also includes moving averages and technical analysis. Features of a Linux trading software includes:
Analysis of the total portfolio and its returns against its buys and as against its sells, which are later compared to all the transactions made Storage of transactions in account-specific files Maintenance of accounts of different derivative instruments or currencies Comparison reports of important averages on the available shares per price transactions Comparison of your gains and losses in all the accounts of your portfolio Gives you updates of currency quotes in the World Wide Web in real time. You can delete, add and store stock evaluation through its on-line storage that is secured by Firewall and is password protected

Best Forex Trading Software

Tired of spending too much of your precious time blankly staring in front of your computers monitor just to check if the stocks you have invested in are increasing or decreasing in value? It is indeed a little time-consuming for you to do that. By doing so, you have more chances of missing the more important joys of life such as spending some quality time with your family members and friends or just the simple things that you enjoy doing like playing golf, fishing or even completing that die-cast car model you promised your son youd finish before his 18th birthday.
Living a solitary life in Stock Market Trading is not the way to go and experience life to the fullest. You see, it is better that you let your job work to simplify your life rather than simplify your life just to work. Well, it may not be a sound advice to just lie back and let the digits come adding in your bank account. You have to do some thing first for it to start happening.
With the emergence of new technology, your typical dragging work hours can be modified into a summer breeze when you subscribe to digital breakthroughs known as the Forex software. Whether you are a seasoned stock market broker, stock market analyst, or just starting in this trading business, Forex or Foreign Exchange happens to be a rewarding career to begin with. You see, once you understand the language of the business and once you start feeling the vibe whether to buy or sell, you are absolutely headed to Forex heaven.
Since you are definitely considering a career in trading, there are numerous program applications to guide and assist you and they will actually make your life somewhat worth living for. Do not worry that it would take you time just to find the right software on the Internet.
Forex software download is done through the Internet. All you have to do is own a computer and get an Internet connection and you are ready. Whats great about these programs is that they are free applications that you can try out first since they are in either trial or demo versions. Suppose you fell in love with a particular program, you can avail postpaid subscriptions and wait for its billing statement monthly, bi-monthly, or even annually. Not only is it more secured, you will also have access to more features that are being offered by the software. You just have to make sure that you have accomplished all necessary requirements.
The free version is practically the same as the postpaid ones. There are only some features that are limited in the trial version. All you need to do is weigh your options to determine which of the software applications available suits your needs.
Once you have searched for the automated Forex software through the Internet, you might find yourself buried under several website links that are offering the same program application. Do not panic or start hyperventilating just yet. You could just browse over some of the given links. Sooner or later, you will find the best Forex software for you. Since you are just starting in this new route to Forex, free software trading enables you to just click a few buttons and it will definitely re-arrange and manage your life right in front of your eyes.
One word of advice though since you will opt for free Forex software, it would be better if you install an anti-virus in your computer. You will never know what virus is lurking behind free downloadable applications nowadays. With these in mind, you are now ready to begin your quest in finding the right financial software. Forex Trading would soon start working to your advantage and that means more money in your bank account!
Just how automatic is the automatic Forex trading software? Well, for this program to work, you have to be consistently connected to the Internet for it to generate updates. Otherwise if you go offline, you will definitely miss whats hot and whats not in the stock market and you do not want this to happen. Trading in the stock market is all about proper timing and sound decision-making skills. Without these, you will just resemble a floating duck in the middle of lake during a thunderstorm.
Do not get excited yet since you still have some important things worth your attention here. What kind of computer are you using? Is it the standard Windows application kind of computer or are you using a Mac? Although more and more programs nowadays are being created to work well with either Windows or Mac computers. Log on to your Safari or Firefox browser and make a search for Mac Forex software so you will be able to install it successfully and not just waste several hours trying to figure what went wrong even if you chose the best and correct Forex software system. Trading applications that are supposed to run and function fail because of incompatibility.
What you will be reading here is a rundown of different automated Forex Trading software applications available on the Internet. Do not get overwhelmed especially if you are just starting in this career. Just take a quick tour, refresh some ideas you learned from the research you made and think hard if you really need this kind of assistance.
Not everyone is comfortable with using computers. Yes, even in this hi-tech age, there are people who would prefer the conventional from automatic we are not talking about car transmissions here. There is an interactive site where you could seek some help regarding Forex trading software. Online applications can be easily viewed via Yahoo! This comes in handy if you are having difficulties with the installation of programs in your computer.
Forex software reviews are also recommended reads for you. This way, you can really immerse yourself with all the features that are being offered. It is best if you make a chart to take note what software package offers the best line-up of features and applications that you need. In general, nearly all software programs assist you in the following situations:
Maximize your gains and at the same time minimize your losses. If you already have a working portfolio, the program re-balances it for you to enable a more focused and easier to manage account. Signals or alerts you of sudden and abrupt movements of stocks in the market. Gives you historical data analysis by accessing several brokerage firms and financial institutions. Re-aligns your investment strategies with your goals
To start with your software fieldtrip, here are some of the types of stock market related software that can be downloaded from the Internet. Almost all of these programs are free since they are on a demo or trial version:
1) FOREX ANALYSISThe Forex Analysis Software allows you to experience a simulation of your stock trading transactions. It is more of mock-trade that will show you what your performance will be should you consider making a trade. This software replays historical data from a database that has information of stock trades from various sectors. Since it is a simulation, you will be able to see how companies fared.
Advantage you will get from this software: Technical Analysis Customized spreadsheets for easier charting reports Data Extraction Market signals
2) FOREX CHARTINGThe Forex Charting software allows you to manage all your accounts at the same time. There will be no more problems leading to a mismatched trade to a miscalculated profit margin. This program is designed to actually allow you to live your life and just refer to it to get updates if the time is right for you to make a trade.
Advantage you will get from this software: Historical analysis across accounts in the portfolio using different charting tools Minimized time consumed for sorting and categorizing accounts Automatic alerts for different tickers Real-time data for chart extrapolations and analysis, which can be exported to Excel.
3) FOREX STOCK OPTIONSThe Forex Options software speeds up all your transactions since it helps determine if the stocks you are eyeing at is under-price or over-priced. You see, stock options give you some rights to buy or sell stock made possible through a contract. When you go about a trade, you do not actually sell or buy the shares but rather the trade rights.
Advantage you will get from this software: Data updates at real-time Standard reports on gainers Portfolio track A calculator to determine percentage returns
4) FOREX PREDICTIONThe Forex Prediction software can assist you with the generation of charts that actually predicts the direction where the market is headed. This prediction is designed to make reports a couple of days in advance before it takes place. This is useful since you will be given a heads-up if you are interested to make a transaction.
Aside from this, it also analyzes data from the market together with other indicators. It banks on the idea of using predictions in the stock market to provide pre-knowledge if a particular share of stock will rise or fall.
Advantage you will get from this software: Technical Analysis Inter-market analysis as source of the predictions Entry and Exit time Trade segregation by Long-Term transactions or Short-Term Report consolidation regarding Target Gains.
5) FOREX SIGNALSThe Forex signal software is designed not to rely on alerts or signals using intuition. Predictions can be of great help but since it is a couple of days advanced before an actual trade commences, the gap from the time you have placed your bets until the time you are waiting to shout Eureka is quite big. Remember that the stock market is very volatile so much like a tornado. You just do not know when it will turn and why. You can only be supported by calculations and historical data, but the actual movement is a little difficult to predict.
The Forex Trading Signal software actually gives you an upper hand in managing your accounts. You will receive reports and updates to be able to get ahead in the race. You will receive signs that a particular share of stock from a particular company is ripe for the kill.
Advantage you will get from this software: Real-Time updates on when to open and close your trades. Automated Trading transactions = all you have to do is count your gains. Compatibility with almost all Operating Systems (OS).
Not all programs can function across all kinds of computers so you have to read first if the Forex software system requirements are compatible with what you have. If you are successful in finding the best Forex software, trading in the stock market will no longer be time-consuming and confusing especially for newcomers like you or even for the season traders who are already starting to complain of the tedious work they have to go through everyday.
Employing a software application to succeed in the stock market is indeed a wise thing to do. You only have to make sure that it already has some good remarks from other users. This is a way for you to gauge if it is worth it. Be attentive of the small and hard to read clauses that might spell out Customer Service Support at your own Risk. Make sure help is a phone call or email away should you have technical problems concerning the software.
Using programs such as these requires effort on your part in order to succeed in your career. If you are more comfortable with manual trading, go ahead. The software run-down was made for you to consider getting extra help as you climb up the stock markets ladder of success.

Friday, October 2, 2009

Reseller hosting

Reseller hosting is a form of web hosting wherein the account owner has the ability to use his/her allotted hard drive space and bandwidth to host websites on behalf of third parties. The reseller purchases the host's services wholesale and then sells them to customers for a profit. A certain portion of hard drive and bandwidth is allocated to the reseller account. The reseller may rent a dedicated server from a hosting company, or resell shared hosting services. In the latter case, the reseller is simply given the permission to sell a certain amount of disk space and bandwidth to his own customers without renting a server from a web hosting company he signed for a reseller account with.
The typical web hosting reseller might be a web design firm, web developer or systems integrator who offers web hosting as an add-on service. Reseller hosting is also an inexpensive way for web hosting entrepreneurs to start a company. Most reseller hosting plans allow resellers to create their own service plans and choose their own pricing structure. In many cases, resellers are able to establish their own branding via customized control panels and name servers.
Reseller hosting does not require extensive knowledge of the technical aspects of web hosting. Usually, the data center operator is responsible for maintaining network infrastructure and hardware, and the dedicated server owner configures, secures, and updates the server. A reseller is responsible for interfacing with his/her own customer base, but any hardware, software and connectivity problems are typically forwarded to the server provider from whom the reseller plan was purchased. It should be noted that being a profitable reseller firm usually involves extensive advertising to get customers. While the monthly fees with major hosts are only a few dollars a month, it's a low margin business, and resellers must devote large advertising budgets to compete with established competitors. However, web hosting is one of the biggest online businesses, because every website needs hosting.
Resellers can set up and manage customer accounts via a web interface, usually point and click "Control Panels."

Well-known Control Panels List:
Cortex Provisioning System (Windows)
Reseller Hosting (Unix)
Plesk (Windows/Unix)
DirectAdmin
Webmin (Unix)
Ensim Pro (Windows/Unix)
Helm (Windows)

Types of hosting

Types of hosting

A typical server "rack," commonly seen in colocation centres.
Internet hosting services can run Web servers; see Internet hosting services.
Hosting services limited to the Web:
Many large companies who are not internet service providers also need a computer permanently connected to the web so they can send email, files, etc. to other sites. They may also use the computer as a website host so they can provide details of their goods and services to anyone interested. Additionally these people may decide to place online orders.
Free web hosting service: Free web hosting is offered by different companies with limited services, sometimes advertisement-supported web hosting, and is often limited when compared to paid hosting.
Shared web hosting service: one's Web site is placed on the same server as many other sites, ranging from a few to hundreds or thousands. Typically, all domains may share a common pool of server resources, such as RAM and the CPU. The features available with this type of service can be quite extensive. A shared website may be hosted with a reseller.
Reseller web hosting: allows clients to become web hosts themselves. Resellers could function, for individual domains, under any combination of these listed types of hosting, depending on who they are affiliated with as a provider. Resellers' accounts may vary tremendously in size: they may have their own virtual dedicated server to a collocated server. Many resellers provide a nearly identical service to their provider's shared hosting plan and provide the technical support themselves.
Virtual Dedicated Server: also known as a Virtual Private Server (VPS for short) divides server resources into virtual servers, where resources can be allocated in a way that does not directly reflect the underlying hardware. VPS will often be allocated resources based on a one server to many VPSs relationship, however virtualisation may be done for a number of reasons, including the ability to move a VPS container between servers. The users may have root access to their own virtual space. This is also known as a virtual private server or VPS. Customers are sometimes responsible for patching and maintaining the server.
Dedicated hosting service: the user gets his or her own Web server and gains full control over it (root access for Linux/administrator access for Windows); however, the user typically does not own the server. Another type of Dedicated hosting is Self-Managed or Unmanaged. This is usually the least expensive for Dedicated plans. The user has full administrative access to the box, which means the client is responsible for the security and maintenance of his own dedicated box.
Managed hosting service: the user gets his or her own Web server but is not allowed full control over it (root access for Linux/administrator access for Windows); however, they are allowed to manage their data via FTP or other remote management tools. The user is disallowed full control so that the provider can guarantee quality of service by not allowing the user to modify the server or potentially create configuration problems. The user typically does not own the server. The server is leased to the client.
Colocation web hosting service: similar to the dedicated web hosting service, but the user owns the colo server; the hosting company provides physical space that the server takes up and takes care of the server. This is the most powerful and expensive type of the web hosting service. In most cases, the colocation provider may provide little to no support directly for their client's machine, providing only the electrical, Internet access, and storage facilities for the server. In most cases for colo, the client would have his own administrator visit the data center on site to do any hardware upgrades or changes.
Cloud hosting: is a new type of hosting platform that allows customers powerful, scalable and reliable hosting based on clustered load-balanced servers and utility billing. Removing single-point of failures and allowing customers to pay for only what they use versus what they could use.
Clustered hosting: having multiple servers hosting the same content for better resource utilization. Clustered Servers are a perfect solution for high-availability dedicated hosting, or creating a scalable web hosting solution. A cluster may separate web serving from database hosting capability.
Grid hosting: this form of distributed hosting is when a server cluster acts like a grid and is composed of multiple nodes.
Home server: usually a single machine placed in a private residence can be used to host one or more web sites from a usually consumer-grade broadband connection. These can be purpose-built machines or more commonly old PCs. Some ISPs actively attempt to block home servers by disallowing incoming requests to TCP port 80 of the user's connection and by refusing to provide static IP addresses. A common way to attain a reliable DNS hostname is by creating an account with a dynamic DNS service. A dynamic DNS service will automatically change the IP address that a URL points to when the IP address changes.
Some specific types of hosting provided by web host service providers:
File hosting service: hosts files, not web pages
Image hosting service
Video hosting service
Blog hosting service
One-click hosting
Pastebin Hosts text snippets
Shopping cart software

Web Hosting

A web hosting service is a type of Internet hosting service that allows individuals and organizations to make their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own or lease for use by their clients as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for servers they do not own to be located in their data center, called colocation.

Service scope

The scope of hosting services varies widely. The most basic is web page and small-scale file hosting, where files can be uploaded via File Transfer Protocol (FTP) or a Web interface. The files are usually delivered to the Web "as is" or with little processing. Many Internet service providers (ISPs) offer this service free to their subscribers. People can also obtain Web page hosting from other, alternative service providers. Personal web site hosting is typically free, advertisement-sponsored, or cheap. Business web site hosting often has a higher expense.
Single page hosting is generally sufficient only for personal web pages. A complex site calls for a more comprehensive package that provides database support and application development platforms (e.g. PHP, Java, Ruby on Rails, ColdFusion, and ASP.NET). These facilities allow the customers to write or install scripts for applications like forums and content management. For e-commerce, SSL is also highly recommended.
The host may also provide an interface or control panel for managing the Web server and installing scripts as well as other services like e-mail. Some hosts specialize in certain software or services (e.g. e-commerce). They are commonly used by larger companies to outsource network infrastructure to a hosting company.

Domain name

A domain name is an identification label that defines a realm of administrative autonomy, authority, or control in the Internet, based on the Domain Name System (DNS).
Domain names are used in various networking contexts and application-specific naming and addressing purposes. They are organized in subordinate levels (subdomains) of the DNS root domain, which is nameless. The first-level set of domain names are the top-level domains (TLDs), including the generic top-level domains (gTLDs), such as the prominent domains com, net and org, and the country code top-level domains (ccTLDs). Below these top-level domains in the DNS hierarchy are the second-level and third-level domain names that are typically open for reservation by end-users that wish to connect local area networks to the Internet, run web sites, or create other publicly accessible Internet resources. The registration of these domain names is usually administered by domain name registrars who sell their services to the public.
Individual Internet host computers use domain names as host identifiers, or hostnames. Hostnames are the leaf labels in the domain name system usually without further subordinate domain name space. Hostnames appear as a component in Uniform Resource Locators (URLs) for Internet resources such as web sites.Domain names are also used as simple identification labels to indicate ownership or control of a resource. Such examples are the realm identifiers used in the Session Initiation Protocol (SIP), the DomainKeys used to verify DNS domains in e-mail systems, and in many other Uniform Resource Identifiers (URIs).
An important purpose of domain names is to provide easily recognizable and memorizable names to numerically addressed Internet resources. This abstraction allows any resource (e.g., website) to be moved to a different physical location in the address topology of the network, globally or locally in an intranet. Such a move usually requires changing the IP address of a resource and the corresponding translation of this IP address to and from its domain name.
Domain names are often referred to simply as domains and domain name registrants are frequently referred to as domain owners, although domain name registration with a registrar does not confer any legal ownership of the domain name, only an exclusive right of use.
This article primarily discusses the group of domain names that are offered by domain name registrars for registration by the public. The Domain Name System article discusses the technical facilities and infrastructure of the domain name space and the hostname article deals with specific information about the use of domain names as identifiers of network hosts.

Thursday, October 1, 2009

What's new in C# 3.0

IMPLICIT TYPED LOCAL VARIABLES

LOCAL VARIABLES CAN BE DECLARED AS TYPE VAR, WHOSE ACTUAL TYPE OF THE VARIABLE IS DETERMINED BY THE COMPILER BASED ON THE DATA SCHEMA (SEE LISTING 1). IT'S MAINLY USED TO STORE ANONYMOUS TYPES IN LINQ.

// THIS IS AN INTEGER

VAR NID = 1234567;

//THIS IS A STRING

VAR STRFULLNAME = "JOHN CHARLES OLAMENDY TURRUELLAS";

LISTING 1


AUTOMATIC PROPERTIES

SOMETIMES WHEN YOU ARE IMPLEMENTING THE LOGIC ASSOCIATED WITH CLASSES, YOU NEED TO WRITE THE GETTERS/SETTERS OF OUR PROPERTIES. PROPERTIES ARE BEST PRACTICES TO SUPPORT THE ENCAPSULATION CONCEPT IN THE OBJECT-ORIENTED PROGRAMMING PARADIGM. C# COMPILER PROVIDES AN ELEGANT WAY TO MAKE YOUR CODE MORE ROBUST USING PROPERTIES CALLED AUTOMATIC PROPERTIES. IT ALLOWS YOU TO AVOID HAVING TO MANUALLY DECLARE A PRIVATE FIELD AND WRITE THE UNDERLYING GETTER/SETTER LOGIC. THE COMPILER DOES THE WORK FOR YOU (SEE LISTING 2).

PUBLIC CLASS CUSTOMER

{

PUBLIC STRING FULLNAME

{ GET; SET; }

PUBLIC STRING CONTACTADDRESS

{ GET; SET; }

}

LISTING 2


OBJECT INITIALIZERS
WHEN YOU CREATE AN INSTANCE OF THE BUSINESS ENTITY CUSTOMER, YOU WRITE THE CODE TO CALL THE CLASS CONSTRUCTOR AND SET THE PROPERTIES OF THE INSTANCE (LISTING 3).

CUSTOMER OBJCUSTOMER = NEW CUSTOMER();

OBJCUSTOMER.FULLNAME = "JOHN";

OBJCUSTOMER.CONTACTADDRESS = "MY ADDRESS";

LISTING 3

OBJECT INITIALIZERS ALLOW YOU TO RE-WRITE THE PREVIOUS CODE IN A CONCISE WAY (SEE LISTING 4).



CUSTOMER OBJCUSTOMER = NEW CUSTOMER { FULLNAME="JOHN", CONTACTADDRESS="MY ADDRESS"};

LISTING 4


COLLECTION INITIALIZERS

OBJECT INITIALIZERS IS A GREAT FEATURE TO WRITE CODE EFFICIENTLY. C# ALSO ADDS A FEATURE TO INITIALIZE COLLECTIONS OF OBJECTS CALLED COLLECTION INITIALIZERS FOLLOWING THE SAME CONCEPTS OF OBJECT INITIALIZERS (SEE LISTING 5).

LIST OBJCUSTOMERLIST = NEW LIST

{

NEW CUSTOMER{FULLNAME="JOHN OLAMENDY", CONTACTADDRESS="ADDRESS1"},

NEW CUSTOMER{FULLNAME="MARY PEREZ", CONTACTADDRESS="ADDRESS2"},

NEW CUSTOMER{FULLNAME="ANTHONY FRANCES", CONTACTADDRESS="ADDRESS3"}

};

LISTING 5


EXTENSION METHODS ALLOW DEVELOPERS TO ADD NEW METHODS TO EXISTING CLR TYPES WITHOUT SUBCLASSING AND RECOMPILING THE ORIGINAL CLASS. YOU CAN REALIZE BY DEFINING A STATIC CLASS WITH A STATIC METHOD CONTAINING THE EXTENSION METHOD. YOU NEED TO USE THE KEYWORD THIS BEFORE THE CLR TYPE YOU WANT TO EXTEND. TO USE THE NEW DEFINED EXTENSION, YOU NEED TO USE THE IMPORT KEYWORD TO IMPORT THE NAMESPACE CONTAINING THE EXTENSION CLASS.

LET'S DEFINE AN EXTENSION METHOD TO CHECK WHETHER A GIVEN STRING OBJECT IS EMPTY OR NOT (SEE LISTING 6).


PUBLIC STATIC CLASS CHECKSTRING

{

PUBLIC STATIC BOOL MYEXTENSIONMETHOD_ISEMPTY(THIS STRING VALUE)

{

BOOL BRESULT = TRUE;



IF (VALUE != NULL && !VALUE.EQUALS(""))

{

BRESULT = FALSE;

}



RETURN BRESULT;

}

}

LISTING 6

NOW LET'S USE THE EXTENSION METHOD IN A SCENARIO (SEE LISTING 7).

STRING STRCUSTOMERNAME = "JOHN C. OLAMENDY";

IF (STRCUSTOMERNAME.MYEXTENSIONMETHOD_ISEMPTY())

{

SYSTEM.CONSOLE.WRITELINE("THE STRING IS EMPTY");

}

ELSE

{

SYSTEM.CONSOLE.WRITELINE("THE STRING IS IS NOT EMPTY");

}

LISTING 7

ONE COMMON BUILT-IN EXTENSION SHIPPED IN MICROSOFT.NET IS INSIDE THE NAMESPACE SYSTEM.LINQ AND ALLOWS EASY QUERYING OF THE DATA BY USING LINQ QUERY OPERATORS. LET'S SUPPOSE WE WANT TO QUERY THE LIST OF CUSTOMER ALREADY DEFINED (OBJCUSTOMERLIST) IN ORDER TO GET CUSTOMERS WHOSE NAMES BEGINS WITH THE LETTER J. YOU NEED TO USE THE WHERE EXTENSION METHOD PROVIDED BY SYSTEM.LINQ TO RETRIEVE THE RESULT SET (SEE LISTING 8).

IENUMERABLE RSCUSTOMER = OBJCUSTOMERLIST.WHERE(P => P.FULLNAME.STARTSWITH("J"));

LISTING 8

THE STATEMENT FOR THE QUERY IS WRITTEN USING THE PRINCIPLES OF "LAMBDA EXPRESSION", WHICH IS A NATURAL EVOLUTION OF ANONYMOUS METHODS.


ANONYMOUS TYPE IS A WAY TO ENCAPSULATE PROPERTIES OF AN OBJECT WITHOUT DEFINING THE UNDERLYING CLASS AT RUNTIME. THE TYPE NAME AND PROPERTIES ARE INFERRED BY THE COMPILER (LISTING 9).

VAR OBJPRODUCT = NEW { PRODUCTID=1, NAME="MY PRODUCT", UNITPRICE=10.2};

SYSTEM.CONSOLE.WRITELINE("THE PRODUCT INFO IS: ID={0}, NAME={1}, UNITPRICE={2}", OBJPRODUCT.PRODUCTID, OBJPRODUCT.NAME, OBJPRODUCT.UNITPRICE);


LISTING 9

ONE COMMON SCENARIO WHERE WE CAN USE ANONYMOUS TYPE IS WHEN WE WANT TO QUERY AND WORK WITH DATA USING LINQ EXPRESSIONS, AND WE WANT TO DEFINE THE SCHEMA OF THE RESULT SET IN-LINE. LET'S SUPPOSE THAT WE WANT TO QUERY A DATABASE IN ORDER TO SEARCH FOR PRODUCTS THAT SATISFY SOME CONDITIONS SUCH AS UNITPRICE GREAT THAN A VALUE IN ORDER TO HAVE AN INSIGHT OF EXPENSIVE PRODUCTS (SEE LISTING 10). THIS SYNTAX ALLOWS USING THE DYNAMIC LANGUAGE FLEXIBILITY WITHOUT LOSING THE STRONG-TYPE LANGUAGE SUPPORT FOR COMPILE-TIME CHECKING AND INTELLISENSE IN VISUAL STUDIO.


VAR RSPRODUCT = FROM P IN DB.PRODUCTS

WHERE P.UNITPRICE > 10000.00

SELECT NEW

{

ID = P.PRODUCTID,

NAME = P.NAME,

PRICE = P.UNITPRICE

};



FOREACH (VAR OBJPRODUCT IN RSPRODUCT)

{

SYSTEM.CONSOLE.WRITELINE("EXPENSIVE PRODUCTS. ID={0}, NAME={1}, PRICE={2}", OBJPRODUCT.ID, OBJPRODUCT.NAME, OBJPRODUCT.PRICE);

}

LISTING 10


LAMBDA EXPRESSION IS AN EVOLUTION OF DELEGATES IN ORDER TO WRITE IN-LINE ANONYMOUS BLOCKS IN C#. IT'S VERY HELPFUL WHEN WRITING LINQ QUERY EXPRESSIONS BY DEFINING WRAPPING METHODS THAT CAN BE PASSED AS ARGUMENTS TO THE EVALUATIONS. AS ILLUSTRATIVE PURPOSES, WE'RE GOING TO QUERY THE LIST OF CUSTOMER (OBJCUSTOMERLIST) DEFINED BEFORE. THIS COLLECTION HAS NEW EXTENSION METHODS SUCH AS WHERE AND AVERAGE WHICH CAN BE USED ALONG WITH LAMBDA EXPRESSIONS TO QUERY THE ARRAY OF ENTITIES.

LET'S SUPPOSE THAT WE WANT TO RETRIEVE INFORMATION FOR A PARTICULAR CUSTOMER; THEN WE WRITE THE C# CODE ALONG WITH LAMBDA EXPRESSION AS A FILTER AS SHOWN (SEE LISTING 11).

IENUMERABLE RSCUSTOMER = OBJCUSTOMERLIST.WHERE(P => P.FULLNAME == "JOHN OLAMENDY");

LISTING 11

THIS EXPRESSION IS SEMANTICALLY EQUIVALENT TO ANONYMOUS METHODS FOLLOWING THE RULE PARAMS=>EXPRESSION. THAT IS, THE P IS PARAMETER OF THE ANONYMOUS METHOD REFERENCING TO EVERY INSTANCE OF CUSTOMER IN THE COLLECTION. IN THIS CASE, WE DON'T NEED TO DECLARE THE PARAMETER TYPE BECAUSE IT'S INFERRED BY THE COMPILER FROM THE TYPES IN THE COLLECTIONS. THE EXPRESSION IS NORMAL C# STATEMENT THAT, IN THIS CASE, RETURNS A BOOLEAN VALUE. LET'S RE-WRITE THE PREVIOUS LAMBDA EXPRESSION INTO AN ANONYMOUS METHOD (SEE LISTING 12).


IENUMERABLE RSCUSTOMER = OBJCUSTOMERLIST.WHERE

(

DELEGATE(CUSTOMER OBJTEMP)

{

RETURN OBJTEMP.FULLNAME == "JOHN OLAMENDY";

}

);

LISTING 12

I WOULD LIKE TO ILLUSTRATE THE EVOLUTION FROM DELEGATES (IN EARLY C# LANGUAGE), THROUGH ANONYMOUS METHODS (IN C# 2.0) TO LAMBDA EXPRESSION (IN C# 3.0) USING AN EXAMPLE TAKING FROM THE VISUAL STDUIO 2008 DOCUMENTATION (SEE LISTING 13).

CLASS TEST
{

DELEGATE VOID TESTDELEGATE(STRING S);

STATIC VOID M(STRING S)

{

CONSOLE.WRITELINE(S);

}



STATIC VOID MAIN(STRING[] ARGS)

{

// ORIGINAL DELEGATE SYNTAX REQUIRED

// INITIALIZATION WITH A NAMED METHOD.

TESTDELEGATE TESTDELA = NEW TESTDELEGATE(M);



// C# 2.0: A DELEGATE CAN BE INITIALIZED WITH

// INLINE CODE, CALLED AN "ANONYMOUS METHOD." THIS

// METHOD TAKES A STRING AS AN INPUT PARAMETER.

TESTDELEGATE TESTDELB = DELEGATE(STRING S) { CONSOLE.WRITELINE(S); };



// C# 3.0. A DELEGATE CAN BE INITIALIZED WITH

// A LAMBDA EXPRESSION. THE LAMBDA ALSO TAKES A STRING

// AS AN INPUT PARAMETER (X). THE TYPE OF X IS INFERRED BY THE COMPILER.

TESTDELEGATE TESTDELC = (X) => { CONSOLE.WRITELINE(X); };



// INVOKE THE DELEGATES.

TESTDELA("HELLO. MY NAME IS M AND I WRITE LINES.");

TESTDELB("THAT'S NOTHING. I'M ANONYMOUS AND ");

TESTDELC("I'M A FAMOUS AUTHOR.");



// KEEP CONSOLE WINDOW OPEN IN DEBUG MODE.

CONSOLE.WRITELINE("PRESS ANY KEY TO EXIT.");

CONSOLE.READKEY();

}

}

/* OUTPUT:

HELLO. MY NAME IS M AND I WRITE LINES.

THAT'S NOTHING. I'M ANONYMOUS AND

I'M A FAMOUS author.

PRESS ANY KEY TO EXIT.

*/

New Controls in ASP.Net 3.5

This article will describe the following Ajax extension related controls: ScriptManager, ScriptManagerProxy, Timer, UpdatePanel, UpdateProgress and List View in ASP.NET 3.5. The article will be divided into two parts; the first section covering Ajax extension related controls and how these controls have fundamentally change the approach of web development, the second will cover the List View control. The red circle in the below image highlights the controls covered in this article.



UpdatePanel

The UpdatePanel control, now built-in as part of ASP.Net 3.5, is responsible for partial page rendering of a web page. Meaning only part of a page is posted back to the server instead of the entire page. This helps to build rich User Interfaces, provides improved performance and quicker response time.

The following code listing shows two button controls: one within the UpdatePanel and the second outside of the UpdatePanel. If clicking on the Inside button only the contents inside the UpdatePanel will be updated (see Figure 2). If the outside button is clicked all the contents inside and outside of the UpdatePanel will be updated (see Figure 3).




Code Listing

Below is the code discussed in the UpdatePanel example:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="NewControls._Default" %>

UpdatePanel



Text="Inside" />


Text="Outside of UpdatePanel :">

protected void Page_Load(object sender, EventArgs e)

{

Label2.Text = System.DateTime.Now.ToString();

Label3.Text = System.DateTime.Now.ToString();

}

Properties of the UpdatePanel

The content of the UpdatePanel described in the code listing is declared within the ContentTemplate tag. The content of the ContentTemplate tag is posted back to the server asynchronously. Create the ContentTemplate's content declaratively or programmatically.

By default the UpdateMode property of UpdatePanel is set to Always meaning the contents of the UpdatePanel will be rendered whenever the page is posted back to server. Conversely setting the UpdateMode property to Conditional means the content of the UpdatePanel will be rendered in the following circumstances:

When the Update method is explicitly called from the UpdatePanel control

When a control defined as a trigger within the Triggers tag in the UpdatePanel and is responsible for postback. The control triggers an update of the contents within the panel explicitly and the control can be present either inside or outside of the UpdatePanel control.

When a child control of an UpdatePanel control is responsible for postback and the ChildrenAsTriggers property is set to true

When the UpdatePanel control is nested inside another UpdatePanel control and the parent UpdatePanel control is updated

The following code shows the Update method of the UpdatePanel being called provided the condition within the if block is satisfied.

Code Listing

protected void Button1_Click(object sender, EventArgs e)

{

if (condition.....)

{

UpdatePanel1.Update();

}

}

Nested UpdatePanel Controls

The UpdatePanel controls can be nested. If the parent UpdatePanel is refreshed, all the nested UpdatePanels are refreshed also.

The element

The above code sends not only the labels code when asynchronous post back occurs, but also the buttons code and the entire section of the UpdatePanel back to the client. However only the part which needs updating can be sent back to the server - meaning only the label part. To do this, Trigger elements need to be added into the UpdatePanel control as shown in the Code Listing below:

Code Listing

.................

Text="Inside" />

....................

The Trigger can be generated by any control in the form. It can be of two types: AsynchronousPostBackTrigger and PostBackTrigger. In this example AsynchronousPostBackTrigger is used. The PostBackTrigger will cause a full page post back whereas the AsynchronousPostBackTrigger will cause only a Asynchronous PostBack.

UpdatePanel Controls in Master Pages

To use the UpdatePanel control in a master page include the ScriptManager control on the master page. Then the ScriptManager control will become the ScriptManager control for all content pages. Remember the ScriptManager control can't be added in the content pages again when the master page has a ScriptManager control. To register scripts or services declaratively in a content page, add a ScriptManagerProxy control to that content page. If the master page does not have the ScriptManager control, have a separate ScriptManager control for each content page that contains an UpdatePanel control.

It is more logical to place inside each content page the required scripts and services using the ScriptManagerProxy control. Otherwise the Master Page will be responsible for including all the scripts and services required by all the content pages in the website.

Avoid partial-page rendering for a content page when the master page has a ScriptManager control by setting the EnablePartialRendering property of the ScriptManager control to false programmatically. Then the content page provided content page does not require partial-page rendering capabilities.

ScriptManager and ScriptManagerProxy

The ScriptManager is the most important control for an Ajax enabled web page. It provides Client side scripting and access to web service using javascript proxy classes. Using the UpdatePanel control provides partial page rendering capabilities. There can be only one ScriptManager control in an Ajax enabled webpage. If more than one ScriptManager control is added in the web page, the following exception will occur at runtime: Exception Details: System.InvalidOperationException: Only one instance of a ScriptManager can be added to the page.

Code Listing

The following is the code listing for the example master page:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="MasterPage.master.cs" Inherits="NewControls.MasterPage" %>

Master Page

However to modify the ScriptManager control of the master page, then have a scriptManagerproxy control in the content page. Note that to use ScriptManagerProxy control in the content page, there should be a ScriptManager control in master page.

Code Listing

The following code snippet is the the content page:

<%@ Page Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="NewControls.WebForm1" Title="Untitled Page" %>

function test() // test function in Common.js

{

alert("Content Page Functionality");

}

UpdateProgress

When doing the partial page update in an asynchronous mode of operation, UpdateProgress is very useful control to display the process status. In the figure below, when the start button is clicked the Processing . message is displayed indicating that the operation is in process and the button caption will be changed when the processing is finished (see Figure 5). The required code for this is listed below:








Code Listing

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UpdateProgress.aspx.cs" Inherits="NewControls.UpdateProgress" %>

Update Progress

Processing................

protected void Button1_Click(object sender, EventArgs e)

{

System.Threading.Thread.Sleep(6000);

Button1.Text = "End";

}

Note that there can be more than one UpdateProgress control in the web page and each UpdateProgress control can be associated with a separate UpdatePanel control. Alternatively there can only be one UpdateProgress control for multiple UpdatePanel control. That means one UpdateProgress control can be associated with all the UpdatePanel controls present in the web page.

Timer Control

To update any value or data on an interval basis, the Timer control is an ideal choice. In the following code listing the datetime is update every second as the interval attribute of timer control is set to 1000 millisecond i.e. 1 second.

Code Listing

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Timer.aspx.cs" Inherits="NewControls.Timer" %>

Timer Control

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

Label1.Text = DateTime.Now.ToString();

}

}

protected void Timer1_Tick(object sender, EventArgs e)

{

Label1.Text = DateTime.Now.ToString()

}







Conclusion

How the ASP.NET Ajax server controls can be used has been explained and demonstrated. These controls improve the response time against a request, helps to minimize postback and enables client-server communication without using client script, thus making web applications better than ever.