Como codificar? - página 290

 

...

Não tenho certeza se isto resolverá seu problema, mas dê uma olhada nisto : https://www.mql5.com/en/forum/general

Pava:
Como fazer meu computador mostrar corretamente as palavras em russo em indicadores?...Obrigado...
 

...

mladen:
Não tenho certeza se isso resolverá seu problema, mas dê uma olhada nisto : https://www.mql5.com/en/forum/general

....obrigado...tentará

 

...

Este é um exemplo...Meu Mac não gosta disso!:)

"

//

// VisualOrders.mq4

// Dmitry Yakovlev

// dmitry_yakovlev@rambler.ru

// ?? ???? WebMoney R865705290089

//------------------------------------------------------------------

#direitos autorais "Dmitry Yakovlev, Rússia,Omsk, WM R865705290089".

#link da propriedade "dmitry_yakovlev@rambler.ru"

#janela_do_cartão_indicador de propriedade

#importar "shell32.dll" //Conectar uma dll (fornecido com Windows)

int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd);

#importar "user32.dll

int MessageBoxA(int hWnd ,string lpText,string lpCaption,int uType);

#importar

fio externo _ModeProf="??????? 1-???????.,2-??????";

extern int ModeProf="2;

external string _orders="?????????? ?????? ?? ???????:";

string externa _Type = "0 ???,-1 Sell,1 Buy";

Tipo int externo = 0;

extern bool CurOrders=verdadeiro;

extern int lblSize=1;

histórico de bool externo=verdadeiro;

bool externo ShowProfits=verdadeiro;

extern int ShiftProfits=0;

bool externo lShowTargets=verdadeiro;

extern string _donate1="??? ???? :-) WebMoney";

cordão externo _donate2="R865705290089";

"

 

...

Essas são letras cirílicas, por isso não são mostradas

Se você tiver problemas para vê-los no metaeditor, faça o seguinte: no menu de ferramentas de metaeditor->opções->font defina o script para Cyrilic. Você ainda poderá ver as letras latinas regulares + você também poderá ver o russo (assim :

A partir de mostrá-lo na janela terminal, receio que você só o verá se tiver o Windows russo instalado.

Pava:
Este é um exemplo...Meu Mac não gosta disso!:)

"

//

// VisualOrders.mq4

// Dmitry Yakovlev

// dmitry_yakovlev@rambler.ru

// ?? ???? WebMoney R865705290089

//------------------------------------------------------------------

#direitos autorais "Dmitry Yakovlev, Rússia,Omsk, WM R865705290089".

#link da propriedade "dmitry_yakovlev@rambler.ru"

#janela_do_cartão_indicador de propriedade

#importar "shell32.dll" //Conectar uma dll (fornecido com Windows)

int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd);

#importar "user32.dll

int MessageBoxA(int hWnd ,string lpText,string lpCaption,int uType);

#importar

fio externo _ModeProf="??????? 1-???????.,2-??????";

extern int ModeProf="2;

external string _orders="?????????? ?????? ?? ???????:";

string externa _Type = "0 ???,-1 Sell,1 Buy";

Tipo int externo = 0;

extern bool CurOrders=verdadeiro;

extern int lblSize=1;

histórico de bool externo=verdadeiro;

bool externo ShowProfits=verdadeiro;

extern int ShiftProfits=0;

bool externo lShowTargets=verdadeiro;

extern string _donate1="??? ???? :-) WebMoney";

cordão externo _donate2="R865705290089";

"
Arquivos anexados:
editor.jpg  143 kb
 

...

"cordão externo _donate1="на пиво :-)"....obrigado....funcionou

 

base próxima MACD

Olá... você pode me ajudar a modificar esta saída por MACD cross 0. como de costume esta ea fechar se tp=x ou sl=x point.

eu tentei, mas ainda assim me custa 4.

muito obrigado... 1428maplus.mq4

Arquivos anexados:
1428maplus.mq4  30 kb
 
mladen:
Adicione algo como isto em sua EA no início do procedimento() de início:
if (TimeDayOfWeek(TimeCurrent())==5 && TimeCurrent()>=StrToTime("22:59")) { CloseAll(); return(0); }

Adicione isto ao código :

[PHP]void CloseAll()

(Todo o código)

Isso resolverá seus pontos 2 e 3 (ordens abertas na sexta-feira)

O primeiro ponto é bastante complicado de codificar - você provavelmente precisará redefinir essa regra

Muito obrigado! Para a última parte, um código de ouvinte de algum tipo de evento faria o truque (apenas digitando outra sugestão que eu li)? Se eu estiver correto, para aumentar o lucro de um negócio quando o outro fecha, seria necessário ter sub-componentes de codificação para compensá-lo?

Quando duas trocas abrem com esta EA, no entanto, isso significa que em algum momento uma delas atingirá o stop loss (a menos que elas se estendam na mesma área até o fechamento de todas as trocas em um determinado momento), se duas trocas estiverem abertas e uma fechar com um lucro negativo, a outra troca aberta poderia responder ao lucro negativo aumentando o take profit? A propósito, tudo isso está acontecendo em um símbolo até agora.

Para simplificar, seria possível aumentar o "take profit" de um negócio uma vez que o outro tenha fechado, independentemente do que seja lucro? Isto porque a forma que pretendo que a EA seja é que, se duas negociações estiverem abertas e uma fechar, será negativa de qualquer forma.

Mais uma vez, obrigado!

 
Há um par de problemas nisso :

- a busca na lista de ordens fechadas pode levar à identificação errada de ordens "relacionadas".

- por causa disso, a EA precisaria saber qual "outra" ordem deveria monitorar. Assim, cada uma das ordens precisaria saber de alguma forma sobre a outra ordem de identificação (bilhete). Mas isso, devido à falta de um campo no qual nós (os usuários) possamos escrever algo que queremos usar como informação, não é possível. O campo de comentários só pode ser escrito no momento da criação da ordem: não há como alterá-lo uma vez aberta a ordem (só o corretor pode fazer isso), então não temos meios de remendar informações para a ordem em si.

- se não pudermos guardar algumas informações para a ordem em si, podemos esquecer algum tipo de modificação. Por exemplo: como você pode dizer a partir dos campos disponíveis de uma ordem que ela já foi modificada (o take profit). Não estou falando de algumas "variáveis globais" (que são inúteis no caso de usar o terminal mesmo em 2 pastas diferentes, quanto mais em 2 PC diferentes) nem de salvar alguns estados no EA (e se ele parar de funcionar - um caso acontecendo muito mais vezes do que eles desejam admitir).

Portanto, tanto quanto vejo com as restrições acima, esse tipo de "comportamento" condicional não é possível de ser feito sem uma possibilidade real de erro em algum lugar do processo.

madmax3:
Muito obrigado! Para a última parte, será que um código de ouvinte de algum tipo de evento faria o truque (apenas digitando outra sugestão que eu li)? Se eu estiver correto, para aumentar o lucro de uma negociação quando a outra fecha, seria necessário ter sub-compartes de codificação para compensá-la?

Quando duas negociações são abertas com esta EA, no entanto, isso significa que em algum momento uma delas atingirá o stop loss (a não ser que elas se estendam na mesma área até o fechamento de todas as negociações em um determinado momento), se duas negociações forem abertas e uma fechar com um lucro negativo, a outra poderá responder ao lucro negativo aumentando o take profit? A propósito, tudo isso está acontecendo em um símbolo até agora.

Para simplificar, seria possível aumentar o "take profit" de um negócio uma vez que o outro tenha fechado, independentemente do que seja lucro? Isto porque a forma que pretendo que a EA seja é que, se duas negociações estiverem abertas e uma fechar, será negativa de qualquer forma.

Mais uma vez, obrigado!
 

Parece ser uma tarefa bastante difícil, e se for assim, quando uma negociação é aberta (pode ser uma ou duas negociações) o lucro é alterado quando o preço atinge um certo nível?

 

...

Por que não usar uma parada de trilha então?

Quero dizer que ela faria quase 100% (quase) do que sua idéia original é e é muito, muito mais fácil de codificar

madmax3:
Parece ser uma tarefa bastante difícil, e se for assim, quando uma negociação é aberta (pode ser uma ou duas negociações) o lucro é alterado quando o preço atinge um certo nível?