[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 453
Скрипт при исполнении делает файл с историей в папку ексерт\филес\ имя файла (это номер счета)
Все очень просто скрипт на 3 терминалах исполняется скажем в 6 утра автоматом
Значит нам не надо открывать терминалы - отрываем базу и новые данные уже в ней подхвачены готовые к анализу (это уже реализовано)
% деятельности с посчитанными свопами, сводными таблицами и графиками и т.д.
Nenhum script pode abrir o terminal!
Portanto, se você quiser que funcione, deve estar em um terminal aberto e conectado à rede. Ele será executado no tempo necessário e registrará os dados. Mas os terminais devem ser sempre ligados.
duplo externo OTSTUP_BUY = 7; duplo externo TakeProfit = 100; //externo duplo BuyStop = 0; //externo duplo StopLoss = 0; duplo externo Lots = 0,01; //externo duplo TrailingStop = 21; duplo min = 100000; duplo lmax, // Preço limite, depois de aprovado // consideramos vender (abs) lmin, // o mesmo para Buy Lot;
int Count=0; int total=0; int Ticket=0; // Variável global. // int init() // Special init()
{ int total=OrdensTotal(); // apenas ordens abertas string Symbol1=Symbol(); double metka=0; for(int pos=0;pos<total;pos++) { if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) continue; { if(OrderSymbol()==Symbol()) { metka=1; Alerta("Order #", OrderTicket(), " in ", OrderSymbol());
} else { } }
}
if(metka==0 ) // if(metka==0 && UROVEN>=Ask)
{
double bid =MarketInfo(Symbol(),MODE_BID); // Request Bid value double ask =MarketInfo(Symbol(),MODE_ASK); // Request Ask value double min =MarketInfo(Symbol(),MODE_ASK); // Request Ask value double point =MarketInfo(Symbol(),MODE_POINT)//Query Point OrderSend(Symbol(),OP_BUYSTOP,Lots,bid+OTSTUP_BUY*Point,3,bid-1*Point,bid+TakeProfit*Point); int Ticket=OrderTicket(); //OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyStop,3,StopLoss,TakeProfit, "Bye Stop 1"); Alert (Ticket); // Mensagem de erro // Alert (Symbol()," ",OP_BUYSTOP," ",0.01," ",ask+10*Point," ",3," ",ask-35*Point," ",ask+35*Point); Alerta (GetLastError()); }
return; // Sair init() }
//-------------------------------------------------------------------- int start() // Especial. function start() { if(min>Bid) min=Bid; { // Count min price
Acho que o problema é que eu não especifiquei o número de elementos da matriz. Mas e se o número de elementos for inicialmente desconhecido e a matriz for preenchida no laço? (no meu caso, ao ler a partir de um arquivo)
mrddt>>: догадываюсьчто проблема в том что я не указал кол-во элементов в массиве. а что делать если кол-во элементов изначально неизвесно и массив заполняется в цикле? (в моём случае при чтении из файла)
Boa tarde!
Se uma ordem pendente for acionada por um script, como posso destacar este script da janela da ferramenta?
Agradecemos antecipadamente.
НЕТ
Скрипт при исполнении делает файл с историей в папку ексерт\филес\ имя файла (это номер счета)
Все очень просто скрипт на 3 терминалах исполняется скажем в 6 утра автоматомЗначит нам не надо открывать терминалы - отрываем базу и новые данные уже в ней подхвачены готовые к анализу (это уже реализовано)
% деятельности с посчитанными свопами, сводными таблицами и графиками и т.д.
Nenhum script pode abrir o terminal!
Portanto, se você quiser que funcione, deve estar em um terminal aberto e conectado à rede. Ele será executado no tempo necessário e registrará os dados. Mas os terminais devem ser sempre ligados.
Добрый день!
Как сделать, если сработал отложенный скриптом ордер, чтобы этот скрипт отсоединить от окна инструмента?
Заранее благодарен.
o roteiro é executado uma vez no gráfico e não requer a desconexão manual.
скрипт выполняется на графике один раз и не требует ручного отсоединения.
Infelizmente, se não for desligado da janela, quando o pedido anterior é fechado, abre o próximo pedido.
Aqui está seu código
Altera a ordem pendente na mudança de preço
//
duplo externo OTSTUP_BUY = 7;
duplo externo TakeProfit = 100;
//externo duplo BuyStop = 0;
//externo duplo StopLoss = 0;
duplo externo Lots = 0,01;
//externo duplo TrailingStop = 21; duplo min = 100000;
duplo
lmax, // Preço limite, depois de aprovado
// consideramos vender (abs)
lmin, // o mesmo para Buy
Lot;
int Count=0;
int total=0;
int Ticket=0; // Variável global.
//
int init() // Special init()
{
int total=OrdensTotal(); // apenas ordens abertas
string Symbol1=Symbol();
double metka=0;
for(int pos=0;pos<total;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) continue;
{
if(OrderSymbol()==Symbol())
{
metka=1;
Alerta("Order #", OrderTicket(), " in ", OrderSymbol());
}
else
{
}
}
}
if(metka==0 )
// if(metka==0 && UROVEN>=Ask)
{
double bid =MarketInfo(Symbol(),MODE_BID); // Request Bid value
double ask =MarketInfo(Symbol(),MODE_ASK); // Request Ask value
double min =MarketInfo(Symbol(),MODE_ASK); // Request Ask value
double point =MarketInfo(Symbol(),MODE_POINT)//Query Point
OrderSend(Symbol(),OP_BUYSTOP,Lots,bid+OTSTUP_BUY*Point,3,bid-1*Point,bid+TakeProfit*Point);
int Ticket=OrderTicket();
//OrderSend(Symbol(),OP_BUYSTOP,Lots,BuyStop,3,StopLoss,TakeProfit, "Bye Stop 1");
Alert (Ticket); // Mensagem de erro
// Alert (Symbol()," ",OP_BUYSTOP," ",0.01," ",ask+10*Point," ",3," ",ask-35*Point," ",ask+35*Point);
Alerta (GetLastError());
}
return; // Sair init()
}
//--------------------------------------------------------------------
int start() // Especial. function start()
{
if(min>Bid) min=Bid;
{ // Count min price
int total=OrdersTotal(); // apenas ordens abertas
string Symbol1=Symbol();
for(int pos=0;pos<total;pos++)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) continue;
{
if(OrderSymbol()==Symbol())
{
Alerta("Order #", OrderTicket(), " in ", OrderSymbol());
Alerta (min);
OrderModify(OrderTicket(),min+OTSTUP_BUY*Point,min-1*Point,min+TakeProfit*Point,0);//Modificar
Alerta (GetLastError());
Alerta(Symbol(), "",OrderTicket())OrderTicket()," ",min+OTSTUP_BUY*Point," ",min-1*Point," ",min+TakeProfit*Point," ",0);
}
}
}
}
} return; // Sair init()
}
//
int deinit() // Especial. f-iia deinit()
{
// Alerta ("Deinit() f-iia desencadeado na descarga"); // Mensagem
retorno; // Saída deinit()
}
//--------------------------------------------------------------------
string iii[];
iii[0] = "1";
iii[1] = "2";
iii[2] = "3";
MessageBox(iii[0]);
MessageBox(iii[1]);
MessageBox(iii[2]);
produz o número 3 três vezes! em vez dos próprios 1, 2, 3.... WTF?
obrigado!
догадываюсьчто проблема в том что я не указал кол-во элементов в массиве. а что делать если кол-во элементов изначально неизвесно и массив заполняется в цикле? (в моём случае при чтении из файла)
ArrayResize