[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 434

 
kostural:
Подскажите пж. как закрыть часть прибыли (например: 50% от открытой сделки) ?

Lot = NormalizeDouble(OrderLots()/2,Digits);
 
Доброго вечера! Не вижу совпадений, когда два буфера равны между собой!!!! Код простой.
for(int A=1;A<300;A++ ){  
 
 if ( buf1[]== buf2[]){Print ( "  СОШЛОСЬ!!!!!!!!!!!!   " , " buf1[A]  " ,  buf1[A]   ,  " buf2[A]  " , buf2[A]  , "  A  " ,   A  );}  }
 
Вы видите, что на графике совпадения-то точно есть! Может,я как-то не так подхожу к вопросу? И надо как-то запоминать, где один буфер меньше, а где уже другой? Я пока писал, даже примерно прикинул как. Но что же нихватает привидёному коду?
 
Dimka-novitsek:
Доброго вечера! Не вижу совпадений, когда два буфера равны между собой!!!! Код простой. Вы видите, что на графике совпадения-то точно есть! Может,я как-то не так подхожу к вопросу? И надо как-то запоминать, где один буфер меньше, а где уже другой? Я пока писал, даже примерно прикинул как. Но что же нихватает привидёному коду?

https://www.mql4.com/ru/search#!keyword=%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D1%85%20%D1%87%D0%B8%D1%81%D0%B5%D0%BB
 

Добрый вечер! Подскажите пожалуйста как закрыть встречные ордера?

 
Dimka-novitsek:
Доброго вечера! Не вижу совпадений, когда два буфера равны между собой!!!! Код простой. Вы видите, что на графике совпадения-то точно есть! Может,я как-то не так подхожу к вопросу? И надо как-то запоминать, где один буфер меньше, а где уже другой? Я пока писал, даже примерно прикинул как. Но что же нихватает привидёному коду?
Коду всего хватает, а вот программисту не хватает знаний и внимательности/сообразительности, иначе он (программист) давно обратил бы внимание на строку "поиск", документацию, учебник и, возможно, посетил бы ветку для новичков, где рассказано как правильно работать с числами с плавающей точкой. А не пытался бы методом антинаучного тыка изучить "построение велосипеда".
 
Ruslan1:

Добрый вечер! Подскажите пожалуйста как закрыть встречные ордера?

https://docs.mql4.com/ru/trading/OrderCloseBy

 

Здравствуйте, у меня проблема. Я учусь писать на MQL и решил попробовать написать простой советник на основе экспоненциальной скользящей чисто для практики. Сделки открываются как надо, но почему-то в какой-то момент сделка закрывается и в истории отражается, что сделка закрыта по StopLoss, но его значение не совпадает с тем, что выставлено изначально. Помогите понять в чём дело. Вся работа со сделками в куске кода ниже.

if(total<1)
{
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}

if (MaCurrent < Close[2] && MaPrevious > Close[3] && (Close[1] > Close[2]+70*Point || Close[0] > Close[2]+70*Point))
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,
"EMA",16385,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}

if (MaCurrent > Close[2] && MaPrevious < Close[3] && (Close[0] < Close[1]-70*Point || Close[0] < Close[2]-70*Point))
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,
"EMA",16385,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}


}

return(0);
}

 


Спасибо! Попробую.

 
7777877:

Доброго времени суток. ЛЮДИ, НУ КТО-НИБУДЬ, ОТВЕТЬТЕ ПОЖАЛУЙСТА НА ВОПРОС (3-й раз уже размещаю). Вопрос по файловому указателю..

Давно бы уже разобрали текстовый файл, как устроен, из чего состоит. Распринтуйте положение курсора после каждого считывания строки, используя
int FileTell( int handle)
Сразу все станет ясно.
 

Как получить данные о средставах на счету на начало дня?

Причина обращения: