Ninguém estava brigando. Se você não gosta da resposta, vá em frente... O que há para se ofender? As pessoas são todas diferentes. E em um post anterior eu disse isto sobre todos os programadores. Eu mesmo às vezes faço perguntas em tópicos para iniciantes. De que adianta criar um fio inteiro por causa de uma pergunta que pode ser respondida com apenas um post?
escreveu um robô... O testador dá um erro de OrderSend 148. Qual é o problema?
//+------------------------------------------------------------------+//| эксперт пустой.mq4 |//| Copyright 2021, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2021, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"#property strict//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//---//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
//---
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
//---int pu;
//делаем сделку один раз при октрытии бараint i=1;//номер ордераint posup=0,possell=0;
int pos_sum=0;
int posa_close=0;
double posa_close_summ=0.03;//объем закрытой позицииdatetime bar_otkr=Time[0];
if (Time[0]>bar_otkr)
while ( i<OrdersTotal())
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
pu=pu+OrderProfit();
if (OrderType()== OP_BUY) posup++;
if (OrderType()== OP_SELL) possell++;
if (posup>0)pos_sum=1;//направление байif (possell>0)pos_sum=0;//направление селл
i++;
}
;
printf(posup,possell);
if (Close[0]>Open[0]&&pu==0) OrderSend(Symbol(),OP_BUY,0.03,Bid,2,Ask+15,0,0,0,0,0);//свеча бай при начале работыif (Close[0]<Open[0]&&pu==0) OrderSend(Symbol(),OP_SELL,0.03,Bid,2,Ask+15,0,0,0,0,0);//свеча селл при начале работыif(Close[0]>Open[0]&&pu>0&&pos_sum==1) OrderSend(Symbol(),OP_BUY,0.03,Bid,2,Ask+15,0,0,0,0,0);//свеча бай при прибыли при покупках - покупаем 0.03if (Close[0]<Open[0]&&pu>0&&pos_sum==1)//свеча селл при прибыли при покупках- кроем 0.01while (i<OrdersTotal())
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderLots()>=0.01&&posa_close==0) OrderClose(i,0.01,Bid,3);posa_close=1 ;
if (posa_close==1)break ; else posa_close=0;
i++;
}
;
if (Close[0]<Open[0]&&pu<0&&pos_sum==1)//свеча селл при убытках при покупках- кроем 0.03while (i<OrdersTotal())
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderLots()==0.03&&posa_close==0) OrderClose(i,0.03,Bid,3);posa_close=1 ;
if (posa_close==1)break ; else posa_close=0;
if (posa_close==0&&OrderLots()==0.02)OrderClose(i,OrderLots(),Bid,3);posa_close_summ=posa_close_summ-0.02;if (posa_close_summ==0)posa_close=1;
if (posa_close==0&&OrderLots()==0.01)OrderClose(i,OrderLots(),Bid,3);posa_close_summ=posa_close_summ-0.01;if (posa_close_summ==0)posa_close=1;
i++;
}
;
if(Close[0]<Open[0]&&pu>0&&pos_sum==0)OrderSend(Symbol(),OP_SELL,0.03,Bid,2,Ask+15,0,0,0,0,0);// свеча селл при продаже и прибыли - покупаем 0.03if (Close[0]>Open[0]&&pu>0&&pos_sum==0)//свеча бай при продаже и прибыли- кроем 0.01while (i<OrdersTotal())
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderLots()>=0.01&&posa_close==0) OrderClose(i,0.01,Bid,3);posa_close=1 ;
if (posa_close==1)break ; else posa_close=0;
i++;
}
;
// свеча селл при продаже и убытке - ничего не делаемif (Close[0]>Open[0]&&pu<0&&pos_sum==0)// свеча бай при продаже и убытке - кроем 0.03while (i<OrdersTotal())
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderLots()==0.03&&posa_close==0) OrderClose(i,0.03,Bid,3);posa_close=1 ;
if (posa_close==1)break ; else posa_close=0;
if (posa_close==0&&OrderLots()==0.02)OrderClose(i,OrderLots(),Bid,3);posa_close_summ=posa_close_summ-0.02;if (posa_close_summ==0)posa_close=1;
if (posa_close==0&&OrderLots()==0.01)OrderClose(i,OrderLots(),Bid,3);posa_close_summ=posa_close_summ-0.01;if (posa_close_summ==0)posa_close=1;
i++;
}
;
}
//+------------------------------------------------------------------+
Eu não quero abrir os negócios corretamente... qual poderia ser o problema... Sem erros durante a compilação
//+------------------------------------------------------------------+//| эксперт пустой.mq4 |//| Copyright 2021, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2021, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"#property strict//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//---//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
//---
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
//---int pu;
//делаем сделку один раз при октрытии бараint i=1;//номер ордераint posup=0,possell=0;
int pos_sum=0;
int posa_close=0;
double posa_close_summ=0.03;//объем закрытой позицииstaticdatetime New_Time=0;
bool New_Bar=false;
if(New_Time!=Time[0])
{
New_Time=Time[0];
New_Bar=true;
}
if (New_Bar)
{
Print(New_Bar);
while ( i<OrdersTotal())
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
pu=pu+OrderProfit();
if (OrderType()== OP_BUY) posup++;
if (OrderType()== OP_SELL) possell++;
if (posup>0)pos_sum=1;//направление байif (possell>0)pos_sum=0;//направление селл
i++;
}
;
if (Close[0]>Open[0]&&pu==0) OrderSend(Symbol(),OP_BUY,0.03,Bid,2,Ask+15,0,0,0,0,0);//свеча бай при начале работыif (Close[0]<Open[0]&&pu==0) OrderSend(Symbol(),OP_SELL,0.03,Bid,2,Ask+15,0,0,0,0,0);//свеча селл при начале работыif(Close[0]>Open[0]&&pu>0&&pos_sum==1) OrderSend(Symbol(),OP_BUY,0.03,Bid,2,Ask+15,0,0,0,0,0);//свеча бай при прибыли при покупках - покупаем 0.03if (Close[0]<Open[0]&&pu>0&&pos_sum==1)//свеча селл при прибыли при покупках- кроем 0.01while (i<OrdersTotal())
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderLots()>=0.01&&posa_close==0) OrderClose(i,0.01,Bid,3);posa_close=1 ;
if (posa_close==1)break ; else posa_close=0;
i++;
}
;
if (Close[0]<Open[0]&&pu<0&&pos_sum==1)//свеча селл при убытках при покупках- кроем 0.03while (i<OrdersTotal())
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderLots()==0.03&&posa_close==0) OrderClose(i,0.03,Bid,3);posa_close=1 ;
if (posa_close==1)break ; else posa_close=0;
if (posa_close==0&&OrderLots()==0.02)OrderClose(i,OrderLots(),Bid,3);posa_close_summ=posa_close_summ-0.02;if (posa_close_summ==0)posa_close=1;
if (posa_close==0&&OrderLots()==0.01)OrderClose(i,OrderLots(),Bid,3);posa_close_summ=posa_close_summ-0.01;if (posa_close_summ==0)posa_close=1;
i++;
}
;
if(Close[0]<Open[0]&&pu>0&&pos_sum==0)OrderSend(Symbol(),OP_SELL,0.03,Bid,2,Ask+15,0,0,0,0,0);// свеча селл при продаже и прибыли - покупаем 0.03if (Close[0]>Open[0]&&pu>0&&pos_sum==0)//свеча бай при продаже и прибыли- кроем 0.01while (i<OrdersTotal())
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderLots()>=0.01&&posa_close==0) OrderClose(i,0.01,Bid,3);posa_close=1 ;
if (posa_close==1)break ; else posa_close=0;
i++;
}
;
// свеча селл при продаже и убытке - ничего не делаемif (Close[0]>Open[0]&&pu<0&&pos_sum==0)// свеча бай при продаже и убытке - кроем 0.03while (i<OrdersTotal())
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderLots()==0.03&&posa_close==0) OrderClose(i,0.03,Bid,3);posa_close=1 ;
if (posa_close==1)break ; else posa_close=0;
if (posa_close==0&&OrderLots()==0.02)OrderClose(i,OrderLots(),Bid,3);posa_close_summ=posa_close_summ-0.02;if (posa_close_summ==0)posa_close=1;
if (posa_close==0&&OrderLots()==0.01)OrderClose(i,OrderLots(),Bid,3);posa_close_summ=posa_close_summ-0.01;if (posa_close_summ==0)posa_close=1;
i++;
}
;
}
}
//+------------------------------------------------------------------+
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Bem, aí está, linda.
Ninguém estava brigando. Se você não gosta da resposta, vá em frente... O que há para se ofender? As pessoas são todas diferentes. E em um post anterior eu disse isto sobre todos os programadores. Eu mesmo às vezes faço perguntas em tópicos para iniciantes. De que adianta criar um fio inteiro por causa de uma pergunta que pode ser respondida com apenas um post?
escreveu um robô... O testador dá um erro de OrderSend 148. Qual é o problema?
Pessoas ... ajuda! há um novo bar...
como abrir um pedido somente quando um novo bar abre?
como abrir um pedido somente quando um novo bar abre?
Eu não quero abrir os negócios corretamente... qual poderia ser o problema... Sem erros durante a compilação
Olá a todos, eu preciso de um código para fechar todas as compras por um certo símbolo.
escreveu um robô... O testador dá um erro de OrderSend 148. Qual é o problema?
Não há funções internas na MQL, apenas externas.
Você sabe como consertá-lo ou você precisa de ajuda qualificada? )))
Não há funções internas na MQL, apenas externas.
Você sabe como consertá-lo, ou precisa de ajuda especializada? )))
o erro 148 já foi resolvido
Diz "wrong take profit" - o que há de errado?
Coloquei zero em vez de Bid-tp - funciona!
Como você inicializa o tp?