Tamanho do depósito inicial - o que é isso? - página 9

 

Abaixo com o vento de vento fraco :)


Para medir um ângulo, é necessário um ponto + dado e um ponto em que se possa medir o ângulo.


Para começar:

int cnt, total;
total=OrdersTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
iTicket=OrderTicket();
}

 
meta-trader2007 писал (а) >>

Primeiramente, as primeiras coisas:

Aqui está um trecho de código com um pedido ultrapassado. O código de parada de reboque é tirado daqui: Biblioteca de Funções e Conselheiros Especializados para o Trailing Stop / Yuri Dzyuban".

   int cnt, itotal;
   total=OrdersTotal();
   for(cnt=0;cnt<total;cnt++)
   {
   OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
   iTicket=OrderTicket();
   Comment("\nOrderTicket = ", iTicket);

   // проверяем переданные значения
   if ((iTicket==0) || (!OrderSelect(iTicket,SELECT_BY_TICKET)) || ((iTmFrme!=1) && (iTmFrme!=5) && (iTmFrme!=15) && (iTmFrme!=30) && (iTmFrme!=60) && (iTmFrme!=240) && (iTmFrme!=1440) && (iTmFrme!=10080) && (iTmFrme!=43200)) || (iMAPeriod<2) || (MAMethod<0) || (MAMethod>3) || (iApplPrice<0) || (iApplPrice>6) || (iShift<0) || (iIndent<0))
      {
      Comment("\nТрейлинг функцией TrailingByMA() невозможен из-за некорректности значений переданных ей аргументов.");
      return(0);
      } 

   double   dMA; // значение скользящего среднего с переданными параметрами
   
   // определим значение МА с переданными функции параметрами
   dMA = iMA(Symbol(),iTmFrme,iMAPeriod,iMAShift,MAMethod,iApplPrice,iShift);
         
   // если длинная позиция, и её стоплосс хуже значения среднего с отступом в iIndent пунктов, модифицируем его
   if (OrderType()==OP_BUY)
      {
      if ((OrderStopLoss()<dMA-iIndent*Point) && (dMA-iIndent*Point<Bid-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point))
         {
         if (!OrderModify(iTicket,OrderOpenPrice(),dMA-iIndent*Point,OrderTakeProfit(),OrderExpiration()))
         Comment("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError());
         }
      }
  
   // если позиция - короткая, и её стоплосс хуже (выше верхней границы канала или не определён, ==0), модифицируем его
   if (OrderType()==OP_SELL)
      {
      if (((OrderStopLoss()==0) || (OrderStopLoss()>dMA+(MarketInfo(Symbol(),MODE_SPREAD)+iIndent)*Point)) && (dMA+(MarketInfo(Symbol(),MODE_SPREAD)+iIndent)*Point>Ask+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point))
         {
         if (!OrderModify(iTicket,OrderOpenPrice(),dMA+(MarketInfo(Symbol(),MODE_SPREAD)+iIndent)*Point,OrderTakeProfit(),OrderExpiration()))
         Print("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError());
         }
      }
   }
Retorna 0, pelo amor de Deus!!!
 




for(int cnt=0;cnt<OrdersTotal();cnt++){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
iTicket=OrderTicket();
Comment("\nOrderTicket = ", iTicket);
// проверяем переданные значения
if ((iTicket==0) || ((iTmFrme!=1) && (iTmFrme!=5) && (iTmFrme!=15) && (iTmFrme!=30) && (iTmFrme!=60) && (iTmFrme!=240) && (iTmFrme!=1440) && (iTmFrme!=10080) && (iTmFrme!=43200)) || (iMAPeriod<2) || (MAMethod<0) || (MAMethod>3) || (iApplPrice<0) || (iApplPrice>6) || (iShift<0) || (iIndent<0))
{Comment("\nТрейлинг функцией TrailingByMA() невозможен из-за некорректности значений переданных ей аргументов."); return(0);}
// определим значение МА с переданными функции параметрами
double dMA = iMA(Symbol(),iTmFrme,iMAPeriod,iMAShift,MAMethod,iApplPrice,iShift);// значение скользящего среднего с переданными параметрами
// если длинная позиция, и её стоплосс хуже значения среднего с отступом в iIndent пунктов, модифицируем его
if (OrderType()==OP_BUY){
if ((OrderStopLoss()<dMA-iIndent*Point) && (dMA-iIndent*Point<Bid-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)){
if (!OrderModify(iTicket,OrderOpenPrice(),dMA-iIndent*Point,OrderTakeProfit(),OrderExpiration()))
Comment("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError());}}
// если позиция - короткая, и её стоплосс хуже (выше верхней границы канала или не определён, ==0), модифицируем его
if (OrderType()==OP_SELL){
if (((OrderStopLoss()==0) || (OrderStopLoss()>dMA+(MarketInfo(Symbol(),MODE_SPREAD)+iIndent)*Point)) && (dMA+(MarketInfo(Symbol(),MODE_SPREAD)+iIndent)*Point>Ask+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point))
{if (!OrderModify(iTicket,OrderOpenPrice(),dMA+(MarketInfo(Symbol(),MODE_SPREAD)+iIndent)*Point,OrderTakeProfit(),OrderExpiration()))
Print("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError());}}}




Swetten , escreva se precisar de mais alguma coisa.

 
meta-trader2007 писал (а) >>




Escreva se você precisar de mais alguma coisa.

Muito obrigado! Somente minha culpa - eu tinha um ciclo mais alto com retorno(0), por isso estava me escondendo e me machucando pouco a pouco.

Tenho uma pergunta: você tem um programa, onde eu digito o tamanho do lote, especifico o par, e ele me mostra quanto dinheiro (em rublos, por exemplo) eu preciso para comprar este lote, valor em pontos, etc.?

Apenas cada vez que você conta, por exemplo, 1,3 lotes de GBPUSD, e depois 2,8 lotes de EURJPI fica um pouco cansado.

 
Swetten писал (а) >>

Muito obrigado! Somente minha culpa - eu tinha um ciclo mais alto com retorno(0), por isso estava me escondendo e me machucando pouco a pouco.

Tenho uma pergunta: você tem um programa, onde eu digito o tamanho do lote, especifico o par, e ele me mostra quanto dinheiro (em rublos, por exemplo) eu preciso para comprar este lote, valor em pontos, etc.?

Apenas cada vez que você conta por exemplo 1,3 lote de GBPUSD, e depois 2,8 lote de EURJPI, isso se torna um pouco cansativo.

Em GBPUSD, ele sorriu. Na EBUJPI, eu recebi um bode expiatório. Desculpe, não quero dizer nada de ruim com isso.

 
E outra pergunta: há três variáveis. De qualquer tipo. É possível implementar a seguinte condição: se duas de cada três variáveis correspondem à condição mais ou menos, então faça o mesmo?
 
De
Swetten писал (а) >>
Mais uma pergunta: há três variáveis. De qualquer tipo. É possível implementar a seguinte condição: se duas de três variáveis correspondem à condição mais ou menos, então faça assim?

bool a,b,c; //Переменные. True - удовлетворяют условию, False - не удовлетворяют.
int count; // Счетчик количества переменных, удовлетворяющих условию.
 
if(a==true)
 count++;
if(b==true)
 count++;
if(c==true)
 count++;
 
if(count>=2)
{
  //Делаем то-то
}

Aconselho a renomear o tópico para "Perguntas da Swetten" -)

 

sobre o assunto =)

Tenho usado um deles a sério =) já faz dois dias que está indo.

para praticar, 200 libras.

para mts, um pouco mais sério, 700 libras.

por mts a longo prazo a partir de 7 000 libras

IMHO =)

 

Aqui está outra boa pergunta: há dados como:

P1[a, b, passo]

P2[c, d, passo]

P3[e, f, passo]

P4[g, h, passo]

P5[i, j, passo].

Como posso escrevê-los de uma só vez em um arquivo e depois lê-los a partir daí?

Eu o fiz assim:

for(step = 1; step <= Dlina; stop++)
         {for(et = 1; it <= 20; et++)
             {for(i = 0; i <= min1 - 1; i++)
                 { FileWrite(file1, data0-0[i,it,stop]); 
                   FileWrite(file1, data0-1[i,it,stop]); 
                   FileWrite(file1, data0-2[i,it,stop]);
                   FileWrite(file1, data1-1[i,it,stop]); 
                   FileWrite(file1, data1-2[i,it,stop]); 
                   FileWrite(file1, data1-3[i,it,stop]);
                   FileWrite(file1, data2-0[i,it,stop]); 
                   FileWrite(file1, data2-1[i,it,stop]); 
                   FileWrite(file1, data2-2[i,it,stop]);
                   FileWrite(file1, data3-0[i,it,stop]); 
                   FileWrite(file1, data3-1[i,it,stop]); 
                   FileWrite(file1, data3-2[i,it,stop]);
                   FileWrite(file1, data4-1[i,it,stop]); 
                   FileWrite(file1, data4-2[i,it,stop]); 
                   FileWrite(file1, data4-3[i,it,stop]);
                 }
             }
         }
Está tudo maravilhosamente escrito, mas é tudo um disparate no interior. O livro didático também é um pouco um palpite de feiticeiro! E como você escreve e lê dados como uma tabela? E matrizes como esta? E em geral? A biblioteca de Kim tem um olhar dentro dela.
 
Swetten писал (а) >>

Muito obrigado! Somente minha culpa - eu tinha um ciclo mais alto com retorno(0), por isso estava me escondendo e me machucando pouco a pouco.

Tenho uma pergunta: você tem um programa, onde eu digito o tamanho do lote, especifico o par, e ele me mostra quanto dinheiro (em rublos, por exemplo) eu preciso para comprar este lote, valor em pontos, etc.?

Apenas cada vez que você conta por exemplo 1,3 lote de GBPUSD, e depois 2,8 lotes de EURJPI, isso se torna um pouco cansativo.

Existe uma Calculadora do Trader:)