<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Комментарии на: Язык MQL&#160;&#8212; Урок 5 &#171;открытие ордеров&#187;</title>
	<atom:link href="http://mql4you.ru/mql-school/yazyk-mql-urok-5.html/feed" rel="self" type="application/rss+xml" />
	<link>http://mql4you.ru/mql-school/yazyk-mql-urok-5.html</link>
	<description>MQL для чайников, программирование на MQL4, MQL5</description>
	<pubDate>Sun, 05 Feb 2012 12:39:40 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>От: palt</title>
		<link>http://mql4you.ru/mql-school/yazyk-mql-urok-5.html/comment-page-1#comment-394</link>
		<dc:creator>palt</dc:creator>
		<pubDate>Fri, 12 Aug 2011 04:22:52 +0000</pubDate>
		<guid isPermaLink="false">http://mql4you.ru/?p=187#comment-394</guid>
		<description>&lt;strong&gt;Андрей&lt;/strong&gt;
В справке по языку. Вызывается по клавише F1 в редакторе.</description>
		<content:encoded><![CDATA[<p><strong>Андрей</strong></p><p>В справке по языку. Вызывается по клавише F1 в редакторе.</p>]]></content:encoded>
	</item>
	<item>
		<title>От: palt</title>
		<link>http://mql4you.ru/mql-school/yazyk-mql-urok-5.html/comment-page-1#comment-390</link>
		<dc:creator>palt</dc:creator>
		<pubDate>Fri, 12 Aug 2011 04:07:50 +0000</pubDate>
		<guid isPermaLink="false">http://mql4you.ru/?p=187#comment-390</guid>
		<description>&lt;strong&gt;Сергей&lt;/strong&gt;
Это вопрос не по программированию, а на логику. Достаточно немного подумать и решение получается простейшим: проверять есть ли открытые ордера
int Count=0;
for(int i=OrdersTotal() −1;i&gt;=0;i--)
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) Count++;
и если их нет, то открывать новый
if(Count==0) NewOrder(OP_SELL,1);</description>
		<content:encoded><![CDATA[<p><strong>Сергей</strong></p><p>Это вопрос не по программированию, а на логику. Достаточно немного подумать и решение получается простейшим: проверять есть ли открытые ордера</p><p>int Count=0;</p><p>for(int i=OrdersTotal() &minus;1;i>=0;i--)</p><p>if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) Count++;</p><p>и если их нет, то открывать новый</p><p>if(Count==0) NewOrder(OP_SELL,1);</p>]]></content:encoded>
	</item>
	<item>
		<title>От: palt</title>
		<link>http://mql4you.ru/mql-school/yazyk-mql-urok-5.html/comment-page-1#comment-385</link>
		<dc:creator>palt</dc:creator>
		<pubDate>Fri, 12 Aug 2011 03:51:02 +0000</pubDate>
		<guid isPermaLink="false">http://mql4you.ru/?p=187#comment-385</guid>
		<description>&lt;strong&gt;Алексей&lt;/strong&gt;
Вызвать функцию открытия ордера 5 раз.</description>
		<content:encoded><![CDATA[<p><strong>Алексей</strong></p><p>Вызвать функцию открытия ордера 5 раз.</p>]]></content:encoded>
	</item>
	<item>
		<title>От: palt</title>
		<link>http://mql4you.ru/mql-school/yazyk-mql-urok-5.html/comment-page-1#comment-383</link>
		<dc:creator>palt</dc:creator>
		<pubDate>Fri, 12 Aug 2011 03:48:57 +0000</pubDate>
		<guid isPermaLink="false">http://mql4you.ru/?p=187#comment-383</guid>
		<description>&lt;strong&gt;Grig&lt;/strong&gt;
Компилятор сообщает что отсутствует описание переменных. Прежде чем использовать переменные их необходимо определить. Например как в статье:
double buyTP=0; //тейкпрофит для покупки
double sellTP=0; //тейкпрофит для продажи
double buySL=0; //стоплосс для покупки
double sellSL=0; //стоплосс для продажи</description>
		<content:encoded><![CDATA[<p><strong>Grig</strong></p><p>Компилятор сообщает что отсутствует описание переменных. Прежде чем использовать переменные их необходимо определить. Например как в статье:</p><p>double buyTP=0; //тейкпрофит для покупки</p><p>double sellTP=0; //тейкпрофит для продажи</p><p>double buySL=0; //стоплосс для покупки</p><p>double sellSL=0; //стоплосс для продажи</p>]]></content:encoded>
	</item>
	<item>
		<title>От: Андрей</title>
		<link>http://mql4you.ru/mql-school/yazyk-mql-urok-5.html/comment-page-1#comment-373</link>
		<dc:creator>Андрей</dc:creator>
		<pubDate>Mon, 25 Jul 2011 17:16:39 +0000</pubDate>
		<guid isPermaLink="false">http://mql4you.ru/?p=187#comment-373</guid>
		<description>и еще вопрос где можно посмотреть список всех команд, знаков, описание их значения?</description>
		<content:encoded><![CDATA[<p>и еще вопрос где можно посмотреть список всех команд, знаков, описание их значения?</p>]]></content:encoded>
	</item>
	<item>
		<title>От: Сергей</title>
		<link>http://mql4you.ru/mql-school/yazyk-mql-urok-5.html/comment-page-1#comment-368</link>
		<dc:creator>Сергей</dc:creator>
		<pubDate>Fri, 08 Jul 2011 12:38:44 +0000</pubDate>
		<guid isPermaLink="false">http://mql4you.ru/?p=187#comment-368</guid>
		<description>Супер статья. Нашёл что искал! Спасибо! 

У меня есть ещё вопрос. Буду очень благодарен если ответите. Я немножко переделал скрипт, только не спрашивайте мне для чего он нужен :) Т.е. он мне нужен точно, если захотите узнать я скажу.

//+------------------------------------------------------------------+
//&#124;                                                         test.mq4 &#124;
//&#124;                      Copyright © 2009, MetaQuotes Software Corp. &#124;
//&#124;                                        http://www.metaquotes.net &#124;
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
#property show_inputs
extern int TakeProfit=10;
extern int StopLoss=0;
//+------------------------------------------------------------------+
int start()
{
 RefreshRates();
NewOrder(OP_SELL,1);

return(0);}
//+------------------------------------------------------------------+
int NewOrder(int Cmd,double Lot)
{double TP=0; //тейкпрофит
 double SL=0; //стоплосс
 double PR=0; //Цена
 while(!IsTradeAllowed()) Sleep(100);
 if(Cmd==OP_BUY)
   {PR=Ask;
    if(TakeProfit&gt;0) TP=Ask+TakeProfit*Point;
    if(StopLoss&gt;0) SL=Ask-StopLoss*Point;}
 if(Cmd==OP_SELL)
   {PR=Bid;
    if(TakeProfit&gt;0) TP=Bid-TakeProfit*Point;
    if(StopLoss&gt;0) SL=Bid+StopLoss*Point;}
 int tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,0,CLR_NONE);
 if(tic&lt;0) Print("Ошибка открытия ордера: ",GetLastError());
return(tic);}
//+------------------------------------------------------------------+





Я так понял вот эта часть
__________________________
int start()
{
 RefreshRates();
NewOrder(OP_SELL,1);
return(0);}
__________________________

будет выполняться постоянно через каждые Sleep(100);

Мне же необходимо, чтобы открывался такой ордер сразу как только старый закрылся. Как мне лучше это всё организовать? Не хочется просто грузить процессор и сервер через каждые 10 секунд. 
Спасибо!</description>
		<content:encoded><![CDATA[<p>Супер статья. Нашёл что искал! Спасибо! </p><p>У меня есть ещё вопрос. Буду очень благодарен если ответите. Я немножко переделал скрипт, только не спрашивайте мне для чего он нужен <img src='http://mql4you.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> Т.е. он мне нужен точно, если захотите узнать я скажу.</p><p>//&plusmn;-----------------------------------------------------------------+</p><p>//|                                                         test.mq4 |</p><p>//|                      Copyright © 2009, MetaQuotes Software Corp. |</p><p>//|                                        <a href="http://www.metaquotes.net">www.metaquotes.net</a> |</p><p>//&plusmn;-----------------------------------------------------------------+</p><p>#property copyright &laquo;Copyright © 2009, MetaQuotes Software Corp.&raquo;</p><p>#property link      &laquo;http://www.metaquotes.net&raquo;</p><p>#property show_inputs</p><p>extern int TakeProfit=10;</p><p>extern int StopLoss=0;</p><p>//&plusmn;-----------------------------------------------------------------+</p><p>int start()</p><p>{</p><p>RefreshRates();</p><p>NewOrder(OP_SELL,1);</p><p>return(0);}</p><p>//&plusmn;-----------------------------------------------------------------+</p><p>int NewOrder(int Cmd,double Lot)</p><p>{double TP=0; //тейкпрофит</p><p>double SL=0; //стоплосс</p><p>double PR=0; //Цена</p><p>while(!IsTradeAllowed()) Sleep(100);</p><p>if(Cmd==OP_BUY)</p><p>{PR=Ask;</p><p>if(TakeProfit&gt;0) TP=Ask+TakeProfit*Point;</p><p>if(StopLoss&gt;0) SL=Ask-StopLoss*Point;}</p><p>if(Cmd==OP_SELL)</p><p>{PR=Bid;</p><p>if(TakeProfit&gt;0) TP=Bid-TakeProfit*Point;</p><p>if(StopLoss&gt;0) SL=Bid+StopLoss*Point;}</p><p>int tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,0,CLR_NONE);</p><p>if(tic&lt;0) Print("Ошибка открытия ордера: ",GetLastError());</p><p>return(tic);}</p><p>//&plusmn;-----------------------------------------------------------------+</p><p>Я так понял вот эта часть</p><p>__________________________</p><p>int start()</p><p>{</p><p>RefreshRates();</p><p>NewOrder(OP_SELL,1);</p><p>return(0);}</p><p>__________________________</p><p>будет выполняться постоянно через каждые Sleep(100);</p><p>Мне же необходимо, чтобы открывался такой ордер сразу как только старый закрылся. Как мне лучше это всё организовать? Не хочется просто грузить процессор и сервер через каждые 10 секунд. </p><p>Спасибо!</p>]]></content:encoded>
	</item>
	<item>
		<title>От: Алексей</title>
		<link>http://mql4you.ru/mql-school/yazyk-mql-urok-5.html/comment-page-1#comment-360</link>
		<dc:creator>Алексей</dc:creator>
		<pubDate>Thu, 16 Jun 2011 18:38:03 +0000</pubDate>
		<guid isPermaLink="false">http://mql4you.ru/?p=187#comment-360</guid>
		<description>Скажите, пожалуйста, а как сделать так, чтобы открывалось, например, 5 ордеров одновременно, какую функцию надо открывать?</description>
		<content:encoded><![CDATA[<p>Скажите, пожалуйста, а как сделать так, чтобы открывалось, например, 5 ордеров одновременно, какую функцию надо открывать?</p>]]></content:encoded>
	</item>
	<item>
		<title>От: Grig</title>
		<link>http://mql4you.ru/mql-school/yazyk-mql-urok-5.html/comment-page-1#comment-358</link>
		<dc:creator>Grig</dc:creator>
		<pubDate>Thu, 16 Jun 2011 07:25:32 +0000</pubDate>
		<guid isPermaLink="false">http://mql4you.ru/?p=187#comment-358</guid>
		<description>при компиляции выдает 
'BuySL' - variable not defined	
'BuyTP' - variable not defined	
'SellSL' - variable not defined	
'SellTP' - variable not defined	
что надо изменить в коде?</description>
		<content:encoded><![CDATA[<p>при компиляции выдает </p><p>&#39;BuySL&#39;&nbsp;&mdash; variable not defined	</p><p>&#39;BuyTP&#39;&nbsp;&mdash; variable not defined	</p><p>&#39;SellSL&#39;&nbsp;&mdash; variable not defined	</p><p>&#39;SellTP&#39;&nbsp;&mdash; variable not defined	</p><p>что надо изменить в коде?</p>]]></content:encoded>
	</item>
	<item>
		<title>От: palt</title>
		<link>http://mql4you.ru/mql-school/yazyk-mql-urok-5.html/comment-page-1#comment-348</link>
		<dc:creator>palt</dc:creator>
		<pubDate>Fri, 27 May 2011 14:39:07 +0000</pubDate>
		<guid isPermaLink="false">http://mql4you.ru/?p=187#comment-348</guid>
		<description>Это означает что нехватает закрывающей скобки. Например: Alert(Symbol();</description>
		<content:encoded><![CDATA[<p>Это означает что нехватает закрывающей скобки. Например: Alert(Symbol();</p>]]></content:encoded>
	</item>
	<item>
		<title>От: Ryan</title>
		<link>http://mql4you.ru/mql-school/yazyk-mql-urok-5.html/comment-page-1#comment-347</link>
		<dc:creator>Ryan</dc:creator>
		<pubDate>Fri, 27 May 2011 14:03:49 +0000</pubDate>
		<guid isPermaLink="false">http://mql4you.ru/?p=187#comment-347</guid>
		<description>'\end_of_program' - unbalanced left parenthesis	C:\Program Files\Alpari MT4\experts\scripts\test.mq4 (47, 1)
что это означает? вылезает при компилировании</description>
		<content:encoded><![CDATA[<p>&#39;\end_of_program&#39;&nbsp;&mdash; unbalanced left parenthesis	C:\Program Files\Alpari MT4\experts\scripts\test.mq4 (47, 1)</p><p>что это означает? вылезает при компилировании</p>]]></content:encoded>
	</item>
</channel>
</rss>

