Depende de qual é o objectivo de apanhar a actualização. Que tal encher em demasia a matriz?
Que importa qual é o objectivo? A questão é porque é que um evento tão óbvio é tão difícil de apanhar, dado que há muitas outras propriedades menos usadas e necessárias. Neste caso, o objectivo é a notificação (alerta).
Que diferença faz qual é o alvo? A questão é porque é que um evento tão óbvio é tão difícil de apanhar, apesar de haver muitas outras propriedades menos usadas e necessárias. Neste caso, o objectivo é a notificação (alerta).
Portanto, é este evento óbvio que é destacado no tipo de transacção. Experimente a biblioteca de Trishkin em 58 artigos. Talvez tenha uma opção simples.
Suspeito que ele mantém o seu registo da mesma forma.
Изменение открытого ордера. К данным изменениям относятся не только явные изменения со стороны клиентского терминала или торгового сервера, но также и изменение его состояния при выставлении (например, переход из состоянияORDER_STATE_STARTED toORDER_STATE_PLACED or fromORDER_STATE_PLACED toORDER_STATE_PARTIAL, etc.)
Seria suficiente para mim saber que este não é o primeiro ORDER_STATE_PLACED num determinado bilhete de encomenda.
Acontece que duas TRADE_TRANSACTION_ORDER_UPDATE vêm quando é feita a primeira encomenda. Aqui, e a terceira já me serviria como mudança, o que no meu caso é apenas uma mudança de preço. Ou o segundoORDER_STATE_PLACED.
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
Seguiu o exemplo MT4 "STRINGS: ASCII CHARACTERS TABELA E UTILIZAÇÃO"
//+------------------------------------------------------------------+//| StringLowerCase |//+------------------------------------------------------------------+string StringLowerCase(string str)
{
string s = str;
int lenght = StringLen(str) - 1, symbol;
while(lenght >= 0)
{
symbol = StringGetChar(s, lenght);
if((symbol > 64 && symbol < 91) || (symbol > 191 && symbol < 224))
s = StringSetChar(s, lenght, symbol + 32);// тут possible loss of data due to type conversionelseif(symbol > -65 && symbol < -32)
s = StringSetChar(s, lenght, symbol + 288);// тут possible loss of data due to type conversion
lenght--;
}
return(s);
}
//+------------------------------------------------------------------+//| StringUpperCase |//+------------------------------------------------------------------+string StringUpperCase(string str)
{
string s = str;
int lenght = StringLen(str) - 1, symbol;
while(lenght >= 0)
{
symbol = StringGetChar(s, lenght);
if((symbol > 96 && symbol < 123) || (symbol > 223 && symbol < 256))
s = StringSetChar(s, lenght, symbol - 32);// тут possible loss of data due to type conversionelseif(symbol > -33 && symbol < 0)
s = StringSetChar(s, lenght, symbol + 224);// тут possible loss of data due to type conversion
lenght--;
}
return(s);
}
Se não se importa, por favor ajude-me a consertá-lo...
Olá. Escrevi uma função que verifica as condições de entrada numa posição.
O problema é que se a condição (destacada a amarelo) não for cumprida - a função não termina mas passa para a condição seguinte. Assim, o sinal não funciona correctamente.
O que deve ser feito para que a função deixe de funcionar quando uma das condições não é satisfeita - imediatamente após a condição incorrecta?
bool BuySignal_new()
{
double Sig_Up[]; // динамический массив для хранения значений индикатора на покупку для каждого бараdouble Sig_Down[]; // динамический массив для хранения значений индикатора на продажу для каждого бараArraySetAsSeries (Sig_Up,true); // устанавливаем индексацию как в таймсерии ( т.е. 5,4,3,2,1,0) в динамич. массиве для индикатораArraySetAsSeries (Sig_Down,true); // устанавливаем индексацию как в таймсерии ( т.е. 5,4,3,2,1,0) в динамич. массиве для индикатораResetLastError();
double close = NormalizeDouble(iClose(_Symbol,_Period,1),Digits());
double close_1 = NormalizeDouble(iClose(_Symbol,_Period,0),Digits());
double Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),Digits());
if(CopyBuffer(Handle_stepma_line,0,1,5,Sig_Up)==5 && CopyBuffer(Handle_stepma_line,1,1,4,Sig_Down)==4 )
{
Print("Данные скопированы. Ошибок нет.");
}
else
{
Print("Ошибка копирования. Нет данных");
return(false);
}
if (Sig_Up[1] < Sig_Down[1] && Sig_Up[0] > Sig_Down[0])
{
Print("условие 1 - ок");
}
else
{
Print("условие 1 НЕ выполненно");
return(false);
}
if (close < Sig_Up[1]&& Bid > Sig_Up[0])
{
Print ("условие 2 - ок");
return(true);
}
else
{
Print("условие 2 НЕ выполненно");
return(false);
}
Depende de qual é o objectivo de apanhar a actualização. Que tal encher em demasia a matriz?
Que importa qual é o objectivo? A questão é porque é que um evento tão óbvio é tão difícil de apanhar, dado que há muitas outras propriedades menos usadas e necessárias. Neste caso, o objectivo é a notificação (alerta).
Que diferença faz qual é o alvo? A questão é porque é que um evento tão óbvio é tão difícil de apanhar, apesar de haver muitas outras propriedades menos usadas e necessárias. Neste caso, o objectivo é a notificação (alerta).
Portanto, é este evento óbvio que é destacado no tipo de transacção. Experimente a biblioteca de Trishkin em 58 artigos. Talvez tenha uma opção simples.
в 58 ми статьяхBem, obrigado ))
Suspeito que ele mantém o seu registo da mesma forma.
Seria suficiente para mim saber que este não é o primeiro ORDER_STATE_PLACED num determinado bilhete de encomenda.
Acontece que duas TRADE_TRANSACTION_ORDER_UPDATE vêm quando é feita a primeira encomenda. Aqui, e a terceira já me serviria como mudança, o que no meu caso é apenas uma mudança de preço. Ou o segundoORDER_STATE_PLACED.
Se não se importa, por favor ajude-me a consertá-lo...
Fiz o exemplo do MT4 "STRINGS: ASCII CHARACTERS TABELA E O SEU USO"
Se não se importa, por favor ajude-me a consertá-lo...
StringSetChart() bool devolve um bool. E está a atribuí-la a uma variável de corda... Se é essa a questão.
Olá. Escrevi uma função que verifica as condições de entrada numa posição.
O problema é que se a condição (destacada a amarelo) não for cumprida - a função não termina mas passa para a condição seguinte. Assim, o sinal não funciona correctamente.
O que deve ser feito para que a função deixe de funcionar quando uma das condições não é satisfeita - imediatamente após a condição incorrecta?
O que deve ser feito, para que se uma das condições da função não for cumprida - toda a função termine, imediatamente após a condição incorrecta?
Retire a ramificação por outro meio, pode tentar desta forma:
remover a ramificação pelo outro, pode tentar desta forma:
Obrigado, vou tentar.