Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
A sério, para os recém-chegados ao mercado, é a coisa certa a fazer !, limpo, informativo, agora está à altura das coisas sérias.
sugestões de melhorias são aceitas fora de rota =)
Estou atualmente sentado e pensando - devo postar symbol_lib e Expert Advisor template, destinados a este propósito =)
e acho que não há tal necessidade... Se eu negociar em contas diferentes - ainda terei que operar vários terminais, e se eu negociar em um - apenas abrirei várias janelas. E parece que haveria menos confusão...
Será interessante ouvir opiniões e argumentos para eles ;)
O tópico é interessante, especialmente se houver a possibilidade de comércio 24 horas por dia, (dedicado ou ADSL e "servidor").
Não sou um programador, mas implementei o comércio em vários pares, o tema em si, o indicador foi tomado para pura experimentação, é claro que os termos de troca cada um escolherá por si mesmo. O único obstáculo é que a EA deve verificar se as ordens estão lá e se elas estão lá para o símbolo testado, desculpe pelo trocadilho, estou entediado com isso.
//
Se houver pedidos no 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 é um pedaço de código que não funciona, diga-me, do alto da mente de um programador sério, o que é o "bug
Sim, devemos atribuir um MagicNumber ao pedido, e então verificar após o pedido selecionar - se ( OrderMagicNumber() == _MagicNumber ) { depois fazer algo com o pedido.
Você provavelmente precisa "mexer" consigo mesmo para entender como funciona ;).
Tentarei facilitar sua vida - a função _MagicNumber (ATENÇÃO: se o par necessário não estiver na lista, a magia será gerada não-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]
Entendi, obrigado pela MN, muito obrigado especial pela biblioteca, vou experimentar.