mudança perto de abrir. Se começar a contar por aberto, então escave nesta direção como mudar este valor. Não posso rodar o terminal beta agora para ver através de seu editor.
Altere o valor aqui com antecedência:
//--- counting from 0 to rates_totalArraySetAsSeries(ExtLineBuffer,false);
ArraySetAsSeries(close,false);
//--- first calculation or number of bars was changed
Eu escrevi um EA, mas ele não funciona)))) ou não funciona corretamente. tenho andado bisbilhotando, consertando muitas coisas, mas mesmo assim, o EA não funciona.
aqui está um fragmento do cálculo das decisões comerciais com base no indicador RSI :
int Ticket1_RSI=-1, Ticket2_RSI=-1; // Номера открытых ордеровexterndouble Lot=0.01; // Объем лотаint RSI() // Функция RSI
{
double T, P;
double RSI_0, RSI_1, RSI_2; // Значения индикатора RSI//------------------Значения индикатора---------------------------------------
RSI_0=iRSI(Symbol(), 0, 14, PRICE_CLOSE, 0); // Получаем данные от RSI
RSI_1=iRSI(Symbol(), 0, 14, PRICE_CLOSE, 1); // Получаем данные от RSI
RSI_2=iRSI(Symbol(), 0, 14, PRICE_CLOSE, 2); // Получаем данные от RSI //------------------Условие на продажу--------------------------------- if (RSI_1 > RSI_0 > 70 && RSI_1 > RSI_2) // Если индикатор превышает значение 70 и виден поворот вниз
{
if (Ticket2_RSI > 0) // Если имеется ордер на покупку
OrderClose(Ticket2_RSI, OrderLots(), Bid, 0, 0); // Закрытие ордера на покупкуif (Ticket1_RSI <= 0) // Если ордера на продажу нет
{
Ticket1_RSI=OrderSend(Symbol(), OP_SELL, Lot, Bid, 2, 0, 0); // Открытие ордера на продажуif (OrderSelect(Ticket1_RSI, SELECT_BY_TICKET)==true)
{
T=OrderOpenTime();
P=OrderOpenPrice();
ObjectCreate("Arrow", 22, 0, T, P); // Создание индикатора ордера
ObjectSet("Arrow", OBJPROP_COLOR, IndianRed); // Изменение цвета в мутно-красноватый
ObjectSet("Arrow", OBJPROP_ARROWCODE, 242); // Направление стрелки внизObjectCreate("Text", 21, 0, T, P); // Создание текстового объекта
ObjectSetText("Text", "Open sell-order by RSI", 6, "Times New Roman", Navy); // Текст, шрифт, стиль, цвет
}
}
}
//-------------------Условие на покупку-------------------------------- if (RSI_1 < RSI_0 < 30 && RSI_1 < RSI_2) // Если индикатор ниже значения 30 и виден поворот вверх
{
if (Ticket1_RSI > 0) // Если имеется ордер на продажу
OrderClose(Ticket1_RSI, OrderLots(), Ask, 0, 0); // Закрытие ордера на продажуif (Ticket2_RSI <= 0) // Если ордера на продажу нет
{
Ticket2_RSI=OrderSend(Symbol(), OP_BUY, Lot, Ask, 2, 0, 0); // Открытие ордера на покупкуif (OrderSelect(Ticket2_RSI, SELECT_BY_TICKET)==true)
{
T=OrderOpenTime();
P=OrderOpenPrice();
ObjectCreate("Arrow", 22, 0, T, P); // Создание индикатора ордера
ObjectSet("Arrow", OBJPROP_COLOR, LawnGreen); // Изменение цвета в ярко-зеленый
ObjectSet("Arrow", OBJPROP_ARROWCODE, 241); // Направление стрелки вверхObjectCreate("Text", 21, 0, T, P); // Создание текстового объекта
ObjectSetText("Text", "Open buy-order by RSI", 6, "Times New Roman", Navy); // Текст, шрифт, стиль, цвет
}
}
}
//-------------------------------------------------------------------- return;
}
A questão é que a EA abre imediatamente uma ordem de compra, apesar do valor do indicador, e não quer fechá-la. Objetos como texto e flechas não aparecem.
Ajude-me a descobrir isto))) eu mesmo sou novo nisto
Eu escrevi um EA, mas ele não funciona)))) ou não funciona corretamente. tenho andado bisbilhotando, consertando muitas coisas, mas mesmo assim, o EA não funciona.
aqui está um fragmento do cálculo das decisões comerciais com base no indicador RSI :
A questão é que a EA abre imediatamente uma ordem de compra, apesar do valor do indicador, e não quer fechá-la. Objetos como texto e flechas não aparecem.
Ajude-me a descobrir isto))) eu mesmo sou novo nisto
if (RSI_1 > RSI_0 && RSI_0 > 70 && RSI_1 > RSI_2) // Если индикатор превышает значение 70 и виден поворот вниз
Então você tem que escrever cada desigualdade separadamente nas condições? Se você generalizar de alguma forma, isso será visto como um erro? Então por que o programa diz que não há erros na compilação?
Então você tem que escrever cada desigualdade separadamente nas condições? Se você generalizá-la de alguma forma, ela será percebida como um erro? Então por que o programa diz que não há erro na compilação?
Não há erro, simplesmente não se obtém o resultado que se espera.
Integer: Não vale a pena mudar perto de Abrir, haverá poucas mudanças. É mais fácil não se preocupar com tais disparates, mas sim tirar dados da barra formada.
Não há erro, você simplesmente não obtém o resultado que estava esperando.
Eu percebi)) uma ordem foi aberta imediatamente sem mais mudanças, pois tive que escrever NULL em vez de Symbol() na linha:
RSI_1=iRSI(Symbol(), 0, 14, PRICE_CLOSE, 1); // Получаем данные от RSI
É preciso escrever NULL em vez de Symbol(), porque há uma discrepância nos tipos de variáveis. Por causa disso, eu vi o RSI como um valor nulo, então eu o abri imediatamente, porque a condição funcionou.
Agora eu o consertei e tudo está bem.
O único problema é que os objetos são criados apenas uma vez no primeiro comércio.
Nesta situação, é preciso acrescentar ao código. Criar uma variável externa, por exemplo Appled_Price.
E você muda todo o PREÇO_CLOSE no código para Appled_Price.
Ah, sim, desculpe, eu quis dizer as novas construções, e há um código um pouco incomum.
É isso mesmo, o código não tem preço livre, tudo está em arrays, você simplesmente não pode mudá-lo, eu tentei (((
E se funcionou, como fazer uma seleção a partir de uma lista suspensa (como na foto da minha pergunta)?
É isso mesmo, não há preço livre no código, você não pode simplesmente substituí-lo(((
Tente aqui
mudança perto de abrir. Se começar a contar por aberto, então escave nesta direção como mudar este valor. Não posso rodar o terminal beta agora para ver através de seu editor.
Altere o valor aqui com antecedência:
Saudações a todos))
Eu escrevi um EA, mas ele não funciona)))) ou não funciona corretamente. tenho andado bisbilhotando, consertando muitas coisas, mas mesmo assim, o EA não funciona.
aqui está um fragmento do cálculo das decisões comerciais com base no indicador RSI :
//--------------------Данные------------------------------------
A questão é que a EA abre imediatamente uma ordem de compra, apesar do valor do indicador, e não quer fechá-la. Objetos como texto e flechas não aparecem.
Ajude-me a descobrir isto))) eu mesmo sou novo nisto
Saudações a todos))
Eu escrevi um EA, mas ele não funciona)))) ou não funciona corretamente. tenho andado bisbilhotando, consertando muitas coisas, mas mesmo assim, o EA não funciona.
aqui está um fragmento do cálculo das decisões comerciais com base no indicador RSI :
//--------------------Данные------------------------------------
A questão é que a EA abre imediatamente uma ordem de compra, apesar do valor do indicador, e não quer fechá-la. Objetos como texto e flechas não aparecem.
Ajude-me a descobrir isto))) eu mesmo sou novo nisto
Então você tem que escrever cada desigualdade separadamente nas condições? Se você generalizar de alguma forma, isso será visto como um erro? Então por que o programa diz que não há erros na compilação?
Então você tem que escrever cada desigualdade separadamente nas condições? Se você generalizá-la de alguma forma, ela será percebida como um erro? Então por que o programa diz que não há erro na compilação?
Não há erro, simplesmente não se obtém o resultado que se espera.
...Como você procura a causa em uma situação como esta?
Por mero acidente, tropecei nele. Você precisa simplificar as coisas. Comente tudo, descomente a primeira importação, compile, chame funções, etc.
Não vale a pena mudar perto de Abrir, haverá poucas mudanças. É mais fácil não se preocupar com tais disparates, mas sim tirar dados da barra formada.
Não há erro, você simplesmente não obtém o resultado que estava esperando.
Eu percebi)) uma ordem foi aberta imediatamente sem mais mudanças, pois tive que escrever NULL em vez de Symbol() na linha:
É preciso escrever NULL em vez de Symbol(), porque há uma discrepância nos tipos de variáveis. Por causa disso, eu vi o RSI como um valor nulo, então eu o abri imediatamente, porque a condição funcionou.
Agora eu o consertei e tudo está bem.
O único problema é que os objetos são criados apenas uma vez no primeiro comércio.