【有缘在线源码】【板块选股源码】【海东京的源码】画线源码_缠论画线源码

时间:2024-11-25 03:28:23 来源:溯源码燕窝信息 编辑:家教网源码 php

1.一个画直线的JAVA小程序
2.求一用C语言画直线的画线画线程序
3.精选通达信主图指标之最佳画线(源码分享)
4.文华财经期货波浪高低点画线指标公式源码

画线源码_缠论画线源码

一个画直线的JAVA小程序

       è¿™æ˜¯æˆ‘以前写的一个可以画多颜色多图形的东西,给你看看..

       import java.awt.*;

       import java.awt.event.*;

       import java.util.ArrayList;

       import java.util.Map;

       import javax.swing.*;

       public class DrawBorder extends JFrame implements MouseListener,

        MouseMotionListener {

        // private JComboBox;

        private JLabel label;

        private JLabel labelColor;

        private JLabel labelShape;

        private String[] colors = { "Black", "Blue", "Green", "Cyan", "Gray",

        "Orange", "Red" };

        private String[] shapes = { "Line", "Rectangle", "Oval", "TDRectangle" };

        private Map mpColor;

        private JComboBox comboboxColor;

        private JComboBox comboboxShape;

        ArrayList lstShape;

        protected int x1;

        protected int y1;

        protected int x2;

        protected int y2;

        protected String color;

        private String shape;

        public void display() {

        shape = "Line";

        comboboxShape = new JComboBox(shapes);

        comboboxShape.setMaximumRowCount(shapes.length);

        comboboxShape.addItemListener(new ItemListener() {

        public void itemStateChanged(ItemEvent event) {

        // determine whether check box selected

        if (event.getStateChange() == ItemEvent.SELECTED) {

        shape = shapes[comboboxShape.getSelectedIndex()];

        }

        }

        });

        color = "BLACK";

        comboboxColor = new JComboBox(colors);

        comboboxColor.setMaximumRowCount(colors.length);

        comboboxColor.addItemListener(new ItemListener() {

        public void itemStateChanged(ItemEvent event) {

        if (event.getStateChange() == ItemEvent.SELECTED) {

        color = colors[comboboxColor.getSelectedIndex()];

        }

        }

        });

        label = new JLabel();

        labelShape = new JLabel("图形:");

        labelColor = new JLabel("颜色:");

        label.setText(shape);

        // getContentPane().add(label);

        lstShape = new ArrayList();

        Container container = getContentPane();

        container.setLayout(new FlowLayout());

        container.add(labelShape);

        container.add(comboboxShape);

        container.add(labelColor);

        container.add(comboboxColor);

        container.add(label);

        getContentPane().setBackground(Color.WHITE);

        addMouseListener(this);

        addMouseMotionListener(this);

        setSize(, );

        setVisible(true);

        }

        public void mouseClicked(MouseEvent e) {

        label.setText("单击鼠标在: [" + e.getX() + ", " + e.getY() + "]");

        }

        public void mouseEntered(MouseEvent e) {

        label.setText("鼠标在: [" + e.getX() + ", " + e.getY() + "]");

        }

        public void mouseExited(MouseEvent e) {

        label.setText("鼠标在: [窗口外]");

        }

        public void mousePressed(MouseEvent e) {

        label.setText("按住鼠标在: [" + e.getX() + ", " + e.getY() + "]");

        x1 = e.getX();

        y1 = e.getY();

        }

        public void mouseReleased(MouseEvent e) {

        label.setText("松开鼠标在: [" + e.getX() + ", " + e.getY() + "]");

        // 判断是否按住鼠标并拖动过,如果不则不产生图形

        if (((x1 == 0 && y1 == 0) || (x2 == 0 && y2 == 0)) == false) {

        if (this.shape.equals("Line")) {

        lstShape.add(new Line(x1, y1, x2, y2, color));

        }

        else if (this.shape.equals("Rectangle")) {

        if (x2 > x1 && y2 > y1) {

        lstShape.add(new Rectangle(x1, y1, x2 - x1, y2 - y1, color));

        }

        else if (x2 < x1 && y2 > y1) {

        lstShape.add(new Rectangle(x2, y1, x1 - x2, y2 - y1, color));

        }

        else if (x2 > x1 && y2 < y1) {

        lstShape.add(new Rectangle(x1, y2, x2 - x1, y1 - y2, color));

        }

        else if (x2 < x1 && y2 < y1) {

        lstShape.add(new Rectangle(x2, y2, x1 - x2, y1 - y2, color));

        }

        }

        else if (this.shape.equals("Oval")) {

        if (x2 > x1 && y2 > y1) {

        lstShape.add(new Oval(x1, y1, x2 - x1, y2 - y1, color));

        }

        else if (x2 < x1 && y2 > y1) {

        lstShape.add(new Oval(x2, y1, x1 - x2, y2 - y1, color));

        }

        else if (x2 < x1 && y2 < y1) {

        lstShape.add(new Oval(x2, y2, x1 - x2, y1 - y2, color));

        }

        else if (x2 > x1 && y2 < y1) {

        lstShape.add(new Oval(x1, y2, x2 - x1, y1 - y2, color));

        }

        }

        else if (this.shape.equals("TDRectangle")) {

        if (x2 > x1 && y2 > y1) {

        lstShape.add(new TDRectangle(x1, y1, x2 - x1, y2 - y1, color));

        }

        else if (x2 < x1 && y2 > y1) {

        lstShape.add(new TDRectangle(x2, y1, x1 - x2, y2 - y1, color));

        }

        else if (x2 > x1 && y2 < y1) {

        lstShape.add(new TDRectangle(x1, y2, x2 - x1, y1 - y2, color));

        }

        else if (x2 < x1 && y2 < y1) {

        lstShape.add(new TDRectangle(x2, y2, x1 - x2, y1 - y2, color));

        }

        }

        }

        // 初始化图形坐标

        x1 = y1 = x2 = y2 = 0;

        repaint();

        }

        public void mouseDragged(MouseEvent e) {

        label.setText("拖动鼠标在: [" + e.getX() + ", " + e.getY() + "]");

        x2 = e.getX();

        y2 = e.getY();

        label.setText("图形:" + shape);

        repaint();

        }

        public void mouseMoved(MouseEvent e) {

        label.setText("移动动鼠标在: [" + e.getX() + ", " + e.getY() + "]");

        }

        public void paint(Graphics g) {

        super.paint(g);

        g.setColor(this.toColor());

        if (this.shape.equals("Line")) {

        g.drawLine(x1, y1, x2, y2);

        }

        else if (this.shape.equals("Rectangle")) {

        if (x2 > x1 && y2 > y1) {

        g.drawRect(x1, y1, x2 - x1, y2 - y1);

        }

        else if (x2 < x1 && y2 > y1) {

        g.drawRect(x2, y1, x1 - x2, y2 - y1);

        }

        else if (x2 < x1 && y2 < y1) {

        g.drawRect(x2, y2, x1 - x2, y1 - y2);

        }

        else if (x2 > x1 && y2 < y1) {

        g.drawRect(x1, y2, x2 - x1, y1 - y2);

        }

        }

        else if (this.shape.equals("Oval")) {

        if (x2 > x1 && y2 > y1) {

        g.drawOval(x1, y1, x2 - x1, y2 - y1);

        }

        else if (x2 < x1 && y2 > y1) {

        g.drawOval(x2, y1, x1 - x2, y2 - y1);

        }

        else if (x2 < x1 && y2 < y1) {

        g.drawOval(x2, y2, x1 - x2, y1 - y2);

        }

        else if (x2 > x1 && y2 < y1) {

        g.drawOval(x1, y2, x2 - x1, y1 - y2);

        }

        }

        else if (this.shape.equals("TDRectangle")) {

        if (x2 > x1 && y2 > y1) {

        g.draw3DRect(x1, y1, x2 - x1, y2 - y1, true);

        }

        else if (x2 < x1 && y2 > y1) {

        g.draw3DRect(x2, y1, x1 - x2, y2 - y1, true);

        }

        else if (x2 < x1 && y2 < y1) {

        g.draw3DRect(x2, y2, x1 - x2, y1 - y2, true);

        }

        else if (x2 > x1 && y2 < y1) {

        g.draw3DRect(x1, y2, x2 - x1, y1 - y2, true);

        }

        }

        // 画出存放在list中的图形

        for (Object object : lstShape) {

        if (object.getClass().toString().equals("class DrawBorder$Line")) {

        Line line = (Line) object;

        g.setColor(line.toColor());

        g.drawLine(line.x1, line.y1, line.x2, line.y2);

        }

        else if (object.getClass().toString()

        .equals("class DrawBorder$Rectangle")) {

        Rectangle rectangle = (Rectangle) object;

        g.setColor(rectangle.toColor());

        g.drawRect(rectangle.x1, rectangle.y1, rectangle.x2, rectangle.y2);

        }

        else if (object.getClass().toString().equals("class DrawBorder$Oval")) {

        Oval oval = (Oval) object;

        g.setColor(oval.toColor());

        g.drawOval(oval.x1, oval.y1, oval.x2, oval.y2);

        }

        else if (object.getClass().toString().equals(

        "class DrawBorder$TDRectangle")) {

        TDRectangle tDRectangle = (TDRectangle) object;

        g.setColor(tDRectangle.toColor());

        g.draw3DRect(tDRectangle.x1, tDRectangle.y1, tDRectangle.x2,

        tDRectangle.y2, false);

        }

        }

        }

        public static void main(String[] args) {

        DrawBorder db = new DrawBorder();

        db.display();

        db.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        }

        public Color toColor() {

        if (this.color.equals("Blue")) {

        return Color.BLUE;

        }

        else if (this.color.equals("Green")) {

        return Color.GREEN;

        }

        else if (this.color.equals("Cyan")) {

        return Color.CYAN;

        }

        else if (this.color.equals("Gray")) {

        return Color.GRAY;

        }

        else if (this.color.equals("Orange")) {

        return Color.ORANGE;

        }

        else if (this.color.equals("Red")) {

        return Color.RED;

        }

        else

        return Color.BLACK;

        }

        class Line extends DrawBorder {

        Line(int x1, int y1, int x2, int y2, String color) {

        this.x1 = x1;

        this.y1 = y1;

        this.x2 = x2;

        this.y2 = y2;

        this.color = color;

        }

        }

        class Rectangle extends DrawBorder {

        Rectangle(int x1, int y1, int x2, int y2, String color) {

        this.x1 = x1;

        this.y1 = y1;

        this.x2 = x2;

        this.y2 = y2;

        this.color = color;

        }

        }

        class Oval extends DrawBorder {

        Oval(int x1, int y1, int x2, int y2, String color) {

        this.x1 = x1;

        this.y1 = y1;

        this.x2 = x2;

        this.y2 = y2;

        this.color = color;

        }

        }

        class TDRectangle extends DrawBorder {

        TDRectangle(int x1, int y1, int x2, int y2, String color) {

        this.x1 = x1;

        this.y1 = y1;

        this.x2 = x2;

        this.y2 = y2;

        this.color = color;

        }

        }

       }

求一用C语言画直线的程序

       C语言的话画直线用MoveTo()和LineTo()很简单啊。

       帮你复制一份我学习时老师给的源码源码画线两例:

       #include<graphics.h>

       #include<math.h>

       /*

       ###############################################################################

       功 能:本函数的作用是用逐点比较法来画一条直线

       格 式:void myline1(int x1,int y1,int x2,int y2,int color)

       参数说明:x1,y1是起始点坐标,x2,y2是终止点,color是画线的颜色

       调用示例:myline1(,,,,4)

       ###############################################################################

       */

       void myline1(int x1,int y1,int x2,int y2,int color)

       {

       /*变量定义开始(//增加)*/

       int iTx; /*x轴终点的相对坐标xa或临时变量*/

       int iTy; /*y轴终点的相对坐标ya或临时变量*/

       int iDx; /*x轴方向的步长dx*/

       int iDy; /*y轴方向的步长dy*/

       int iFt; /*偏差Fm*/

       int iSt; /*记数循环数(dx+dy)S*/

       int iXt; /*x方向循环变量xm*/

       int iYt; /*y方向循环变量ym*/

       /*变量定义结束*/

       /*变量初始化开始*/

       /*如果是第三象限或第四象限则换成第一或第二象限*/

       if(y2<y1)

       {

       iTx=x1;

       x1=x2;

       x2=iTx;

       iTy=y1;

       y1=y2;

       y2=iTy;

       }

       iTx=x2-x1; /*取x轴的相对坐标*/

       iTy=y2-y1; /*取y轴的相对坐标*/

       iDx=1;

       iDy=1;

       iFt=0;

       iSt=iTx+iTy;

       if(iTx<0)iSt=-1*iTx+iTy;; /*如果在第二象限,则x轴方向步长取负值*/

       iXt=0;

       iYt=0;

       /*变量初始化结束*/

       /*数据处理开始*/

       while(iSt>0)

       {

       putpixel(x1+iXt,缠论y1+iYt,color);

       if(iTx>=0) /*如果在第一象限*/

       {

       if(iFt<0) /*如果偏差小于0*/

       {

       iYt+=iDy; /*y方向走一步*/

       iFt+=iTx;

       }

       else /*如果偏差大于或等于0*/

       {

       iXt+=iDx; /*x方向走一步*/

       iFt-=iTy;

       }

       }

       else

       {

       if(iFt<0) /*如果偏差小于0*/

       {

       iXt-=iDx; /*负x方向走一步*/

       iFt+=iTy;

       }

       else /*如果偏差大于或等于0*/

       {

       iYt+=iDy; /*y方向走一步*/

       iFt+=iTx;

       }

       }

       iSt--;

       }

       }

       /*

       ###############################################################################

       功 能:本函数的作用是用来画一条直线

       格 式:void myline2(int x1,int y1,int x2,int y2,int color)

       参数说明:x1,y1是起始点坐标,x2,y2是终止点,color是画线的颜色

       调用示例:myline2(,,,,4)

       ###############################################################################

       */

       int myline2(int x1,int y1,int x2,int y2,int color)

       {

       int iX; /*x方向的坐标变量*/

       int iY; /*y方向的坐标变量*/

       int iTx; /*x方向的步长变量*/

       int iTy; /*y方向的步长变量*/

       float fDx; /*x方向的差分变量*/

       float fDy; /*y方向的差分变量*/

       float fMinf; /*算法中的f*/

       float fMaxF; /*算法中的F*/

       float fS; /*终点判断变量*/

       fMinf=0.5; /*f=0.5*/

       iX=x1;

       iY=y1;

       putpixel(x1,y1,color);

       if(x1==x2&&y1==y2) /*如果终点和起始点相同*/

       {

       return(1);

       }

       iTx=1;

       iTy=1;

       fDx=(float)(x2-x1);

       fDy=(float)(y2-y1);

       fMaxF=fDy/fDx>0?fDy/fDx:(-fDy/fDx); /*F=|dy/dx|*/

       if(fDx<0)iTx=-1;

       if(fDy<0)iTy=-1;

       fS=fDx>0?fDx:(-fDx);

       if(fMaxF==1) /*如果F=1*/

       {

       iX=x1;

       iY=y1;

       while(fS>0)

       {

       iX+=iTx; /*x方向走一步*/

       iY+=iTy; /*y方向走一步*/

       putpixel(iX,iY,color);

       fS--;

       }

       }

       else if(fMaxF>1) /*如果F>1*/

       {

       fS+=fDy>0?fDy:(-fDy);

       while(fS>0)

       {

       iY+=iTy; /*y方向走一步*/

       putpixel(iX,iY,color);

       fMinf+=1/fMaxF; /*f=f+1/F*/

       fS--;

       if(fMinf>=1) /*如果f>=1*/

       {

       iX+=iTx; /*x方向走一步*/

       fMinf--; /*f=f-1*/

       putpixel(iX,iY,color);

       fS--;

       }

       }

       }

       else /*如果F<1*/

       {

       fS+=fDy>0?fDy:(-fDy);

       while(fS>0)

       {

       iX+=iTx; /*x方向走一步*/

       putpixel(iX,iY,color);

       fMinf+=fMaxF; /*f=f+F*/

       fS--;

       if(fMinf>=1) /*如果f>=1*/

       {

       iY+=iTy; /*y方向走一步*/

       fMinf--; /*f=f-1*/

       putpixel(iX,iY,color);

       fS--;

       }

       }

       }

       }

精选通达信主图指标之最佳画线(源码分享)

       精选通达信主图最佳画线源码分享,解析关键指标配置。画线画线

       趋势射线配置如下:

       趋势射线3X: DRAWLINE(L=LLV(L,源码源码3),L,C=HHV(C,3),L,0),COLOR9AFF;

       趋势射线7: DRAWLINE(H=HHV(H,7),H,L=LLV(L,7),L,0),COLOR9AFF;

       射线7X: DRAWLINE(L=LLV(L,7),L,H=HHV(H,7),L,0),COLOR9AFF;

       趋势射线: DRAWLINE(H=HHV(H,),H,L=LLV(L,),L,0),COLORCFF;

       射线X: DRAWLINE(L=LLV(L,),L,H=HHV(H,),L,0),COLORCFF;

       趋势射线: DRAWLINE(H=HHV(H,),H,L=LLV(L,),L,0),COLORCB;

       射线X: DRAWLINE(L=LLV(L,),L,H=HHV(H,),L,0),COLORCB;

       趋势射线: DRAWLINE(H=HHV(H,),H,L=LLV(L,),L,0),COLORYELLOW;

       射线X: DRAWLINE(L=LLV(L,),L,H=HHV(H,),L,0),COLORYELLOW;

       上述配置通过计算历史最高价、最低价与当前价格之间的缠论有缘在线源码关系,形成多条趋势线,画线画线用于辅助分析趋势强度。源码源码

       关键点识别逻辑如下:

       A1至D1、缠论D定义了高点识别逻辑,画线画线通过比较当前价格与历史价格的源码源码高低点,绘制蓝色高点线。缠论

       A2至D2、画线画线板块选股源码T、源码源码U定义了低点识别逻辑,缠论类似地,绘制蓝色低点线。

       M参数用于计算更长周期的高点和低点识别,绘制红色高点线和红色低点线,海东京的源码以提供更长远的趋势指引。

       最后的VAR至VAR部分使用了比较与交叉逻辑,通过计算历史最高价与最低价,并与当前收盘价进行比较,确定压力位与支撑位,以辅助交易决策。物联系统源码

       以上代码展示了通达信主图的高级画线技巧,通过综合多条趋势线与关键点识别,为投资者提供了直观且丰富的市场分析工具。在实际应用中,需结合具体市场情况和交易策略进行调整与优化。

文华财经期货波浪高低点画线指标公式源码

       文华财经期货波浪高低点画线指标公式源码

       为捕捉期货市场的趋势绝杀源码下载波浪高低点,以下源码提供了一种实用的指标计算方式。

       首先,我们定义了窗口大小N为。

       接下来,我们通过HHX变量检查当前最高价是否在过去N天中最高,若成立则HHX变为真。

       NH表示HHX变为真后的天数累计。

       类似地,我们定义了LLX和NL变量,用于检查最低价的相对位置。

       AH和AL变量根据特定逻辑判断波浪高低点,并使用BACKSET函数记录。

       TT变量用于判断是否为最后一天的交易。

       使用DRAWLINE1函数绘制交叉点时的线条,当AH等于1且TT为真时,绘制从最高价到计算结果的绿色线;当AL等于1且TT为真时,绘制从最低价到计算结果的红色线。

       我们还定义了HH2和LL2变量,以及AH2和AL2变量,用于在N+1天窗口内的波浪高低点检查。

       最后,我们使用DRAWLINE3函数绘制特定条件下的线段,确保了代码逻辑的完整性和准确性。

copyright © 2016 powered by 皮皮网   sitemap