[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 622

 
rigonich:

Novamente 45, neste formulárioOrderSelect(LastClosetPoz (),SELECT_BY_TICKET) por padrão seleciona entre as ordens pendentes e abertas, e esta ordem não está lá. ColoqueOrderSelect(LastClosetPoz (),SELECT_BY_TICKET, MODE_HISTORY).


naa....nii...MODEs...trabalhar apenas comSELECT_BY_POS. E o bilhete em si! é absolutamente individual, então você nem precisa especificar onde ele está

(terminar a resposta lá...eu estava finalizando a solução)

-------Parametros:

índice - Índice de pedido ou bilhete de pedido, dependendo do segundo parâmetro.
selecione - Seleção de bandeiras. Pode ser qualquer um dos seguintes valores:
SELECT_BY_POS - índice no pool de pedidos,
SELECT_BY_TICKET - índice é bilhete de pedido.
piscina - Índice opcional do pool de pedidos. Usado quando o parâmetro selecionado é SELECT_BY_POS. Pode ser qualquer um dos seguintes valores:
MODE_TRADES (padrão) - ordem selecionada do pool de negociação (ordens abertas e pendentes),
MODE_HISTÓRIA - ordem selecionada do pool histórico ( ordens fechadas e canceladas).
 
lottamer:


naa....niiiiiii...mods...só trabalhar comSELECT_BY_POS. E o bilhete em si! é completamente individual, então você nem precisa especificar onde ele está

-------Parametros:

índice - Índice de pedido ou bilhete de pedido, dependendo do segundo parâmetro.
selecione - Seleção de bandeiras. Pode ser qualquer um dos seguintes valores:
SELECT_BY_POS - índice no pool de pedidos,
SELECT_BY_TICKET - índice é bilhete de pedido.
piscina - Índice opcional do pool de pedidos. Usado quando o parâmetro selecionado é SELECT_BY_POS. Pode ser qualquer um dos seguintes valores:
MODE_TRADES (default)- ordem selecionada do pool de negociação (ordens abertas e pendentes),
MODE_HISTORY - ordem selecionada do pool de histórico (ordens fechadas e canceladas).


Desculpe, eu fiz asneira, você está certo, só está na sua linha se ("Stop Loss", OrderStopLoss());) Print("Stop Loss", OrderStopLoss()); não há condição, um operador é inserido em seu lugar.
 
Desead:

Não sou um programador, mas às vezes eu mesmo escrevo as coisas mais simples. Você pode escrever um robô simples em qualquer idioma e isso não é problema algum. Eu não quero executar uma parte das funções como uma dll e chamá-las de μl, mas escrever o robô inteiro com sua própria interface sem chamar o Metatrader. Inventei muitas linguagens visuais diferentes onde posso fazer isso sem muito esforço.


No pacote MT, há exemplos de como escrever dlls em C2C++.

Catálogo: Catálogo_em_que_especialistas_MT}samostragens estão localizadas. Leve-o e edite-o de acordo com suas necessidades. Você não precisa de um conhecimento profundo de C++ para trabalhar com ele. O conhecimento das noções básicas e da sintaxe do C é suficiente.

Favor observar: o projeto deve ter um arquivo .def, caso contrário, você não conectará a dll. No exemplo está um projeto como deveria ser.
 
xant:

rigonich

подскажите пожалуйста, в какой файл записываются глоб. переменные? Чтобы можно было быстро перебрасывать на другой терминал. 

Não sei, ainda não o encontrei, mas provavelmente você pode abrir o serviço ->variáveis globais no terminal e copiá-las a partir daí, experimente-o.

E em geral está relacionado à sincronização de vários terminais, tente procurar nesta direção, acho que vi algo assim neste site ou em artigos, ou em kodobase.

 
rigonich:


perfiles\ terminais\gvariables.dat
 
r772ra:


perfiles\ terminais\gvariables.dat

Obrigado, é isso mesmo, já procurei em quase todas as pastas, mas não pensei em procurar nos perfis.
 
rigonich:

Desculpe, eu estraguei tudo, você está certo, é só sua linha se ("Pare de perder", OrderStopLoss();) Imprimir("Stop Loss", OrderStopLoss();); não há condição, em vez disso é inserido um operador.


Estou preso de novo...no último passo...

Os bilhetes foram retirados - estão funcionando. agora estou tentando usá-los - para puxara OrderProfit da posição correspondente.... imprime zeros...(mas o bilhete imprime corretamente)

se você remover==verdadeiro- a mesma coisa....

há alguma forma deOrderSelect poder ser usado SEM?

QUANDO funciona:

se (OrderSelect( Ticket1,SELECT_BY_TICKET)) Print("Stop Loss", OrderStopLoss());

as impressões param o nível de perda.

---------------------------

Terei que levar sua versão com um loop comum.OrderProfit é claramente reconhecido lá!Droga! qual é a diferença? Tudo é igual!?

 LastClosetPoz();SecLastClosetPoz();   Print ( LastClosetPoz(),"___",SecLastClosetPoz()); 

 

if  (OrderSelect( LastClosetPoz(),SELECT_BY_TICKET)==true) X=OrderProfit();



if  (OrderSelect( SecLastClosetPoz(),SELECT_BY_TICKET)==true) Y=OrderProfit(); Print (X,"+",);

 
 
lottamer:


Estou de novo preso... no último passo...

Os bilhetes foram retirados - eles funcionam. agora estou tentando usá-los - para retirar oOrderProfit da posição correspondente.... imprime zeros...(mas os bilhetes imprimem corretamente)

se você remover==verdadeiro- a mesma coisa....

há alguma forma deOrderSelect poder ser usado SEM?

QUANDO funciona:

se (OrderSelect( Ticket1,SELECT_BY_TICKET)) Print("Stop Loss", OrderStopLoss());

as impressões param o nível de perda.

---------------------------

Terei que levar sua versão com um loop comum.OrderProfit é claramente reconhecido lá!Droga! qual é a diferença? Tudo é igual!?

OrderSelect( SecLastClosetPoz(),SELECT_BY_TICKET);
Você também pode utilizá-lo desta forma, se o pedido com o bilhete solicitado existir, a função selecionará o bilhete.
 

r772ra

obrigado pela dica

 

Boa noite! Desculpe-me, acho que já lhe fiz uma pergunta em algum lugar. Uma com um takeprofit, e uma parada de reboque deve funcionar para a outra.

Assim que um toma um takeeprofit, uma parada para trás começa a trabalhar para o outro. Bem, ele começa a funcionar imediatamente quando ambos os pedidos são feitos!

//***************************************   
 
  nahodka=false;
 
 
 if (OrderSelect(tocket, SELECT_BY_TICKET , MODE_HISTORY)) { 
 if (OrderTakeProfit( )-3*Point<profitsell&&OrderTakeProfit( )+3*Point>profitsell) nahodka=true;}
     // Находим ордер, сработавший именно по тейкпрофиту 
 
 
  
 if(nahodka){if (OrderSelect(tecket,SELECT_BY_TICKET)){
 if(OrderStopLoss( )>Bid+treylingstop*Point ){ Print ("четвёртаямодифи    " );
 OrderModify(  tecket, OrderOpenPrice(), Bid+treylingstop*Point, OrderTakeProfit(), 0, CLR_NONE);}}}
  // Модифицируем оставшийся ордер

Como e o que a OrderSelect escolhe, se o pedido com o bilhete ainda não está na história?

Razão: