[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 18
Não se trata de stoplots, trata-se de fechar a posição assim que o preço tocar o MA
Que assim seja, foi você quem escreveu sobre as paradas...) Mas não consigo entender porque não funciona sem o código. A peça acima não é muito informativa.
Seja como for, foi você quem escreveu sobre rolhas...). Mesmo assim, sem o código é impossível entender por que não funciona, a peça postada é completamente não-informativa.
Eu devo ter me expressado muito equivocadamente, peço desculpas, eu quis dizer que a própria MA deveria servir como uma parada para a perda
... ... a posição foi fechada assim que o preço tocou MA
E o código é extremamente primitivo:
Ticket=OrderTicket();
Tip =OrderType();
Lot =OrderLots();
MA2C=iMA(NULL,0, Period_MA2,0,MODE_SMA,PRICE_CLOSE,0);//Есть две MA с разным периодом.
MA3C=iMA(NULL,0, Period_MA3,0,MODE_SMA,PRICE_CLOSE,0);//И вот с такими параметрами.//Так же есть условия, при которых по идее должны срабатывать // функции закрытия ордеров.RefreshRates();if( Tip==0&&Bid== MA2C)//Обозначение типа ордера и условия закрытия{
CloseBuy=true;// Закрыть Buy}RefreshRates();if( Tip==0&&Bid== MA3C){
CloseBuy=true;// Закрыть Buy}RefreshRates();if( Tip==1&&Ask== MA2C){
CloseSell=true;// Закрыть Sell}RefreshRates();if( Tip==1&&Ask== MA3C){
CloseSell=true;// Закрыть Sell}// Закрытие ордеровwhile(true)// Цикл закрытия орд.{if( Tip==0&& CloseBuy==true)// Открыт ордер Buy..{//и есть критерий закрAlert("Попытка закрыть Buy ", Ticket,". Ожидание ответа..");RefreshRates();// Обновление данных
ALERT=OrderClose( Ticket, Lot,Bid,3,Blue);// Закрытие Buyif( ALERT==true)// Получилось :){Alert("Закрыт ордер Buy ", Ticket);break;// Выход из цикла закр}if( Fun_Error(GetLastError())==1)// Обработка ошибокcontinue;// Повторная попыткаreturn;// Выход из start()}if( Tip==1&& CloseSell==true)// Открыт ордер Sell..{// и есть критерий закрAlert("Попытка закрыть Sell ", Ticket,". Ожидание ответа..");RefreshRates();// Обновление данных
ALERT=OrderClose( Ticket, Lot,Ask,3,Red);// Закрытие Sellif( ALERT==true)// Получилось :){Alert("Закрыт ордер Sell ", Ticket);break;// Выход из цикла закр}if( Fun_Error(GetLastError())==1)// Обработка ошибокcontinue;// Повторная попыткаreturn;// Выход из start()}break;// Выход из while}
Eu já acho que 4 condições podem ser mudadas para 2
Symb=Symbol();// Название фин.инстр.
Total=0;// Количество ордеровfor(int i=1; i<=OrdersTotal(); i++)// Цикл перебора ордер{if(OrderSelect( i-1, SELECT_BY_POS)==true)// Если есть следующий{// Анализ ордеров:if(OrderSymbol()!= Symb)continue;// Не наш фин. инструмif(OrderType()>1)// Попался отложенный{Alert("Обнаружен отложенный ордер. Эксперт не работает.");return;// Выход из start()}
Total++;// Счётчик рыночн. ордif( Total>1)// Не более одного орд{Alert("Несколько рыночных ордеров. Эксперт не работает.");return;// Выход из start()}
Ticket=OrderTicket();// Номер выбранн. орд.
Tip =OrderType();// Тип выбранного орд.
Lot =OrderLots();// Количество лотов}//И далее как выше...
É importante para mim entender se isso é possível em princípio, porque quando testado no modo de visualização, os pedidos não fecham no MA
>> Coloque todo o código lá fora, ainda não há cheiro de rolhas aqui...
Não se trata de rolhas, trata-se de fechar uma posição assim que o preço toca o MA
Não se trata de stoplots, trata-se de fechar a posição assim que o preço tocar o MA
Que assim seja, foi você quem escreveu sobre as paradas...) Mas não consigo entender porque não funciona sem o código. A peça acima não é muito informativa.
Seja como for, foi você quem escreveu sobre rolhas...). Mesmo assim, sem o código é impossível entender por que não funciona, a peça postada é completamente não-informativa.
Eu devo ter me expressado muito equivocadamente, peço desculpas, eu quis dizer que a própria MA deveria servir como uma parada para a perda
... ... a posição foi fechada assim que o preço tocou MA
E o código é extremamente primitivo:
Eu já acho que 4 condições podem ser mudadas para 2
Então é assim) De qualquer forma, é uma peça ilusória, os vagões são construídos a preços de Licitação e para compará-los assim... Eu não sei.
Algo em seu código, OrderSelect não vê?
É o padrão, a partir de um livro didático:
É importante para mim entender se isso é possível em princípio, porque quando testado no modo de visualização, os pedidos não fecham no MAQuero saber se é possível fazer isso em princípio porque durante os testes em modo de visualização, as ordens não são fechadas no MA
Em princípio, isso é possível. Você só tem uma única ordem possível em seu sistema?
Tente normalizar os preços de Licitações/Propostas e os valores de MA para igualdade, é necessário...
Por que você não usa seu Expert Advisor? Eu o teria corrigido há muito tempo.
Em princípio, isso é possível. Você só tem uma única ordem possível em seu sistema?
Tente normalizar os preços de Licitações/Propostas e os valores de MA para igualdade, é necessário...
Por que você não usa seu Expert Advisor? Eu o teria corrigido há muito tempo.
Depois disso, minha cabeça começou a girar...
Não) Para um graal como para outras galáxias, apenas tentativas de realizar e melhorar TC.
Eu não consegui colocar todo o código no correio, então estou anexando
Depois disso, minha cabeça começou a girar...
Não) O Graal é como outra galáxia, apenas uma tentativa de implementar e melhorar a TC.
Eu não consegui colocar todo o código neste posto, então estou colando aqui.
Mas, em princípio, funciona de alguma forma:
A única coisa que removi foi o aumento do lote. Pensei que você tinha dito que as ordens não estão fechadas?
Então, como...?
...normalizar os preços de Licitação/Ask e os valores de MA ao comparar para igualdade...
Só não entendo bem como normalizar... NormalizeDuplo(Pergunte, Dígitos) ?
O problema é atual, ainda me pergunto como conseguir que as encomendas sejam fechadas assim que o preço de MA for alcançado.
Após a normalização, por algum motivo, um erro saiu durante a compilação, e na parte do código onde não foi tocado de forma alguma.