Publi

Publi

Página 11 de 33 PrimerPrimer ... 78910111213141521 ... ÚltimoÚltimo
Resultados 101 al 110 de 328


  1. #101
    Avatar de Manueltrix
    Heidelbergensis


    Reputación:
    Poder de reputación: 10

    Mensajes: 1,967
    Créditos: 155

    Re: Paso a paso Forex Tester 1


    Publi
    Super! Te doy las gracias por lo mucho que aportas al foro Andres.

    Gracias y reputacion si me deja y sino te la debo.

    Saludos y suerte
    Foro de Forex Trading United




  2.                         
    Publi
  3. #102
    Avatar de Alcatraz
    antecessor


    Reputación:
    Poder de reputación: 6

    Mensajes: 392
    Créditos: 159

    Re: Paso a paso Forex Tester 1

    Cita Iniciado por Manueltrix Ver mensaje
    Super! Te doy las gracias por lo mucho que aportas al foro Andres.

    Gracias y reputacion si me deja y sino te la debo.

    Saludos y suerte
    Bueno, en realidad no aporto todo lo que quisiera aportar en estos momentos .

    Un Abrazo amigo
    Manueltrix.
    Foro de Forex Trading United



  4. #103
    Avatar de Peyton
    Heidelbergensis


    Reputación:
    Poder de reputación: 14

    Mensajes: 2,356
    Créditos: 1,461

    Re: Paso a paso Forex Tester 1

    Cita Iniciado por Andrés Roldán C Ver mensaje

    Que bien que estos vídeos tengan un espacio en el foro, espero que les sirva Mucho a todos
    .
    Ya saben si tienen alguna duda, por acá estaré disponible

    Un Cordial Saludo !
    un gran trabajo andres. es un gusto contar con gente como tu.

    saludos
    Foro de Forex Trading United




  5. #104
    Avatar de Samuu
    Heidelbergensis


    Reputación:
    Poder de reputación: 10

    Mensajes: 1,334
    Créditos: 249

    Re: Paso a paso Forex Tester 1

    De mayor quiero ser como tu Andres. Me han encantado los tutoriales... odio la voz metalica esa pero me ha encantado el contenido . Muchas gracias de verdad. Algunas cosas ni las sabia hacer como lo de importar datos.


    Saludos
    Samuu
    Foro de Forex Trading United

  6. #105
    Avatar de Alcatraz
    antecessor


    Reputación:
    Poder de reputación: 6

    Mensajes: 392
    Créditos: 159

    Re: Paso a paso Forex Tester 1

    Cita Iniciado por Peyton Ver mensaje
    un gran trabajo andres. es un gusto contar con gente como tu.

    saludos
    Pues lo mismo Amigo Peyton , aunque no te des cuenta, sos de los que mas me han aportado en mi desarrollo como Trader.
    Muchas Gracias

    Cita Iniciado por Samuu Ver mensaje
    De mayor quiero ser como tu Andres. Me han encantado los tutoriales... odio la voz metalica esa pero me ha encantado el contenido . Muchas gracias de verdad. Algunas cosas ni las sabia hacer como lo de importar datos.

    Saludos
    Samuu
    Samuu dale una oportunidad a la voz metálica , te aseguro que si los grabo con mi voz, te duermes

    Un Cordial Saludo !
    Foro de Forex Trading United



  7. #106
    Avatar de capitalAmerica
    Heidelbergensis


    Reputación:
    Poder de reputación: 10

    Mensajes: 1,880
    Créditos: 147

    Re: Paso a paso Forex Tester 1

    Cita Iniciado por Andrés Roldán C Ver mensaje

    Que bien que estos vídeos tengan un espacio en el foro, espero que les sirva Mucho a todos
    .
    Ya saben si tienen alguna duda, por acá estaré disponible

    Un Cordial Saludo !
    Muchas gracias Andres, eres el mejor.

    Paso a paso Forex Tester 1-joker_aplauso.gif
    Foro de Forex Trading United



  8. #107
    Avatar de Wolfman
    Heidelbergensis


    Reputación:
    Poder de reputación: 15

    Mensajes: 2,052
    Créditos: 7,617

    Re: Paso a paso Forex Tester 1

    Gran trabajo y denota gran capacidad de colaboración y dedicación.

    Felicitaciones mi amigo y reputación de has mandado de nuevo.

    Saludos.
    Foro de Forex Trading United



    "La mente es como un paracaídas, sólo funciona si se abre. Albert Einstein

  9. #108
    Avatar de juancarlito2
    Erectus


    Reputación:
    Poder de reputación: 4

    Mensajes: 84
    Créditos: 52

    Re: Paso a paso Forex Tester 1

    muchísimas gracias por el aporte
    Foro de Forex Trading United



  10. #109
    Avatar de david2013



    Reputación:
    Poder de reputación: 4

    Mensajes: 41
    Créditos: 94

    Re: Paso a paso Forex Tester 1

    Perdón si este no es el hilo adecuado... el caso es que he conseguido un par de indicadores que me hace cajas en el forex tester pero sólo me deja aplicarlo una vez al gráfico y no encuentro la forma de que me deje ponerlo varias veces para así poder marcar las sesiones asiática, europea y americana.

    -El TimeBox sólo te deja marcar horas y no permite meter minutos, es decir, no te deja poner que la caja empiece a las 9.30, sólo horas enteras. De este tengo el código y además marca el rango de cada caja con lo que sería una herramienta muy útil...
    Os lo pego aquí al final.

    - Luego tengo uno que hace cajas en minutos pero no me deja poner más cajas ni editarlo porque está en dll y no tengo ni pajalera idea de cómo modificarlo. Lo teneis en este enlace Download box.zip from Sendspace.com - send big files the easy way.
    Este para usarlo como caja simple lo que hago es poner 0 de filtro en horas y espacio hacia la derecha con lo cual tengo la caja con el rango en el periodo que quiero.

    La historia es que no sé compilar el código para conseguir la dll y no sé cambiar la el código del timebox para que me deje meterle tiempo en minutos... vamos que tengo dos partes del puzzle pero no hay bowlings a unirlas ;-(
    Lo que quiero ver es algo como esto ... en metatrader es bastante fácil de hacer con el isessions pero en forextester llevo dos días dándole vueltas y no hay forma de replicarlo para hacer los tests.

    Bueno... perdón por el rollo, espero que quede más o menos claro jeje... para mi estreno no ha estado mal aunque me hubiese gustado y sería más educado ayudar primero antes de andar dando la lata...





    //---------------------------------------------------------------------------
    // Timebox 2
    //---------------------------------------------------------------------------
    library TimeBox2;


    uses
    windows,
    graphics,
    SysUtils,
    DateUtils,
    IndicatorInterfaceUnit,
    strUtils,
    Math;


    var
    // External variables
    FromHour: integer = 8;
    ToHour: integer = 18;
    Color1: TColor = clBlue;
    displayText: boolean = true;


    //---------------------------------------------------------------------------
    // Initialize indicator
    //---------------------------------------------------------------------------
    procedure Init; stdcall;
    begin
    // define properties
    IndicatorShortName('Time Box 2');
    SetOutputWindow(ow_ChartWindow);


    // register options
    AddSeparator('Common');


    RegOption('From hour', ot_Integer, FromHour);
    SetOptionRange('From hour', 0, 23);


    RegOption('To hour', ot_Integer, ToHour);
    SetOptionRange('To hour', 0, 23);


    RegOption('Fill color', ot_Color, Color1);


    RegOption('Display price range', ot_Boolean, displayText);


    // create buffers
    IndicatorBuffers(0);
    end;


    function GetObjName(startDate: TDateTime): ansiString;
    begin
    result := format('TimeBoxText_%d_%d_%d_%d_%d_%d', [FromHour, ToHour, YearOf(startDate), MonthOf(startDate), DayOf(startDate), HourOf(startDate)]);
    end;


    function GetLabelText(highestPrice: double; lowestPrice: double): string;
    begin
    result := 'range = ' + inttostr(round((highestPrice - lowestPrice) / Point)) + ' pips';
    end;


    procedure DisplayBoxText(startDate: TDateTime; highestPrice: double; lowestPrice: double);
    begin
    if (ObjectExists(GetObjName(startDate))) then
    begin
    ObjectDelete(GetObjName(startDate));
    end;
    if (displayText) then begin
    ObjectCreate(GetObjName(startDate), obj_Text, 0, startDate, lowestPrice);
    ObjectSetText(GetObjName(startDate), GetLabelText(highestPrice, lowestPrice), 10, 'Arial', clGray);
    ObjectSet(GetObjName(startDate), OBJPROP_VALIGNMENT, tlTop);
    ObjectSet(GetObjName(startDate), OBJPROP_HALIGNMENT, taLeftJustify);
    end;
    end;


    //---------------------------------------------------------------------------
    // Calculate requested bar
    //---------------------------------------------------------------------------
    procedure Calculate(index: integer); stdcall;
    begin


    end;


    procedure DrawBox(startBarIndex: integer; endBarIndex: integer; bmp: TBitmap; ChartInfo: TChartInfo; canvas: TCanvas; R1: TRect);
    var
    R: TRect;
    highestPrice, lowestPrice: double;
    startDate: TDateTime;
    startBoxIndex, endBoxIndex: integer;
    begin
    if ((endBarIndex > ChartInfo.FirstIndex) or (startBarIndex < ChartInfo.LastIndex)) then
    begin
    exit;
    end;

    startBoxIndex := Min(startBarIndex, ChartInfo.FirstIndex);
    endBoxIndex := Max(endBarIndex, ChartInfo.LastIndex);


    highestPrice := High(iHighest(Symbol, Timeframe, MODE_HIGH, abs(startBarIndex - endBarIndex), endBarIndex));
    lowestPrice := Low(iLowest(Symbol, Timeframe, MODE_LOW, abs(startBarIndex - endBarIndex), endBarIndex));
    startDate := iTime(Symbol, Timeframe, startBoxIndex);
    // endDate := iTime(Symbol, Timeframe, endBoxIndex);
    R.Left := ChartToScrX(startBoxIndex) + (ChartInfo.BarWidth div 2);
    R.Right := ChartToScrX(endBoxIndex)- (ChartInfo.BarWidth div 2);
    R.Top := ChartToScrY(highestPrice);
    R.Bottom := ChartToScrY(lowestPrice);


    DisplayBoxText(startDate, highestPrice, lowestPrice);


    canvas.CopyRect(R, bmp.Canvas, R1);
    end;


    procedure DeleteAllObjStartingFrom(prefix: string);
    var i: integer;
    objsToDelete: array of ansiString;
    begin
    for I := 0 to ObjectsTotal - 1 do
    begin
    if Pos(prefix, ObjectName(i)) > 0 then
    begin
    SetLength(objsToDelete, Length(objsToDelete) + 1);
    objsToDelete[Length(objsToDelete) - 1] := ObjectName(i);
    end;
    end;


    for I := 0 to (Length(objsToDelete) - 1) do
    begin
    ObjectDelete(objsToDelete[i]);
    end;
    end;


    procedure DeleteAllAssocObjs();
    begin
    DeleteAllObjStartingFrom(format('TimeBoxText_%d_%d ', [FromHour, ToHour]));
    end;


    procedure DeleteAllTimeBoxObjs();
    begin
    DeleteAllObjStartingFrom('TimeBoxText');
    end;


    //---------------------------------------------------------------------------
    // paint
    //---------------------------------------------------------------------------
    procedure OnPaint(handle: integer); stdcall;
    var
    canvas: TCanvas;
    ChartInfo: TChartInfo;
    i: integer;
    R1: TRect;
    bmp: TBitmap;
    startIndex, endIndex: integer;


    currentStartIndex: integer;
    begin
    DeleteAllAssocObjs();


    if not(GetChartInfo(ChartInfo)) then
    exit;


    if ChartInfo.FirstIndex <= ChartInfo.LastIndex then
    exit;


    if Timeframe >= PERIOD_D1 then exit;


    bmp := TBitmap.Create;
    bmp.Width := 10;
    bmp.Height := 10;
    with bmp.Canvas do
    begin
    brush.Style := bsSolid;
    brush.Color := Color1;
    pen.Style := psClear;
    SetRect(R1, 0, 0, 10, 10);
    FillRect(R1);
    end;


    // create canvas
    canvas := TCanvas.Create;
    try
    canvas.Handle := handle;


    with canvas do
    begin
    //--KH: Change below ---
    canvas.CopyMode := cmSrcCopy; //cmSrcInvert;


    //
    currentStartIndex := 0;
    startIndex := Min(ChartInfo.FirstIndex + (PERIOD_D1 div Timeframe), Bars);
    endIndex := Max(ChartInfo.LastIndex - (PERIOD_D1 div Timeframe), 0);


    for i:=startIndex downto endIndex do
    begin
    if (HourOf(Time(i)) >= FromHour) and (HourOf(Time(i)) < ToHour) then
    begin
    if (currentStartIndex = 0) then
    begin
    currentStartIndex := i;
    end;
    end else
    begin
    if currentStartIndex<>0 then begin
    DrawBox(currentStartIndex, i, bmp, ChartInfo, canvas, R1);
    currentStartIndex := 0;
    end;
    end;
    end;


    if currentStartIndex<>0 then begin
    DrawBox(currentStartIndex, i, bmp, ChartInfo, canvas, R1);
    currentStartIndex := 0;
    end;


    end;


    finally
    canvas.Free;
    bmp.Free;
    end;
    end;


    procedure OnParametersChange; stdcall;
    begin
    DeleteAllTimeBoxObjs();
    end;


    procedure Done; stdcall;
    begin
    DeleteAllAssocObjs();
    end;




    exports


    Init, Calculate, OnPaint, Done, OnParametersChange;


    begin


    end.
    Foro de Forex Trading United

     

  11. #110
    Avatar de david2013



    Reputación:
    Poder de reputación: 4

    Mensajes: 41
    Créditos: 94

    Re: Paso a paso Forex Tester 1


    Publi
    A ver si alguien sabe como solucionar esto... quiero poner estas cajitas como las de la foto en el forex tester y no hay forma.
    He conseguido un indicador que hace las cajas y calcula el rango pero no me deja meter minutos, sólo horas exactas, por ejemplo no puedo poner cajas a las 9.30... además de este "big problem" tengo otro y es que el muy capullo del forex tester sólo me deja aplicar el indicador una vez en cada chart con lo que lo de tener 4 cajas pues está complicado.
    He probado a copiar la dll 4 veces con nombres distintos pero como el indicador que crean es siempre el mismo con el mismo nombre pues no hay pelotas... supongo q esa es la parte fácil, cambias el nombre del indicador antes de compilar y listo pero sabe alguien hacer que me deje hacer cajas sin ser en las horas en punto?
    Os pego el código... gracias de antemano ... sólo entender mis explicaciones merece un master ;-)


    //---------------------------------------------------------------------------
    // Timebox 2
    //---------------------------------------------------------------------------
    library TimeBox2;


    uses
    windows,
    graphics,
    SysUtils,
    DateUtils,
    IndicatorInterfaceUnit,
    strUtils,
    Math;


    var
    // External variables
    FromHour: integer = 8;
    ToHour: integer = 18;
    Color1: TColor = clBlue;
    displayText: boolean = true;


    //---------------------------------------------------------------------------
    // Initialize indicator
    //---------------------------------------------------------------------------
    procedure Init; stdcall;
    begin
    // define properties
    IndicatorShortName('Time Box 2');
    SetOutputWindow(ow_ChartWindow);


    // register options
    AddSeparator('Common');


    RegOption('From hour', ot_Integer, FromHour);
    SetOptionRange('From hour', 0, 23);


    RegOption('To hour', ot_Integer, ToHour);
    SetOptionRange('To hour', 0, 23);


    RegOption('Fill color', ot_Color, Color1);


    RegOption('Display price range', ot_Boolean, displayText);


    // create buffers
    IndicatorBuffers(0);
    end;


    function GetObjName(startDate: TDateTime): ansiString;
    begin
    result := format('TimeBoxText_%d_%d_%d_%d_%d_%d', [FromHour, ToHour, YearOf(startDate), MonthOf(startDate), DayOf(startDate), HourOf(startDate)]);
    end;


    function GetLabelText(highestPrice: double; lowestPrice: double): string;
    begin
    result := 'range = ' + inttostr(round((highestPrice - lowestPrice) / Point)) + ' pips';
    end;


    procedure DisplayBoxText(startDate: TDateTime; highestPrice: double; lowestPrice: double);
    begin
    if (ObjectExists(GetObjName(startDate))) then
    begin
    ObjectDelete(GetObjName(startDate));
    end;
    if (displayText) then begin
    ObjectCreate(GetObjName(startDate), obj_Text, 0, startDate, lowestPrice);
    ObjectSetText(GetObjName(startDate), GetLabelText(highestPrice, lowestPrice), 10, 'Arial', clGray);
    ObjectSet(GetObjName(startDate), OBJPROP_VALIGNMENT, tlTop);
    ObjectSet(GetObjName(startDate), OBJPROP_HALIGNMENT, taLeftJustify);
    end;
    end;


    //---------------------------------------------------------------------------
    // Calculate requested bar
    //---------------------------------------------------------------------------
    procedure Calculate(index: integer); stdcall;
    begin


    end;


    procedure DrawBox(startBarIndex: integer; endBarIndex: integer; bmp: TBitmap; ChartInfo: TChartInfo; canvas: TCanvas; R1: TRect);
    var
    R: TRect;
    highestPrice, lowestPrice: double;
    startDate: TDateTime;
    startBoxIndex, endBoxIndex: integer;
    begin
    if ((endBarIndex > ChartInfo.FirstIndex) or (startBarIndex < ChartInfo.LastIndex)) then
    begin
    exit;
    end;

    startBoxIndex := Min(startBarIndex, ChartInfo.FirstIndex);
    endBoxIndex := Max(endBarIndex, ChartInfo.LastIndex);


    highestPrice := High(iHighest(Symbol, Timeframe, MODE_HIGH, abs(startBarIndex - endBarIndex), endBarIndex));
    lowestPrice := Low(iLowest(Symbol, Timeframe, MODE_LOW, abs(startBarIndex - endBarIndex), endBarIndex));
    startDate := iTime(Symbol, Timeframe, startBoxIndex);
    // endDate := iTime(Symbol, Timeframe, endBoxIndex);
    R.Left := ChartToScrX(startBoxIndex) + (ChartInfo.BarWidth div 2);
    R.Right := ChartToScrX(endBoxIndex)- (ChartInfo.BarWidth div 2);
    R.Top := ChartToScrY(highestPrice);
    R.Bottom := ChartToScrY(lowestPrice);


    DisplayBoxText(startDate, highestPrice, lowestPrice);


    canvas.CopyRect(R, bmp.Canvas, R1);
    end;


    procedure DeleteAllObjStartingFrom(prefix: string);
    var i: integer;
    objsToDelete: array of ansiString;
    begin
    for I := 0 to ObjectsTotal - 1 do
    begin
    if Pos(prefix, ObjectName(i)) > 0 then
    begin
    SetLength(objsToDelete, Length(objsToDelete) + 1);
    objsToDelete[Length(objsToDelete) - 1] := ObjectName(i);
    end;
    end;


    for I := 0 to (Length(objsToDelete) - 1) do
    begin
    ObjectDelete(objsToDelete[i]);
    end;
    end;


    procedure DeleteAllAssocObjs();
    begin
    DeleteAllObjStartingFrom(format('TimeBoxText_%d_%d ', [FromHour, ToHour]));
    end;


    procedure DeleteAllTimeBoxObjs();
    begin
    DeleteAllObjStartingFrom('TimeBoxText');
    end;


    //---------------------------------------------------------------------------
    // paint
    //---------------------------------------------------------------------------
    procedure OnPaint(handle: integer); stdcall;
    var
    canvas: TCanvas;
    ChartInfo: TChartInfo;
    i: integer;
    R1: TRect;
    bmp: TBitmap;
    startIndex, endIndex: integer;


    currentStartIndex: integer;
    begin
    DeleteAllAssocObjs();


    if not(GetChartInfo(ChartInfo)) then
    exit;


    if ChartInfo.FirstIndex <= ChartInfo.LastIndex then
    exit;


    if Timeframe >= PERIOD_D1 then exit;


    bmp := TBitmap.Create;
    bmp.Width := 10;
    bmp.Height := 10;
    with bmp.Canvas do
    begin
    brush.Style := bsSolid;
    brush.Color := Color1;
    pen.Style := psClear;
    SetRect(R1, 0, 0, 10, 10);
    FillRect(R1);
    end;


    // create canvas
    canvas := TCanvas.Create;
    try
    canvas.Handle := handle;


    with canvas do
    begin
    //--KH: Change below ---
    canvas.CopyMode := cmSrcCopy; //cmSrcInvert;


    //
    currentStartIndex := 0;
    startIndex := Min(ChartInfo.FirstIndex + (PERIOD_D1 div Timeframe), Bars);
    endIndex := Max(ChartInfo.LastIndex - (PERIOD_D1 div Timeframe), 0);


    for i:=startIndex downto endIndex do
    begin
    if (HourOf(Time(i)) >= FromHour) and (HourOf(Time(i)) < ToHour) then
    begin
    if (currentStartIndex = 0) then
    begin
    currentStartIndex := i;
    end;
    end else
    begin
    if currentStartIndex<>0 then begin
    DrawBox(currentStartIndex, i, bmp, ChartInfo, canvas, R1);
    currentStartIndex := 0;
    end;
    end;
    end;


    if currentStartIndex<>0 then begin
    DrawBox(currentStartIndex, i, bmp, ChartInfo, canvas, R1);
    currentStartIndex := 0;
    end;


    end;


    finally
    canvas.Free;
    bmp.Free;
    end;
    end;


    procedure OnParametersChange; stdcall;
    begin
    DeleteAllTimeBoxObjs();
    end;


    procedure Done; stdcall;
    begin
    DeleteAllAssocObjs();
    end;




    exports


    Init, Calculate, OnPaint, Done, OnParametersChange;


    begin


    end.


    Foro de Forex Trading United

     

Página 11 de 33 PrimerPrimer ... 78910111213141521 ... ÚltimoÚltimo
Publi
Publi


Aviso Legal
Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal