[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 127

 
VOLDEMAR:
Cuando lo ejecutes en la vida real "el punto de paso* se convertirá en > pérdida actual, entonces el beneficio te llegará" verás que tu beneficio se convierte en un fijo menos .... Debido al trabajo del corredor ... No he puesto el take profit para nada, ya está marcado ..........
Eres una persona extraña. Mi puesto es otra respuesta a su pregunta. Es simplemente otra forma. Pero es más comprensible visualmente.
 
¿Podría indicarle a un programador novato cómo seleccionar la última operación cerrada mediante la función OrderSelect? He probado la siguiente forma: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), pero aparentemente no se selecciona ningún orden de esta forma...
 
que alguien ponga en práctica esta idea de consejero:

Idea número 5 TS - Patrón propio ( Muestra ). Allí también hay un dibujo. Los criterios de TS y de negociación son sencillos y

A un buen programador no le llevará mucho tiempo. ¿Nadie quiere ver los resultados?
 
Por favor, indique si sabe cómo hacer una prueba de apalancamiento 1:1.
 

Pruebe a abrir una cuenta de demostración con un apalancamiento de 1:1. Y pruébalo.

¿Funcionará?


 
Moslift:
¿Podría indicarle a un programador novato cómo seleccionar la última operación cerrada mediante la función OrderSelect? He intentado hacerlo así: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), pero aparentemente no se selecciona ningún orden de esta manera...


Eche un vistazo aquí: https://www.mql5.com/ru/forum/131859

-página 4
GetTypeLastClosePos - Devuelve el tipo de la última posición cerrada o -1
GetTypeLastOpenPos - Devuelve el tipo de la última posición abierta o -1
isCloseLastPosByStop - Devuelve la bandera de la última posición cerrada por Stop
isCloseLastPosByTake - Devuelve la bandera para cerrar la última posición por Take.
isLossLastPos - Devuelve el indicador de pérdida de la última posición.
isTradeToDay - Devuelve la bandera de la negociación de hoy
NumberOfBarCloseLastPos - Devuelve el número de cierre de barra de la última posición o -1.
NúmeroDePosiciónAbierta - Devuelve el número de barra de la última posición abierta o -1.
NumberOfLossPosToday - Devuelve el número de posiciones perdedoras cerradas hoy.
PriceCloseLastPos - Devuelve el precio de cierre de la última posición cerrada.

 
Moslift:
¿Pueden aconsejar a un programador novato, cómo seleccionar el último pedido cerrado utilizando la función OrderSelect? He intentado hacerlo así: OrderSelect(1,SELECT_BY_POS,MODE_HISTORY), pero aparentemente no se selecciona ningún orden de esta manera...

Inténtalo de esta manera:

   int      i, j;
   datetime t;
   for (i=0; i<OrdersHistoryTotal(); i++) {           // Цикл по закрытым ордерам терминала
      if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {// Если выбран ордер...
         if (OrderType()>1)               continue;   // ... если его тип не Buy и не Sell, переходим к следующему...
         if (OrderSymbol()!=Symbol())     continue;   // ... если его символ не соответствует символу графика - к следующему...
         if (OrderMagicNumber()!=Magic)   continue;   // ... если его магик не соответствует магику советника (в переменной Magic) - к следующему
         if (OrderCloseTime()>t) {                    // ... если время его закрытия больше предыдущего
            t=OrderCloseTime();                       // ... сохраним новое наибольшее время закрытия, ...
            j=i;                                      // ... сохраним индекс ордера в массиве закрытых ордеров
            }                   
         }
      }
   if (OrderSelect(j,SELECT_BY_POS,MODE_HISTORY))     // На этом этапе j содержит индекс последнего закрытого ордера
      Print("Выбран последний закрытый ордер с тикетом ",OrderTicket());

Tenga en cuenta que en el bucle sólo se comprueba la compra o la venta. Es de esperar que pueda hacer una selección de otros tipos de pedidos basados en esto

ZS... Estaba escribiendo con las manos y puede que se me haya escapado algún error...

 

Por favor, dígame por qué esta función no funciona y cómo hacerla funcionar.


nomer_sdelki=EnviarOrden(Símbolo(),OP_SELL,1,Oferta,3, Oferta-10*Punto,Oferta+10*Punto, "Mi orden #"+1,16384,0,Verde);

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

¡¡¡Y así es como funciona!!!

nomer_sdelki=EnviarOrden(Símbolo(),OP_SELL,koefficent,Oferta,3,0,0, "Mi orden #"+1,16384,0,Verde);

es decir, cuando no hay paradas funciona.

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

Esta función tampoco funciona, ¿cómo puedo solucionarlo?

OrderClose(nomer_sdelki,koefficent,Bid,3,Red);


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



 
leonid553:

Pruebe a abrir una cuenta de demostración con un apalancamiento de 1:1. Y pruébalo.

¿Funcionará?


Senx ( Gracias ) :))
 

Es un milagro...

Hubo un mensaje y ningún mensaje...

Yo responderé: ¿Es esto lo que se necesita?

// ----------------- SchBuyLs() ---------------------------------------------
//  Функция возвращает суммарный лот Бай-ордеров 
//----------------------------------------------
double SchBuyLs_b() {
   double SchBuyLs=0;
   int i;
   string SMB=Symbol();
   for (i=OrdersTotal()-1; i>=0; i--) {                  //Начало цикла
      if (!OrderSelect(i, SELECT_BY_POS)) WriteError(i);
      else  {                                            //начало работы с выбранным ордером
         if (OrderSymbol()!=SMB)    continue;
         if(OrderType()==OP_BUY)    SchBuyLs+=OrderLots();
         }                                               //конец работы с выбранным ордером
      }                                                  //Конец цикла
   return(SchBuyLs);                                     // При ошибке выбора ордера функция вернёт ноль
}
// ----------------------------------------------------------------------------
Razón de la queja: