a:6:{i:0;s:11530:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Sales Specialist Financial Markets, Including Otc Products</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.sakshics.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.sakshics.in/job-hiring.htm" title="Job Hiring">Job Hiring</a>
																
					<b class="ffv p2px">&rsaquo;</b> Sales Specialist Financial Markets, Including Otc Products</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 1 - 2 Years</p>
				
									
					<div>
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="266675">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="657245"><input type="hidden" name="subject" value="Applied for Sales Specialist Financial Markets, Including Otc Products">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">Hi,<br />
<br />
urgent opening for Sales Specialist<br />
<br />
for a leading International Company dealing into Commodities & Foreign Exchange<br />
Native(Tamil/Telugu)fluent English language(additional Indian languages would be considered a plus)<br />
<br />
Indian Sales / Senior Sales / Business Development Manager <br />
Job office: Mumbai, India <br />
Salary: base salary plus attractive bonus/benefits based..on performance <br />
<br />
REQUIREMENTS:- <br />
1)very good knowledge of financial markets, including OTC products <br />
2)at least 2 years of sales experience with successful track record <br />
3)strong customer orientation, excellent selling /interpersonal skills <br />
4)strong organizational, analytical/time-management skills <br />
5)very good knowledge of Microsoft operating systems/Office suite (Word, Excel, PowerPoint, Outlook) <br />
6)good knowledge of Metatrader 4 platform would be considered an advantage <br />
7)leadership skills, enthusiastic, proactive/entrepreneurial <br />
<br />
RESPONSIBILITIES :- <br />
1)dealing with potential customers /Introducing Brokers <br />
2)heading sales/customer support teams <br />
3)formulating/implementing sales strategies to increase sales revenues <br />
4)organizing financial training seminars for customers <br />
5)complying with all business policies/procedures of the company <br />
6)reporting to the Country manager in a timely/accurate way <br />
7)achieving sales targets/service benchmarks <br />
8)looking after the Indian website <br />
9)developing new marketing tools</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  To  3  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">Banking / Investments / Stock Market / Financial Services</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">1 - 2 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree, B.Com, M.B.A/PGDM</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">dealing with customers & introducing Brokers</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"></span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">heading sales/customer support teams </span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"></span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">formulating/implementing sales strategies to increase sales revenues</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"></span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">organizing financial training seminars for customers</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"></span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">complying with all business policies/</span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 alpha75 p5px">Contact Person</td>
						<td class="p5px">dixit</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Mobile </td>
						<td class="p5px">9987746192 </td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="266675">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="657245"><input type="hidden" name="subject" value="Applied for Sales Specialist Financial Markets, Including Otc Products">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-navi-mumbai.htm" title="Jobs in Navi Mumbai">Navi Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-thane.htm" title="Jobs in Thane">Thane</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxation</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-banking-investment-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock Market / Financial Services</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-transportation-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping Jobs">Cargo / Freight / Transportation / Packaging / Shipping</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Training / Counselling / Academic</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-merchandser-fid.htm" title="Fashion Designing & Merchandising Jobs">Fashion Designing & Merchandising</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-financial-services-fid.htm" title="Finance / Stock Market Jobs">Finance / Stock Market</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administration / IR</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-insurance-loan-credit-fid.htm" title="Insurance / Loan / Credit Management Jobs">Insurance / Loan / Credit Management</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-mobile-software-application-fid.htm" title="IT Software - Mobile Technologies Jobs">IT Software - Mobile Technologies</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Customer Service / Operations</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</div>
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'eDRZVnhIT3l4enNmVExoVHdHUHN5dz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:143:"Sales Specialist Financial Markets, Including Otc Products Jobs in India - Vacancy in Banking / Investments / Stock Market / Financial Services";i:2;s:342:"Sales Specialist Financial Markets, Including Otc Products Jobs,Sales Specialist Financial Markets, Including Otc Products Jobs in ,Sales Specialist Financial Markets, Including Otc Products Vacancy in ,Sales Specialist Financial Markets, Including Otc Products jobs in India,Banking / Investments / Stock Market / Financial Services jobs in ";i:3;s:592:"Apply for Sales Specialist Financial Markets, Including Otc Products Jobs in  India - Sales Specialist Financial Markets, Including Otc Products Vacancy  in Banking / Investments / Stock Market / Financial Services field with 1 to 2 years Work Experience, Key Skills are dealing with customers & introducing Brokers,,heading sales/customer support teams ,,formulating/implementing sales strategies to increase sales revenues,,organizing financial training seminars for customers,,complying with all business policies/, Banking / Investments / Stock Market / Financial Services jobs in   India";i:4;s:2386:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Sales Specialist Financial Markets, Including Otc Products",
		  "baseSalary": " 2  Lac  To  3  Lac ",
		  "description": "Hi,

urgent opening for Sales Specialist

for a leading International Company dealing into Commodities & Foreign Exchange
Native(Tamil/Telugu)fluent English language(additional Indian languages would be considered a plus)

Indian Sales / Senior Sales / Business Development Manager 
Job office: Mumbai, India 
Salary: base salary plus attractive bonus/benefits based..on performance 

REQUIREMENTS:- 
1)very good knowledge of financial markets, including OTC products 
2)at least 2 years of sales experience with successful track record 
3)strong customer orientation, excellent selling /interpersonal skills 
4)strong organizational, analytical/time-management skills 
5)very good knowledge of Microsoft operating systems/Office suite (Word, Excel, PowerPoint, Outlook) 
6)good knowledge of Metatrader 4 platform would be considered an advantage 
7)leadership skills, enthusiastic, proactive/entrepreneurial 

RESPONSIBILITIES :- 
1)dealing with potential customers /Introducing Brokers 
2)heading sales/customer support teams 
3)formulating/implementing sales strategies to increase sales revenues 
4)organizing financial training seminars for customers 
5)complying with all business policies/procedures of the company 
6)reporting to the Country manager in a timely/accurate way 
7)achieving sales targets/service benchmarks 
8)looking after the Indian website 
9)developing new marketing tools",
		  "educationRequirements": "Other Bachelor Degree, B.Com, M.B.A/PGDM",
		  "experienceRequirements": "1 - 2 Years",
		  "industry": "Banking / Investments / Stock Market / Financial Services",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "",
		      "addressRegion": ""
		    }
		  },
		 "qualifications": "Other Bachelor Degree, B.Com, M.B.A/PGDM",
		     "skills": "dealing with customers & introducing Brokers,,heading sales/customer support teams ,,formulating/implementing sales strategies to increase sales revenues,,organizing financial training seminars for customers,,complying with all business policies/"
		  }
		</script>
		";i:5;N;}