[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 652

 
wenay:

Tarea: Tienes que encontrar la garrapata de una orden recién aparecida para esta TS en particular sin usar un magik .
Comprobar la hora de apertura del pedido y extraer el último abierto por tiempo
 
sanyooooook:
Comprueba los horarios de apertura de los pedidos y saca el último que se haya abierto


Esto es lo que he pensado: basta con comparar todos los parámetros, hay una empresa de corretaje en la que la nueva orden será la última, hay aquellas en las que el momento de apertura coincide con una orden de cierre parcial, por lo que procesaré 2 momentos.

Creo que la pregunta está cerrada. Gracias

 
ToLik_SRGV:
Muchas gracias, no he podido encontrar dicho artículo en el foro, si realmente no existe dicha información, creo que valdría la pena añadirla a los moderadores en la sección correspondiente
 

Cómo se puede implementar la inscripción en la esquina superior derecha:

if (naklon> naklonmax) printvuglusprv(" tendencia al alza, no se permite el cortocircuito)

 
Craft:

Buena gente, tened piedad - no consigo: comprar/vender después de otro pico de CCI suavizado.

Intenté declarar el segundo buffer (tiene más sentido para mí), no hay errores, registro - silencioso, impresión, probablemente como una cabra - no entiendo nada.

El anexo contiene el Asesor Experto completo. Después de probar en la visualización, el CCI se dibuja tanto en esta versión como en la antigua (el archivo adjunto está trazado), pero el suavizado no y por lo tanto las operaciones no se abren.

Variante antigua:

Entiendo que el tiempo nadie tiene el problema de los demás para resolver, dime al menos dónde exactamente para insertar Imprimir y dónde buscar la retroalimentación en el diario o los registros y lo que hay que prestar atención.

Primero debe insertar Print() aquí:

double c1s[];
   ArrayResize(c1s,PeriodS);
   double c1s_1[];
   ArrayResize(c1s_1,AvgS);
   for(i=1;i<=PeriodS;i++)
   {
   c1s[i]=iCCI(NULL,0,PeriodS,PRICE_TYPICAL,i);
   {
   c1s_1[i]=iMAOnArray(c1s,0,AvgS,0,MODE_SMA,i);
   }
   }

Print("NormalizeDouble(c1b_1[i],4) - ",NormalizeDouble(c1b_1[i],4));
Print("NormalizeDouble(c1b_1[i+2],4) - ",NormalizeDouble(c1b_1[i+2],4));
Print("NormalizeDouble(c1b_1[i+3],4) - ",NormalizeDouble(c1b_1[i+3],4));

if (NormalizeDouble(c1b_1[i],4)<NormalizeDouble(c1b_1[i+2],4)&&NormalizeDouble(c1b_1[i+2],4)>NormalizeDouble(c1b_1[i+3],4))
     {                                          // 
      Opn_B=true;                               // Критерий откр. Buy
      Cls_S=true;                               // Критерий закр. Sell
     }
para asegurarse de que la matriz c1b_1[i] está vacía, por lo que la comparación de los ceros en si, por supuesto, no hay ofertas abiertas.

Y ceros ahí porque el periodo de promediación en la función iMAOnArray(c1b,0,AvgB,0,MODE_SMA,i) ( extern int AvgB=25;) es mayor que el propio array c1b, ArrayResize(c1b,PeriodB ) (extern int PeriodB=20;), por lo que no puede promediar nada.

 
Rossi:

Cómo se puede implementar la inscripción en la esquina superior derecha:

if (naklon> naklonmax) printvuglusprv(" tendencia al alza, no se permite el cortocircuito)

int init()
  {
   if(!ObjectCreate("control", OBJ_LABEL, 0, 0, 0))Print("error: can't create text_object! code #",GetLastError());
      else{
            ObjectSet("control", OBJPROP_CORNER, 0 );
            ObjectSet("control",OBJPROP_XDISTANCE,30);
            ObjectSet("control",OBJPROP_YDISTANCE,40);
            ObjectSetText("control", "NO BUY", 18, "Times New Roman", Red);
           }
   return(0);
  }

int start()
  {
if ( naklon> naklonmax )  ObjectSetText("control", "тренд вверх, шорт запрещен", 18, "Times New Roman", Blue);


return(0);
}
los corchetes no comprueban
 
IgorM:
contar los paréntesis no comprobó

En deinit, probablemente tendrías que limpiar la ventana 0 después para barrerla... :)
 
IgorM:
contar los paréntesis no lo comprobó.


Gracias, me he equivocado, no quiero una impresión, quiero una inscripción en la pantalla ...

Pensé que se hacía en una línea...

 

En el indicador Indexes_v8L he cambiado las monedas

"AUDUSD", "EURUSD", "GBPUSD", "NZDUSD", "USDCAD", "USDCHF", "USDJPY"

a

"EURUSD", "EURGBP", "EURJPY", "EURAUD", "EURCAD", "EURNZD"

La línea GBP ha desaparecido.

¿Dónde cavar?

Archivos adjuntos:
 
Rossi:


Gracias, me he equivocado, no quiero una impresión, quiero un título de pantalla ...

Pensé que era una línea...

Te han dicho cómo hacer la letra en la pantalla:

if ( naklon> naklonmax )  ObjectSetText("control", "тренд вверх, шорт запрещен", 18, "Times New Roman", Blue);

18 - tamaño de letra, Times New Roman - nombre de la letra, Azul - color de la inscripción... Escriba sus propios valores en su lugar...

Todas las demás líneas son la preparación de los objetos gráficos para mostrarlos en la pantalla. No puedes hacer nada sin ella.

ObjectSet("control", OBJPROP_CORNER, 1 );  // Устанавливает в каком углу окна будет выводиться надпись 0 = лево-верх, 1 = право-верх, 2 и 3 низ
ObjectSet("control",OBJPROP_XDISTANCE,30); // Устанавливает координату X будущей надписи
ObjectSet("control",OBJPROP_YDISTANCE,40); // Устанавливает координату Y будущей надписи
ObjectSetText("control", "NO BUY", 18, "Times New Roman", Red); // Эту строку в init() можете не писать, тогда не будет сразу надписи NO BUY
                                                                // Далее, уже по ходу основной программы в ф-ции start() проверяете условия и
                                                                // при их выполнении выводите строку в уже заранее заданные координаты:
if ( naklon> naklonmax )  ObjectSetText("control", "тренд вверх, шорт запрещен", 18, "Times New Roman", Blue);
 

O escriba Comentario` en la esquina superior izquierda. Tienes que pensar menos allí...

Razón de la queja: