[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 215
Quero apagar as linhas horizontais pendentes se seu nível tiver sido quebrado pelo preço atual. Outra maneira de dizer: se o nível já foi ultrapassado ou "renegociado" depois que OBJ_HLINE foi criado.
Obrigado a Roll pela ajuda. Você poderia me dizer como rastrear corretamente a condição de manter o nível em um período conhecido?
//----------------------------------------------------------------------+ // Удаление OBJ_HLINE при пробитии его уровня /Red-Up/Blue-Down| |//----------------------------------------------------------------------+ void DelHLine( string nm="")
{
int obj_total=ObjectsTotal();
for(int i=1;i<obj_total;i++)
{
nm=ObjectName(i);
if(nm==ObjectName(i)&&ObjectType(nm)==OBJ_HLINE)
{
color cl = ObjectGet(nm,OBJPROP_COLOR);
double pl = ObjectGet(nm,OBJPROP_PRICE1);
datetime timeSet= ObjectGet(nm,OBJPROP_TIME1);
int shift = iBarShift(NULL,0,timeSet);
if((cl==Red && pl<High[iHighest(NULL,0,MODE_HIGH,shift,1)])||
(cl==Blue && pl>Low [iLowest (NULL,0,MODE_LOW, shift,1)]) ) ObjectDelete(nm);
}
}
return(0);
}
//+------------------------------------------------------------------+
Estou começando com a programação, então muitas perguntas surgem, obrigado antecipadamente por sua atenção!
Escrevi um script chamado NewScript, que realiza uma função simples - exibir os preços OHLC por barras em um gráfico...
Minha pergunta é - se BARS é exatamente o número de barras no gráfico atual, então por que no meu log EA exibe o número de barras na tela (cerca de 200), mas no meu log mais de 2000?
double Hi (int pos=0) //создали Hi, зависящую от pos
{
int i=pos; //присваиваем "i" значение от "pos", то есть i равно pos
double H=0;
while (i<=pos+10) //как она может быть меньше, если она равна?
{
if (H<iMACD (NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i)) //это мне вообще не понятно... то есть если значение "Н" будет меньше, то присваиваем...
H=iMACD (NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i); //то есть он определит мне наинизший, но не наивысший бар
i++; //ну тут мы добавляем к "i" плюс 1
}
return(H); //возвращаем Hi в самое начало
}
Bom dia a todos!
Estou escrevendo meu primeiro bot e, ao mesmo tempo, estou me familiarizando com a MQL. Eu tenho o seguinte problema durante os testes:
A ordem OP_BUYSTOP é executada logo após a ordem ser colocada, embora a julgar pelo gráfico, o preço não atinja o valor alvo (ver abaixo)
USDJPY,M5 (visual)
Data 2011.09.19
Hora 02:15
Aberto 76.903
Alto 76.909
Baixo 76.890
Fechar 76.890
Volume 66
Estou testando todos os carrapatos.
Talvez eu não entenda corretamente o pedido OP_BUYSTOP? Comprar se o preço exceder um determinado valor, certo?
Aqui está um pouco do código fonte que faz um pedido
int ticket=OrderSend(Symb, OP_BUYSTOP, Lot, Price, 0, SL, TP);
No gráfico do castiçal, todos os preços são Bid e qualquer ordem de compra é executada ao preço Ask.
Obrigado!
Olá! Por favor, me ajude.
Não consigo entender porque este script não exibe os dados em Excel como colunas.
Ao executá-lo em excel, há apenas um cabeçalho de tabela, sem dados.
Ajude-me a entender porque o delimitador não é percebido pela excelência.
Estou começando com a programação, então muitas perguntas surgem, obrigado antecipadamente por sua atenção!
Escrevi um script chamado NewScript, que realiza uma função simples - exibir os preços OHLC por barras em um gráfico...
Minha pergunta é - se BARS é exatamente o número de barras no gráfico atual, então por que no meu log EA exibe o número de barras na tela (cerca de 200), mas no meu log mais de 2000?
Obrigado!
Pequena correção
Desculpe, não consigo entender a função...
A opção mais fácil
Olá!
Você pode me ajudar a escrever um código para parar a EA por um tempo?
Eu escrevi o código assim.
int init() {string OrderStop="OrderStop "+ Symbol();
OrderSig =GlobalVariableGet(OrderStop);
// Print (OrderSig);
return (0);
}
int deinit() {
return (0);
}
int start() {
string OrderStop="OrderStop "+ Symbol();
OrderSig = GlobalVariableGet(OrderStop);
se (OrderSig===1)return(0);
senão {
Corpo(código) da EA
}
retorno(0);
}
No trailer, este código funciona, mas quando eu compilo ou reprise o Terminal,
A EA começa a trabalhar (abre posição) e não volta a negociar.
O que pode ser?
Ou me diga outra opção.
Ou sugerir outra opção.
Use um f: