MQL5: Validación :-( Ya me he devanado los sesos para saber qué es y cómo se soluciona. - página 6

 
Все непросто, все совсем просто. При открытии короткой позиции Вы проверяете наличие денег для открытия длинной. 
//+-----------------------------------------------------------------------------------------------+
//| Функция открывает позицию Sell                                                                |
//+-----------------------------------------------------------------------------------------------+
void OpenSell(void)
{
   double volume=CalculateVolume(ORDER_TYPE_SELL);
   //volume=CheckVolumeValue(volume);
   //volume=NormalizeDouble(volume,DigitsLots());
   volume=LotCheck(volume,symb);
   if(!CheckMoneyForTrade(volume,ORDER_TYPE_BUY))
 
Vladimir Karputov:

Dice: archivo de registro enorme. No cabe en el disco, por lo que se interrumpen las pruebas. Utiliza el traductor.

Sé cómo se traduce. Mis registros sólo dan cuenta de la apertura y el cierre. ¿Cómo se hacen las pruebas allí?

 
Алексей Тарабанов:

La pregunta está cerrada. Gracias.


 

El EA no pasa la validación. No hay acción comercial.

He añadido al código la apertura de la orden sin condiciones. (Esto viola la idea de comerciar, pero no afecta al resultado, como dicen "para deleite de los inspectores")

Pero todavía no hay oficios. Algo está mal con la validación...

por favor, ayúdenme a entender

en el Probador de Estrategias funciona...

MT4

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Торговля осуществляется посредством отправки с помощью функции OrderSend() приказов на открытие позиций, а также приказов на установку, модификацию и удаление отложенных ордеров. Каждый торговый приказ содержит указание на тип запрашиваемой торговой операции. Торговые операции описаны в перечислении ENUM_TRADE_REQUEST_ACTIONS...
 
VOLODYMYR MARYNCHENKO:

El EA no pasa la validación. No hay acción comercial.

He añadido al código la apertura de la orden sin condiciones. (Esto viola la idea de comerciar, pero no afecta al resultado, como se dice, "para deleite de los inspectores")

Pero todavía no hay oficios. Algo está mal con la validación...

por favor, ayúdenme a entender

todo funciona en el probador...

Todos los telépatas están de vacaciones. Y la gente común sin código no puede ayudar.

 
Vladimir Karputov:

Todos los telépatas están de vacaciones. Y la gente corriente sin código no puede darte ningún consejo.

si(b == 0)

if(OrderSend(Symbol(), OP_BUY, BuyLot, Ask, iSlippage, 0, 0, "," iMagicNumber, 0, clrGreen) < 0)

Print("Error de envío de pedido #", GetLastError();

 
VOLODYMYR MARYNCHENKO:

si(b == 0)

if(OrderSend(Symbol(), OP_BUY, BuyLot, Ask, iSlippage, 0, 0, ", ", iMagicNumber, 0, clrGreen) < 0)

Print("Error de envío de pedido #", GetLastError());

Código desnudo sin una sola comprobación. Para este tipo de cosas, Market suele ser mejor (no pasa la validación).

 
Vladimir Karputov:

Código desnudo sin una sola validación. Para este tipo de cosas, Market suele dar una palmada (no pasa la validación).

¿quizás hay una plantilla "correcta" con validación? todo el mundo se añadiría y la pregunta desaparecería

 
VOLODYMYR MARYNCHENKO:

¿Existe una plantilla "correcta" con controles? Cada uno añadiría uno para sí mismo y la pregunta desaparecería

También quieren vender eso :) .
 
Aliaksandr Hryshyn:
Y eso es lo que quieren vender :) .
Lo principal es el resultado