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

 

Buenos días a todos.

He intentado escribir un indicador, parece que funciona, pero sólo en el historial dibuja como estaba previsto y luego cuando entran nuevas cotizaciones dibuja una máscara habitual.

Se adjunta el código:

int start()
{
int counted_bars=IndicatorCounted();
int i,n;
double Stark=0;
//----
i=Bars-counted_bars-1;//+50;
// n=Bars-counted_bars-1;
while(i>=0)
{
//----

double Ma=iMA(NULL,0,PerMa,Shift,MODE_EMA,PRICE_CLOSE,i);
//double Ma1=iMA(NULL,0,PerMa,Shift,MODE_EMA,PRICE_CLOSE,i+1);
if(Stark+Step*Point<Ma)Stark=Ma;
if(Stark-Step*Point>Ma)Stark=Ma;
ABuf[i]=Stark;

//----
i--;
}
return(0);
}


Por favor, ayúdenme a arreglarlo para que siga dibujando pasos.

Se lo agradecería mucho.

Gek.

 
¡¡¡Buenas tardes!!! Por favor, recuérdame cómo escribir la expresión correctamente, porque el compilador lo jura. Asígnalo, un punto y coma parece redundante.
int schet=0;
int start()
  { double Lots;
//----
 for(schet;schet<kolitsestvo;schet++){
 
Dimka-novitsek:
¡¡¡Buenas tardes!!! Por favor, recuérdame cómo escribir la expresión correctamente, porque el compilador lo jura. Asígnalo, un punto y coma parece redundante.

Cambia las dos primeras líneas.
 

Más concretamente


int start()
{ double Lots; int schet=0;
//----
for(schet;schet<kolitsestvo;schet++){

 
Top2n:

ticket de la última posición cerrada==con la posición pendiente establecida + 1

Hola, ¿el servidor sólo abre posiciones para ti?

La función OrderSend tiene un campo mágico - utilícelo.

 

        int schet=0;
int start()
  { double Lots;
//----
 if(schet<kolitsestvo){schet++;
Gek34:



Cambia las dos primeras líneas.


Lo siento, ¿el bucle se ejecutará entonces el número de veces? No, aquí pensé... no, definitivamente va a estar en todas las tildes. Bien, lo pensaré. Gracias.

Lo pensaré.

 
Dimka-novitsek:


Disculpe, ¿el bucle se ejecutará entonces el número de veces? No, estoy pensando... no, definitivamente va a estar en cada tic. Bien, lo pensaré. Lo pensaré. Gracias.

Pensamiento.

Así se ejecutará el número necesario de veces.

int start()
{ double Lots;
//----
for(int schet=0;schet<kolitsestvo;schet++){
 

Señores, no he podido acercarme ni un centímetro a la solución de este problema en todo el día.

¿Cómo implementar este algoritmo en código?

подается сигнал "sig1" срабатывает команда BUY и устанавливается отложенный ордер SELLSTOP ниже ордера BUY.

при закрытие позиции BUY , SELLSTOP тоже удаляется.

Но как быть когда этот BAY не закрылся, и открылся следующий BUY и следующий и т.д.

Этот SELLSTOP который установлен первым нужно как то вычислить, чтоб закрыть после того когда уже и первый BUY закроется.

Может у кого нибудь есть готовый  код. Пробовал через функции Кими в частности: 

пытался возвратить тикет последнего закрытого ордера и сравнить его с тикетом отложенного ордера прибавив к нему 1-( т.к. отложка открывалась всегда после бая)

но нечего не вышло. Помогите плиз без вас не куда)
 

así que ya te lo han dicho antes, ¿no?

Abra una orden de compra - recuerde el Ticket de esta orden

establecer una orden SellStop - escribir el Ticket de esta orden en el Magik de esta orden...

---

llamar a la función al inicio para comprobar la presencia de la orden de compra según el magik en el SellStops...

si no hay una orden de este tipo (de compra) - eliminar el SellStop...

sólo se necesitan 15 líneas de código...

 
Top2n:

Señores, no he podido acercarme ni un centímetro a la solución de este problema en todo el día.

¿Cómo implementar este algoritmo en código?


¿Existe una condición si el mercado es 2, entonces se elimina la orden pendiente?