Yedelkin : Для каждого вида торгового запроса предусмотрены обязательные поля. Они должны быть заполнены. "Открытие позиции" или "Закрытие позиции" - это всего лишь результат выполнения конкретного торгового запроса, правила заполнения которого - одни и те же. Т.е. берите свой работающий вариант запроса "на открытие" и меняйте тип ордера. Ненужные обязательные поля заполняйте нулями.
sergeev :
zaten cevaplandın
Teşekkür ederim!
Başka bir soru ortaya çıktı: Aşağıdaki istek gönderilir ve bir pozisyon açılır, ancak stop ve kar yapılmaz. Onları zaten farklı şekillerde büktüler, ancak hiçbir şey yardımcı olmadı. Sorun nedir, neyi yanlış yapıyorum?
MqlTick latest_price; // Будет использоваться для текущих котировокif (! SymbolInfoTick ( _Symbol ,latest_price)) return ; // получить текущее значение котировки в структуру типа MqlTick
...
if (uBuy && opSell== false )
{
if (opBuy) return ; // при наличии позиции не добавлять к открытой позиции на покупку
mrequest.action = TRADE_ACTION_DEAL ; // немедленное исполнение
mrequest.price = NormalizeDouble (latest_price.ask, _Digits ); // последняя цена ask
mrequest.sl = NormalizeDouble (latest_price.ask - StopLoss* _Point , _Digits ); // Stop Loss
mrequest.tp = NormalizeDouble (latest_price.ask + TakeProfit* _Point , _Digits ); // Take Profit
mrequest.symbol = _Symbol ; // символ
mrequest.volume = WorkLot; // количество лотов для торговли
mrequest.magic = EA_Magic; // Magic Number
mrequest.type = ORDER_TYPE_BUY ; // ордер на покупку
mrequest.type_filling = ORDER_FILLING_FOK ; // тип исполнения ордера - все или ничего
mrequest.deviation=Slippage; // проскальзывание от текущей ценыOrderSend (mrequest,mresult); // отсылаем ордерif (mresult.retcode== 10009 || mresult.retcode== 10008 ) //запрос выполнен или ордер успешно помещен
{
Alert ( "Ордер Buy успешно помещен, тикет ордера #:" ,mresult.order, "!!" );
}
else
{
return ;
}
}
double summ= 0 ;//переменная, в которую все суммируется
int w= 0 ;//счетчик 3 удачных сумирований
int count_for_buf= 0 ;//Счетчик переходов по буферу ZigZag
while (w<= 3 )
{
summ=summ+ZigzagBuffer[rates_total-count_for_buf];
count_for_buf++;
if (ZigzagBuffer[rates_total-count_for_buf]!= 0 )//Увеличиваем счетчик, если используемое значение индикатора не равно нулю
{
w++;
}
}
Yani bir nedenden dolayı donuyor veya başka bir şey oluyor
WindSW : istek gönderilir ve bir pozisyon açılır, ancak stop veya kar yapılmaz. Onları zaten farklı şekillerde büktüler, ancak hiçbir şey yardımcı olmadı. Sorun nedir, neyi yanlış yapıyorum?
"Pozisyon açmak için" ticaret taleplerinin birkaç doldurma seçeneği olduğunu hatırlıyor musunuz? Bu seçeneklerden bazıları sl / tp ayarı sağlar, diğerleri sağlamaz. Başka bir deyişle, komisyoncunuzun ticaret modu nedir?
"Bir pozisyon açmak için" ticaret taleplerinin birkaç doldurma seçeneği olduğunu hatırlıyor musunuz? Bu seçeneklerden bazıları sl / tp ayarı sağlar, diğerleri sağlamaz. Başka bir deyişle, komisyoncunuzun ticaret modu nedir?
Komisyoncu Alpari. Manuel modda, değişim uygulamasında yalnızca yeni bir sipariş verilir. Piyasaya girmenin başka yolu yok. Exchange Yürütme isteğinin kastedildiğini anlıyorum. Teşekkürler, bunu bir şekilde anladım. Derleyicinin neden aşağıdaki satırlarda yemin ettiğini söyleyebilir misiniz:
if(CopyBuffer(ema,0,0,3,emaVal)<0) dönüş; // gösterge arabelleklerinin yeni değerlerini dizilere kopyalayın
ve
göstergeRelease(ema);
"Tür dönüştürme nedeniyle olası veri kaybı" uyarısı yazar. Burada neyin yanlış olduğunu bilmiyorum, dün akşamdan beri düzeltemiyorum.
Kapatma hariç tüm seçenekler listelenir. Bu yüzden soruyorum
zaten cevaplandın
"Bir pozisyonu kapatmak" sadece bir ticaret talebinin yerine getirilmesinin sonucudur, doldurma kuralları aynıdır.
Onlar. "açma" isteklerini alın ve sipariş türünü değiştirin.
Gerekli alanları sıfırlarla doldurun.
Yedelkin :
sergeev :Для каждого вида торгового запроса предусмотрены обязательные поля. Они должны быть заполнены. "Открытие позиции" или "Закрытие позиции" - это всего лишь результат выполнения конкретного торгового запроса, правила заполнения которого - одни и те же. Т.е. берите свой работающий вариант запроса "на открытие" и меняйте тип ордера. Ненужные обязательные поля заполняйте нулями.
zaten cevaplandın
Teşekkür ederim!
Başka bir soru ortaya çıktı: Aşağıdaki istek gönderilir ve bir pozisyon açılır, ancak stop ve kar yapılmaz. Onları zaten farklı şekillerde büktüler, ancak hiçbir şey yardımcı olmadı. Sorun nedir, neyi yanlış yapıyorum?
son 3 ZigZag değeri nasıl eklenir?
Yani bir nedenden dolayı donuyor veya başka bir şey oluyor"Pozisyon açmak için" ticaret taleplerinin birkaç doldurma seçeneği olduğunu hatırlıyor musunuz? Bu seçeneklerden bazıları sl / tp ayarı sağlar, diğerleri sağlamaz. Başka bir deyişle, komisyoncunuzun ticaret modu nedir?
"Bir pozisyon açmak için" ticaret taleplerinin birkaç doldurma seçeneği olduğunu hatırlıyor musunuz? Bu seçeneklerden bazıları sl / tp ayarı sağlar, diğerleri sağlamaz. Başka bir deyişle, komisyoncunuzun ticaret modu nedir?
Komisyoncu Alpari. Manuel modda, değişim uygulamasında yalnızca yeni bir sipariş verilir. Piyasaya girmenin başka yolu yok. Exchange Yürütme isteğinin kastedildiğini anlıyorum. Teşekkürler, bunu bir şekilde anladım. Derleyicinin neden aşağıdaki satırlarda yemin ettiğini söyleyebilir misiniz:
if(CopyBuffer(ema,0,0,3,emaVal)<0) dönüş; // gösterge arabelleklerinin yeni değerlerini dizilere kopyalayın
ve
göstergeRelease(ema);
"Tür dönüştürme nedeniyle olası veri kaybı" uyarısı yazar. Burada neyin yanlış olduğunu bilmiyorum, dün akşamdan beri düzeltemiyorum.
if(CopyBuffer(ema,0,0,3,emaVal)<0) dönüş; // gösterge arabelleklerinin yeni değerlerini dizilere kopyalayın
ve
göstergeRelease(ema);
"Tür dönüştürme nedeniyle olası veri kaybı" uyarısı yazar. Burada neyin yanlış olduğunu bilmiyorum, dün akşamdan beri düzeltemiyorum.
ema değişkeninin türü nedir?
Açık. Gösterge tutamaçlarını depolamak için değişkenin ne tür olması gerektiğini görün ve buna göre ayarlayın.
son 3 ZigZag değeri nasıl eklenir?
Yani bir nedenden dolayı donuyor veya başka bir şey oluyorSürümümü sunacağım: