Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
en serio, para los recién llegados al mercado es lo que hay que hacer¡, ordenado, informativo, ahora toca lo serio.
las sugerencias de mejora se aceptan fuera de turno =)
Estoy actualmente sentado y pensando - debería publicar symbol_lib y plantilla de Asesor de Expertos, destinado a este propósito =)
y creo que no hay tal necesidad... Si opero en diferentes cuentas - todavía tendré que ejecutar varias terminales, y si opero en una - sólo abriré varias ventanas. Y habría menos confusión, parece...
Será interesante escuchar opiniones y argumentos a los mismos ;)
El tema es interesante, sobre todo si existe la posibilidad de operar las veinticuatro horas del día, (dedicado o ADSL y "servidor").
No soy un programador, pero he implementado el comercio en varios pares, el tema en sí, el indicador se tomó por pura experimentación, está claro que los términos de comercio cada uno elegirá por sí mismo. La única pega es que el EA debería comprobar si las órdenes están ahí y si lo están para el símbolo probado, perdón por el juego de palabras, me aburre.
//----------------Si hay órdenes en el par vl-----------------------
int total=OrdersTotal();
int n=0;
Print ("Total orders==",total);
if (total>0)
{for (cnt=0;cnt>total;cnt++)
{OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
{if(OrderSymbol()==vl)
{n++; return(0);
}
}
}
}
//Print("NNN==",n," ",vl);
Print("STEP==",cnt," ", "Symbol", vl," ", "Orders==",n);
//---------------------------------------------
Este es un trozo de código que no funciona, dime, desde las alturas de la mente de un programador serio, cuál es el "bug"
Sí, deberíamos asignar un MagicNumber al pedido, y luego comprobar después del orderselect - if ( OrderMagicNumber() == _MagicNumber ) {entonces haz algo con la orden.
Probablemente tengas que "trastear" tú mismo para entender cómo funciona ;).
Intentaré facilitarte la vida - la función _MagicNumber (ATENCIÓN: si el par requerido no está en la lista, la magia se generará de forma no original)
///////////////////////////////////////////////////////////////////////////////// /**/ int _MagicNumber( int Expert_Id, string _Symbol, int _Period ) ///////////////////////////////////////////////////////////////////////////////// // Ф-ция генерирует MagicNumber, уникальный для связки Expert_Id - _Symbol - _Period. // Expert_Id должен быть максимум четырёхзначный (т.е. <= 9999) // Полученый MagicNumber будет 6-ти или 7-мизначный (в зависимости от Символа) и будет выглядеть так: // SSPEEEE, где SS - это код символа (от 1 до 71), P - это код периода (от 1 до 8) и EEEE - Expert_Id (от 1 до 9999) // // Таким образом, даже с одинаковым Expert_Id эксперты, работающие на разных Символах/ТФ будут использовать разные MagicNumber. // Например, при Expert_Id = 1230, _Symbol = GBPUSD и _Period = PERIOD_H1, MagicNumber будет 1141230 // А этот же эксперт, но на графике с периодом PERIOD_W1 будет иметь MagicNumber = 1181230 // Соответственно, если символ графика будет EURAUD, MagicNumber будет 141230 // // т.е. Expert_Id есть смысл менять только если два эксперта работают на одном символе и одном ТФ ///////////////////////////////////////////////////////////////////////////////// { int Period_Id = 9; switch ( _Period ) { case PERIOD_MN1: Period_Id = 8; break; case PERIOD_W1: Period_Id = 7; break; case PERIOD_D1: Period_Id = 6; break; case PERIOD_H4: Period_Id = 5; break; case PERIOD_H1: Period_Id = 4; break; case PERIOD_M15: Period_Id = 3; break; case PERIOD_M5: Period_Id = 2; break; case PERIOD_M1: Period_Id = 1; break; default: Print( "trade_lib&info_lib - _MagicNumber( ", Expert_Id, ", ", _Symbol, ", ", _Period, " ) - Invalid Period! Function shall reurn 0!" ); return(0); } Period_Id *= 10000; int Symbol_Id = 99; // forex if ( _Symbol == "AUDUSD" ) { Symbol_Id = 1; } if ( _Symbol == "CHFJPY" ) { Symbol_Id = 2; } if ( _Symbol == "EURAUD" ) { Symbol_Id = 3; } if ( _Symbol == "EURCAD" ) { Symbol_Id = 4; } if ( _Symbol == "EURCHF" ) { Symbol_Id = 5; } if ( _Symbol == "EURGBP" ) { Symbol_Id = 8; } if ( _Symbol == "EURJPY" ) { Symbol_Id = 7; } if ( _Symbol == "EURUSD" ) { Symbol_Id = 6; } if ( _Symbol == "GBPCHF" ) { Symbol_Id = 9; } if ( _Symbol == "GBPJPY" ) { Symbol_Id = 10; } if ( _Symbol == "GBPUSD" ) { Symbol_Id = 11; } if ( _Symbol == "USDCAD" ) { Symbol_Id = 12; } if ( _Symbol == "USDCHF" ) { Symbol_Id = 13; } if ( _Symbol == "USDJPY" ) { Symbol_Id = 14; } // stock if ( _Symbol == "GOLD" ) { Symbol_Id = 15; } //cfd if ( _Symbol == "#AA" ) { Symbol_Id = 16; } if ( _Symbol == "#AIG" ) { Symbol_Id = 17; } if ( _Symbol == "#AXP" ) { Symbol_Id = 18; } if ( _Symbol == "#BA" ) { Symbol_Id = 19; } if ( _Symbol == "#C" ) { Symbol_Id = 20; } if ( _Symbol == "#CAT" ) { Symbol_Id = 21; } if ( _Symbol == "#DD" ) { Symbol_Id = 22; } if ( _Symbol == "#DIA" ) { Symbol_Id = 23; } if ( _Symbol == "#DIS" ) { Symbol_Id = 24; } if ( _Symbol == "#EK" ) { Symbol_Id = 25; } if ( _Symbol == "#GE" ) { Symbol_Id = 26; } if ( _Symbol == "#GM" ) { Symbol_Id = 27; } if ( _Symbol == "#HD" ) { Symbol_Id = 28; } if ( _Symbol == "#HON" ) { Symbol_Id = 29; } if ( _Symbol == "#HPQ" ) { Symbol_Id = 30; } if ( _Symbol == "#IBM" ) { Symbol_Id = 31; } if ( _Symbol == "#INTC" ) { Symbol_Id = 32; } if ( _Symbol == "#IP" ) { Symbol_Id = 33; } if ( _Symbol == "#JNJ" ) { Symbol_Id = 34; } if ( _Symbol == "#JPM" ) { Symbol_Id = 35; } if ( _Symbol == "#KO" ) { Symbol_Id = 36; } if ( _Symbol == "#MCD" ) { Symbol_Id = 37; } if ( _Symbol == "#MMM" ) { Symbol_Id = 38; } if ( _Symbol == "#MO" ) { Symbol_Id = 39; } if ( _Symbol == "#MRK" ) { Symbol_Id = 40; } if ( _Symbol == "#MSFT" ) { Symbol_Id = 41; } if ( _Symbol == "#PFE" ) { Symbol_Id = 42; } if ( _Symbol == "#PG" ) { Symbol_Id = 43; } if ( _Symbol == "#QQQ" ) { Symbol_Id = 44; } if ( _Symbol == "#SBC" ) { Symbol_Id = 45; } if ( _Symbol == "#SPY" ) { Symbol_Id = 46; } if ( _Symbol == "#T" ) { Symbol_Id = 47; } if ( _Symbol == "#UTX" ) { Symbol_Id = 48; } if ( _Symbol == "#VZ" ) { Symbol_Id = 49; } if ( _Symbol == "#WMT" ) { Symbol_Id = 50; } if ( _Symbol == "#XOM" ) { Symbol_Id = 51; } //futures if ( _Symbol == "#CH5" ) { Symbol_Id = 52; } if ( _Symbol == "#CK5" ) { Symbol_Id = 53; } if ( _Symbol == "#CLG5" ) { Symbol_Id = 54; } if ( _Symbol == "#CLH5" ) { Symbol_Id = 55; } if ( _Symbol == "#CLJ5" ) { Symbol_Id = 56; } if ( _Symbol == "#ENQH5" ) { Symbol_Id = 57; } if ( _Symbol == "#EPH5" ) { Symbol_Id = 58; } if ( _Symbol == "#GOLDG5") { Symbol_Id = 59; } if ( _Symbol == "#GOLDJ5") { Symbol_Id = 60; } if ( _Symbol == "#NGH5" ) { Symbol_Id = 61; } if ( _Symbol == "#NGJ5" ) { Symbol_Id = 62; } if ( _Symbol == "#SH5" ) { Symbol_Id = 63; } if ( _Symbol == "#SK5" ) { Symbol_Id = 64; } if ( _Symbol == "#SLVH" ) { Symbol_Id = 65; } if ( _Symbol == "#WH5" ) { Symbol_Id = 66; } if ( _Symbol == "#WK5" ) { Symbol_Id = 67; } //index if ( _Symbol == "_DJI" ) { Symbol_Id = 68; } if ( _Symbol == "_NQ100" ) { Symbol_Id = 69; } if ( _Symbol == "_NQCOMP") { Symbol_Id = 70; } if ( _Symbol == "_SP500" ) { Symbol_Id = 71; } if ( Symbol_Id == 99 ) { Print( "trade_lib&info_lib - _MagicNumber( ", Expert_Id, ", ", _Symbol, ", ", _Period, " ) - Invalid Symbol! Function shall reurn 0!" ); return(0); } Symbol_Id *= 100000; return(Expert_Id + Period_Id + Symbol_Id); }[qoute]
Lo tengo, gracias por MN, un enorme agradecimiento especial por la biblioteca, lo probaré