0101110000001010010110001111100100111111011010001110000111000000111111110110110001100110001001011100011000001001100111010010011101010011001101101111110100001001010010001001111101010100010000100001100101101010101010101010000011000101100010101110001111110001011100001110011010001010001011111001111000011010111010110001001010000100110001011101100001101010100110110100010010111111111000101001001110111010 0110111110001101110111100000111101000110001000001000111011100001100101010001000000111011000100000101111100110111011000011111001111010110011111000010100010001000011110001011001110010100001101001001100000000000000001111101010100100001010111111100110111101111011011100101110000100010001111000010010111000000000100111110011010101010001001101111011001111001110101101100111011111001010011110010110011100001 1111100011010001111011101011001110000100111100010000111000100011000101001011001010111000010101001011101111011001110011010010110100110011101101001110100010011000111100011011000100111001100110001010011011000010001011010011110000111110010000011000011000000010101100100001001001101101111101001010011000111000010001110000001111110101101011111001100011011000010011001100110100101001010100100000000000101001 0010110001011111101000110101010111001101001101111101100111111010001111110001001111101001111010111011001000001011111001110110000101100010100110011011110001110010110100111000101000111101101011000011000001111101111100101110000000101101100110101111100010100011001110101000101110010011011100001001011011011000000010011010110101101000110100101000001100011011000101101010100111010010011110110100010100010000 0011000101011000100000100001011110010101000010010101000101001111101111110100010011100100001110111110111000011001110001111111011011000100101011100000010000111000000101111000011000001110011000001000111011110011011101101010010001111110011101010011100001101110101000101010010100011100010001101001001100110001100111001001101010011100111100010011000101110010100010011101110000000001011011001001000111000100 1011011001001010010010010011010100010101000010001110010100100010010111010101010010001000010100100111010101100001010110010100001111010010110111100011001101001001011111011111010101111101001000101111001110011011000011101100100101100101100100010111100010011000000110101010000101010000001011101001010100001111111111110101000001000011110110000000110010001010010000100100000100111000111100111101110111000010 1000011010101110110110101111010000110101111111111110111001110111001100101110100100010110011101011111011110110011101100100011101111000011010100010101111010001111000001111001100111000100110101000000100101111000110100001100100011011001111111110001111010001111010101000111001100000000010100001000001111100011111100000111111001100000001100110100101111110100111100010000000110011101110001111110110111011101 0110001001111110100110000000000101001101110010001101110010001011000011110110011110100001110001101000001100110100101100110010000101010000100100111001110011001110111100000110011111010001001000001110001110010001101101011100000011010110000100000100100100010100110001011110001100111100001010101011111100001111001101010001001001101010011000000100110011010000110001100100110110001111101011001100010000000100 0011011100001001100110111001011100010111011100111110110000100011110001111100011010111011010111111101010111101101001111000000100010110111000001000001010101000110010010101011111011001110101000010101110011100101110100000010101111100001000011111110110011111001011101100101111111100001011001010100100101000001010001011001101110101000000110111111011000110110101000110000100100110111101001100110111110101001 0001100100101001010011001000010010101010010111010100100001010101001000101101000001011111010000110000010011010111000001001000101000010101000001101101100001010000110100100100001000011110010110110100010001000111010001011000010100001101111010111001000010110000010000010000010011100000110010101010111110011100010000100000110111000111101111000101110101001011000100011101000100011010000100010110000010001010 0000011111011101011101111101011011110011110001110100000110010111111110110001011110010111110111111011111110110000110011100001111110100101010010111010001011010010011000000111000011110110101000011000011011010011001000010011010110010001110010001100010010000111001111010010110100110000100000001101011110110000010101001011101111010111100000001111011100100010110100011010000111111010101111101001001011000100 1011110001011000010011010001001010010011010110100010010001110010111011001010100100110100001000110110011000011010011011100010000010001010011011110100100001010110001010010010010010000101100000100101010111001111100001110110110001000111001010001101100011101111111010000100000111011001110100001000010000111100001011101010110001110001110001101011000110100000010000000000101111000111000011101010001101001010 0011111111111110101101001100110000111110010110000110011011011101100000011110010111001001101101100000100001110111001011000001010011111100111010001101010111010111101010001010100100011100010101110111101011111100100000011111010000111000110000001111011011101000100100111010010111110101000010001100001011100011110110001111010001011110000010101100100010010111110001111111011010111111011010011101111100110011 1011110001010000010110000011101010110111010100110111001001100100111000100111100000101010111000101001110001001101011111010110101111101001111110001011001011011011111100000110001110000000110000010101111101111011000110011100110111110001110101001010110000110001110011011110010100100001100100011010100101001101111011101010000111111100000100111001100010100001111001100111101101110001100011001010001001001100 0011001011110000010011000100000011000010100101001111100011110111001001110001000101010000111111110101011010000101111110110101001001000100110000110001100001101100101111000100110110001101100101100110001110000000001001110011110111010010111011010100000100010010110000110011100101100001000111011001101011001010101011101010111001101011111001101001100010010111000100101101100100000101011101000110111111100011 0100001000110000010110110000001010001010100000101100110010100001110100101001110101000000010000000011100011100100110101110011010001110011011001011011001011000011100100111000010001101101010010001101000101110010111011111000101111100100001101001111100010110000000101000010000100011101101100011100101110010111000100000000110110001101010110101111000011000111100000001100000010110111001110001000101001111011 1011100010011110101110000100010100110100010111101010010110001101011010101101100101010000011001001111111110110100101000000010011111101111110010101111100100111011000111111101000010100011111110010110011011010010000101101010100011001100110111110100101100010100100111100100110000010100110100101101101100101101111010011110101110111011011001110101010010101111111010010110001100101010101011000001100111101100 1011011001111110011111001111111111011110000101001001100111000100101011111011010101001010101110011100011101000001100010000100010010111011011111111000011100111101011111111101111101010101010110001000101110011000000101100100100110111001110011000000010000101101001011100000011001111101001011011010010000110010101110101111100001111101110101011010101111011100100011010010111111010110110101101011110100110001 1000111000011100001000001000110111010111001011110101000110001100000111001001101011011001001100011001010000100110100000010001010011011100110101000100100101110000000101001110100111011111111110101110110001100001011001111011110010101011010110010101100110101001000010101100001111011000111010001100001010011011110010000010110011010010010100111011100100001111110001011111000111001000011000011101110011111000 0010110110001010010011111100110000010111100000010000011100001000001101100111010111110001111011110111101011011111001101101010101011010101001010001001101110110100101111010010100010111001011011100110100000011101100101011011100110101110111100001101010111110110111100101011000000100111101110010001101010000110011011110101101001000101100001010101010010110010010011111100110100101110011000001010010110101001 1100001100101110011001110100001111001011110100110110000101110110100111001000010010000100110001010100111110110110000100110100101010010110010100011111100010010011000111011000101000000111000101101110111000001010010001110011001111111101011110100111100100110010110001100011111110011110100100111011111111001100110001011110011010110111101110010010100101011001010111011101101000001101011000000010011010110011 1111110001100100001110011101010111101110010110111011001100001010110011010010011000111101000101011110111100100101101111100000111101111101011110101010000001000111111000111111011000010001011111111111100000011101101100111001110000001001100011110110111100010001001000110011100001000001110001010111011111001101111011011101000111110111011010101101100101110111101010100011100000101000100101101101010111010110 0110111011110100011000010100000001000010111010111000011100111111100100101100101000101100110111011011001011100010111111011101100001001010000111100111111101111010011111111110110011011110000011110011110001111110011101111010111001111001000010001010110111111100000111011001001000001011100010111111100110110111101101011101011000101001111000100101000111001011100011100010110101010111101111101101111000101000 1101111111110101101101111100101101110100010101010001101111010001111001111010010111010000110110000011001000111000011111010000100100011000000011000000001110111001111010101101001001110001011110101100001110110011011100110001101111010110001000001110100001100011100011110101110101110011011000101001000001001111001111010110111011101011010100001101110110101101110111111110110100011100010100111010001111010010 1101101111010101101110110000000011110010000100001011010001101011010100010101001101000110100010001100001110100100101100101100111101001011110011100111111001110000000011000100001001101100110110011000001010100110001110111100001011010111001000011100011000101001010010101101011000000001000011010111000101010101000101000000010100111000001011010111011000001100111010001000111111011011001100100111011001101101 1110001000110100011000011001000100010100000111100111100001110110000101110110100010100110011011101100000001111111011010110001111100010100100100001001110100000010101100001000110011101110001000111010101000111101001010011101000101001011111100110001011111001011110111111001110000000110110100110000101111000010110101001001001011000101111111000011111010011111100100010100011111011110101101111111001101010101 0010001001010000111100111011100100110110010100000111100111100000110100011101100110110100101101001011111011011010110100001110110100111111111011000011000101011011010110101001000101000111111011011011101001010100100110001011011011011010000101100011111001101000000011001100001110110110110100101010000101010110111011011011010010010010001010100111001110001111110010000110111110001100000010001001011111011001 1110100010010000001100110111011011100001100000101100001111011001110110111010001100010110100101111100011110100000110111111000101100000111011100011011000101000110000011110101111101111111000110010000100101001100110011110111001111101111100010111100010100111111110010000101111110101010000000110010011101010100001000001110111001110000110111101100111010110001100001101110111011001101000011001001000001010110 0000000010100011011010110010110011010010101101100011110101100001001000101101101100011000110001101100011101110101000111001001100010111011101110011110100000011100111011101100100100010011111001001111001100000000010011101000101000001100000101010101010101111001101100101100001011110011100000010100100000001001010001011110100110010011001000110100000111000110010010010001110000011101001011000111001111110010 0010010001101000001101101110001101001011111100101001001001100001010000110101000011110001110111101100010011011001110011100100110111111110000000001100111011100010111110101010100111001001011111100111010110110000111101010110101010001110011111010001010111111011010100010001010101101010011000110100110011001111111010011100000010010010101011101010110011100110111101111110010001111011000001111000100101010100 1101011000010110000101111001110010010010110010101011001001011011110100100101111000111000010001110111100110110100100000010011110100111010011011000111010100011000000011010001111010011110010100011100011110011010010000101000010000011100000110000010111100100000110011111101110010100000110011000111010111000000001110110111100000110110011011110101100000100110101010111111101010011110010000011011101100010101 0001010100011100011001000010101110110110010101011001111111001100100001101001011101101000001010010001011100011000000100111111110101010000000011100111110000100001101000001110001000110110000001010110100111101111000011100110011011001000101111111100000000001111001111001000000000011010111111010011000000100111010011101100101011001100100101100001111010010001001000000011000111100111111110001011001000101001 0110111111010101111101111000000011000001111011011101011101000110100011000101000101011001010110111111111101110001110100101101011000010100101100010111010111110111100110010001111000001100011100000000101011010101010000101101000110011100111111010101110100000000010000010101010101101011001101101001100111010010111101001000110001111101101110000101101110101010110001101001001011100010001010000010110101100001 0010110000010011010110010111001101110010010010011111011110101110010000000100011100000101000111001101111000000111001101000001000001111110001001010010000111100010000000100101111001010100011010001011011111101011011010101000100001101011001011000011100011101000000110011111011000101110010100000101110100100001010001110001001111000010001101101001011011110111000100011100101101000100000100011110111000100011 0111100010110100101010011101001011011001011111101001010010001001101000001111101100001000111110011001011110010101010000100101111101100010111111000101101101101000111011000011101011111011000011010110011010011011100000010111100001010011010111100000000001000111100100001011101000000101101011001101010010100100100110101110011110100111011000011001001101111100110010011001111111111100001010101101100101100111 1101111111000100001101101001011001111101010001101111111000111101111101011111111100000001100101111100010110001111100110001000010000110000110101001100001100111010101000001000000001100110110001001110001110111001111010101100111101000101011010101111011111110011111100011110100110000101011001010110000001111110000100110000000010010010001100111011100110110100111011110100010011100100111000111010110111010011 0010101001011001010010000010111111010000010110000111101000111010000110010000010001010011110010011001010010010010110010101000110101100111011111100101010111101100110001101111001101001101011110000111010001001000101010111011100010101010110010101010010000001010111001010001111011000101000100110111010101101111000111001111100011010111110000101001110101001101010100111101100100001010000111101110011101011101 0011000010110111100011111000101110100010101010100111001101000001001010111001000011101000001011001010110110110000011001110000000000101000100001000100101000100100101011111011011001010001111101100001010111110111110101000011000101110001000110110011111100100001010110000011101011100100101110011110010001011011100001001111010110001111001011011011100110000100111010110110001101100010001000001010001011010101 0011100100110000100110000100101100010011110000010010111100100101111011011011111000100101101000111110000011110101010011100001100010110000101001001000100110001111101111110110001010001111111010111011011111000100111000101100100001111000101100111000011010101010101100101001010110111100010100010101011000111111101011001101110000100111111100011100010010100011111100111000000010100010001110110000100000000100 0011001110111110111000010101001111101010101110110101111011000010101111110101110111000111111001110010111101011000010000101001000110111111000011110101110011010110000001100101011101010001010011001111010010011111000000000010010110000000001010110011011010000100100111001011100100000111000101011010111101000110101100001110101101111101100001100000110101000100001110111101001000110100100100100111101001101111 1111001001011000000010101011011111111111011000000101101111000000011101000001001111001100000100000101011111011101001000100100000111111001011001101111101110010000001010011001101001000111010000000101100110011101000110000111011010111011101001100010100001101111000101010100100100011001000001000000001010100110001011100110000011110011001011010000000000011111011100001101010111011111100111010010010100011111 1110000011001000101100010001100101001010110001011000001111000010111110011001100100001001011110110010101010001110101100110101010010000011010100011100100010100001101010100001000111010011100101100001000000111101011011100101000101001000001010111110010011111100000111011111000011010111011001110111010010000011011110110011101111000001100111000100101010001011011001011101111011101100010101100110010110001000 1001010001000011111011000001011001010011110010001100101001110000000001111110101010101100110100011001110011001000011100101111000001001100010100111101110000100001001001100010101001011101001110000000000101000011011000011001110100110111100100100110101010111101111010011011001100001100010101000111110001010101010110111010100001010000101101000111001111101111010101001001001101111100010110000101110101110110 0001110111011001110000011100000100011011010011101100111010010111011111010011100110110011001010011111110110110001010011000110101111111100010110111110011100000010001111001001100000101011100010010111101100111110011110000100000001110011010001001000000111110001010010001111110010110010100000010001000010011010101101001101110110011000000111100100011100111011101000001011111110010110001011011010011100111110 1010000010000111101100111110000101010000010111010100000001010100001101000001101100001100001110100101100001101000101111100011011111101000110100110010010111110011100100100011111000100000001110110100001100001100000001100100011101011101001101010011001000110000001110100001011101001110001011010010110111101110010111010001100100010001101111001110001001101111100011011001010011111001101100001011010100110010 1110110011011101110110000010101010111111101100010000110010101101011010110101101100100111001011110101010000111000110001000101011111101110111101101011010100000000111001100100000110111011011001110100010000000010001100011111010101100000111000101100010001110011010011001101101101100100101110101100100000100111000010101110001111101011100111101110010011001010111000101110010010001001111001001011001100110110 0000011101000000111011011100010101001101010110010001100010001110011100001111001110011000011111111101100110000010100001101001101111100000110010111111110001010001010001000001000111000111111101101001001111110101000101111111011001100010111101101001010010001100100010101001000110101111001110001100010000101110101101011011100011111110000000100110001101000111011001000100010000100000110001100110000011111111 1100110110101010000011000010011101010110111101110111101001110100111010011101100110001101111010101111100010100100111001110101101001111011000010101000111001000011111111110110110000101001001101010001101100110000101000111000111110001011100010100111111100110001101111100010011001011001100101110000101010111001000011001000100100001110001010000111110001010011111101100000010011100110110011110010100110000100 0010101100010101011011111001010001000010010010111000101111010011001111111011000111111000111001100000001101001101011110010100101011101010100011010010000000111001111101111011111011101001001111101110111001101010001011011010011101101101110101101111101101110000100000010101011010100110010001001101011010100110001101000100100000100010010100110000001010111000001110101011101001101100100111110011110001000101 0001011010111000001111100011111000100000111111001001101110111010110111001101010101000100101101011110110100111110110100011001101110000010101010101101111001000110111100101111000000111000000001011001100111011101010101111001111100100000110100110001000100101001111110111001100010011001011011000111100011111000100100011100001000000100001001000010001101101101010110000001111100010000001010010011110110100000 1111010001110010100101001000100101000000110010110000101001001000010001000010111000101111100110101011001001111110000000101011001110111111000111110001101100101001100011101010001100110111101101100001101001001010100111110111111100000101000010010110111001001111010011011100000111001001001111110001101000100110101111111101001000001010101010110010110100111000111011111010110110101000001011001000000101100000 1110101100011011011101110001111000001110100110000111011110011001101010011001011011001011011011010010001000011011100000001101010100111101101110010101111111100011010101010100011101100101101110000101101111110010111100010110001101111110001110001011010010001011110111001011001101001011011101011001101101011010110111010010101110011101001010111000011000010111000010000101100111010110111001101111100111011010 1100101101110010111111001000111001000000010000011110000111000011110000010010111010011111000011001010101000100100101000011110100001001110010111101001111011100100001110010101101101101110111010110111100010001100001001011101000111100000001101110000111000111011001011000000010111111010010001111011110000010111101000101001000111011110101010011000110110101101000101000011110001101111101011100010001011111100 1000100011001010111100010101111110001101111010010001111101011010000101011100001101100010000101011110111111010100110100001111000101001111100111101000100000000010010110011000010110001111000010000101110001100001011001111111001100101010000011100010010000000111011110111011011110001100100000101000010000110010011010101011100000101101010110110011001101101011111111011011100111100101101111110001110101101010 1011000001000001101101000110100010011111010010001111010100010001100111011110000111010101010011001111000100111111000010011100111110100101010101000011110101010111011010010011101001001100000000001000010101101101000110101001010100000111100010000000101010010000011110110101101001000101110001010011001011010100000000101000001011011111000000100101110000101111110010000111100111011111110111010011000000000100 0011100010001010001111000101111111000010000010110111001110011100101001110101000001000000110101101011000101111010011001011001001111111001011000001101000000010010010100001011100111011101100100111001011111001010110001100101010101011000110010001010001111011011001100011110111001110001000111011100001100010001010100101101100011011111110101011011110111010000001001001111001001000011001000111110011100100110 1111001100111100100000010101111111000011011100101100010111111001010010111100111000110101000101000111000110110010111001001011111110100100101001111001110000101000100101111001011111000110100000110011100000001101010000100101111001010000111010010001101001000101011110001001010000001010000010111011110100000100000110100110110111111000110011000010010010100111100100000100010001101011011001000010100011101101 0011111111010000000111111001100111010001101011110001101010111101011111010011111100101111000111110110011011011000110111110001000001100001101100000100100011100110011101101010011101111101101101110110101000110100101010111101101000110110010111110000000011111110100000111111111101110101010000000101001100111111100000110110011001000000101011101011111010001101100010000000010100010011110101111001001111001101 0111100010010101000000101011001110111010101100110111000011000110010100100101101101010111111000100111001111001100001101100011111100001101011101001010100110001101010011110001000011001100100000011010100001100010100100110001101001011001010000011011010101111101100011001000100001011001100111011000101110001100101110101110101101110111000111111111000000010110011110111000110000010000101011010010101000010011 0001101110010110110010010100001001000000001110010101111111111011101011100001110111111010001001011101011100011110011011101101010010110110100111010000001100011010100101111000101111001010101111010101110001110101110110100110100001010111011100000110001000110011001001101111011111100101011100110111100111010111011001111100011001010010111010001001000001111110011000111110110101010011010001010101110011001111 0110111100101000101000111010100110000100001001101000000010010100001110000000101010011111111100000110000000001111000111010001101001011101001011000011010000010111000001101000100101000000011111001000010011101100100010100110100010100101010010100110011010010111101011111101001010100111001110001001011101100100101000101111001111000101101110111010101100111111110111101101101000110111011111101000111100101111 1101000000000101101101001101101001111100100100001111111110001111101101111011101010010000100011010100000100010011000011101011110111011110011101000011101010111010011011110111110101111010011000110011101110011100110111101110011111000010101101111101101110010001101101101011110011001101011001001000110011001011010101011001010010101001010101011101100011110001000010011001101010000100011001001111101000010110 0111100010010000101100011001100100010010101011111111111010001011111010110110100010000100101100101101001001101111011000000001000010101000011011100000100100000111100100000111011001100000100110110010111110010001101100110110111001010101110000101000100111100010011101110110010111100111110101111110100101111001100111011111010010001010110100100010001111110011110000101000100101000101110111111100100000010010 1101010101100001100100111101000111011011010011000111010111111100100000011100110000110000000110111011101010010000101010001011101000010001100000111101010101010111000000111101111000000011011110110010010111011100111101111011001100000100111011011110010000011110011110000011011000101110110111001011110000111010001001010100110001110111000111011001000110111000001100110111001101010100110101000000010100101101 0000111000011101001101110101110010110111101000000001110010101011110110000011101001101100011001100101000010110111000010010001110010110011110101011111000101101001110011001001010100111110110100110111001001010001110101100001100100001001100110011111001101000110000000100000110000100110001111101101101001011001110110110101000001111110110010111010001110101001111110101001111101111110001010000100100011011110 0001111001010111011000001010101101110100000000010100111000100111101111110101100010011111010100011101110101111010001000110011010100100101111111010001111100011110011110010110011001111011101001110011110110110001110100100110101001111100010011010010011100111011101010000111011111100010101101111111110101111000000111100100001001111110111100000100100111101010111001110100110001111001000001001111100001111101 0111101011001100101101011010011000000110000110100011111111011111001000110110011000100111100011000100000000001111000110111011111111011110000010010100110111110011100111000101101101001010001010010111100100001111000000011011001100001000110111011001101110011011100011101110101111101000000011100010000000111111010001101011100101001010100100101101100000010000001100000010011111111010010100010010101000110101 0011111001000110000011110000100011101000101110110101001001110101000000111001001001100100011101001000111101100101110101100111101100111011011100000000010110000001101101010100100110001011010000000000101011100001011011000111001011001001011000010101101100101010100111111011001001101010110111000011010001000110000000010000111001110100001110001100000101100100001010110000000110001010110000101111001010000011 0111101111000011011010000100100001100010101111111100011010111011011010100101111100000110011001001111010011011110000011111111101010101001000101110001110001011110000100010011010101110101111001001111101101111011001111111000111111100100001000010000111101001011001110010001111011110100101011100010100111010011010011111000101100000110101000101011111011111011001000000001101000010101101011110000101111010111 1001111010101111111010110110110101001000101011010000010110101011100111110001110100110110111000010001101101100101010111111111111111111100111010110011110000101001100001001100011100101100100101000111010100010001111101110101101010011110010011001010011111011110001100111100010100010101001010110001000011011111000111101000100011110111000011100010011111111011100000111010001000000011100111000110101110111001 1001010110110001000111100101001001111111100111010011010010001000011000001010111000111110100110001001100110001101101100010011110100100010101111011111000110010111111010101110101000010010110100000000101111101001001111001011101000010110001110111011110110010111001011110101101111001100111010011100001100111101010110110100011001001010011100110111000111101011101011011111100100111101000111101001001011111110 1101000011101110100000001011011100011011101001010100111101011100110001100001001111011110101010111100001100001010000110100010000111010010000110101000100110111100011001000110000011101001001110000010101110111010100111010101011110011001111101111111001010011011011110010001000011001100001001000111111000101011100011101000011000000100010010011000011101011101001001010100101001010010101001111010111100001000 0111011111110100101110101000001100001011011010101000100101110000100000000100011010100010011000110100101100001100101011001010101100000110000110111110101101101110011111100010010001001100111011001011101001111011100101111111000001101011000111100010010000100100110000001101000111100000110111101110011000001110111110101101110101000101011111100000001010100111000100010110100111001111001010011010010110001010 0111111110001010111110010101000101100101100010101001110100001100100110101011011100100000010101011000110110011101010001000001110111001110111111001101000111110100100110000001110110001010100101110011100100000101010101100011011110100100101100100101100111101110111011010100001010111011001111110100101010000111101001111101000011001011111000101000011000011110100111111000111111001111000010011001011101100001 1011100101111010101001111110001110110110010111100011101100001010110100000110001101011100100111010101111111010110011110101100111100100110000100101011110101111001011000111011100111111011011101111001001101010101001010001001100011100010111101110001111110001011110011001100011111001000010111001011010101101101110110110100001010001001101111010011100101100010001100111110011001000000010011010111100010010000 0000111111111101010011001100001010000000010101101010110100010110011110100010010111001110010000100000000111100001101011100001011110100010000111111110101011010101000001100001000010101100100010010001010101010100101000000110110010111110101100011000111000101100010011000111100000101101100101111110100100001110001110000000110010110000001010011000001100001111100000001111000001110100001010001011110100111111 1110001101011011001001011011100101100101111100001110111000011110110101100010010011111010111000100000010110111111011011010001101010001010100010001000011100010101110111011100111100010000010000100111110011100010010100100101110110000011111100110111000110001000010010011010111010111001011000011010100100010100000101110111010000001111100001011001111011100100010100110100100011101000010010101101110111100011 1000111010010100110011011000110001000011011111110100101111101101110101010010100110000101110011001010111101010100001011100100100000000110110001001001011101110111101011111011111011100110111000101111111111011111111000101111000110110101111011011101010011110000111100101011000111011001001100010010011011110111000101001101101000101111100000001110001100111111101010011110000000111010110110001111001110111101 1101001101010010110010100001000000101000101100110100111010000111110011010110000010101000111010110111111100011101110111100000100100010111111010011100111000101011101111000111101111011101001000000100001111010100110111011101100001011001110100100100010010010011010110010011011111000111100101010100101110110011001100101100010011010110111010101111011110101111010011111001101001000101010111000011110110100110 1010111111100010010001011111011111000100000011010000101111010110000010000111000110110110000010010011101010010110111000111110000110101001011100001001000000001101101100111110010111101111000001001111101001111110111110101000011011101011110101010110110101110100010001010100000000111110001001100101000110011001011101111001100011111001100100011101101111110001111100101110010000100000000110001000001001010000 1000100001100000011011101111111100100010111010111010100010000000111000010001001110001101010010000000001110101001000011011111001010001101100011011011011000011101110010110010110111000000101011101001010101011100110001010111011101011100011000000010010011110000100100010011001000100110111011110100000010110111101000100011000101011110111000110010110001111100100000110100001111100111111000100111100001010001 0010011100111101111001111000101011111110101010101101101100110111110111100111111010111001010110000101000111101100100111010100011001001101101011010011100000111000000000011010110011010010111011011100000100011110101101011001100111010111111101101100011010011100100000111010110000110111100110110110000101100010011001000000010101101010100111001010011100100011011111110011111000011001001101100101000101100010 0110100111101001000110011000001101010011101111000001111101001100110010011001100101111101010011111000010000010011011111010101011100000110011010011110011001111010000101111111100000100111101000101011001111010011001100111011111101001111011010111100011010000110110000000101111000100000010100001110100011110100011001000001111001001000101011011110100111000100000011000111110101100000111000111000110010001100 1101011000100010111111110000100001000101000001111011001010001010110100001010001101111101000001000110000001011101110001100001010100010110001110110000111101011101000110101110111000011001110001001100100100011011110000101001001100010011101101010101100101001001010100101111110111001010100000000001010001110110101001110110101101000011010101000000101010111010011101100110101101110100101000001110001100010101 0111011010001011110001111100011100100000010011101100101011100000011110111001100110010100001011001001000001000010000001001100100111111011101101110010101000010110010001010010010111100100101110011100111001000110101110110000100101101110000101010100001011001000011100001111111000010101001010100000111001111101100000000111011010110011100001011110110101111010100101110111111101011110111110010101110000010010 0101011011011110100111001101010111011010010111011100110000101010111101101101011011100101010010110100110011101101000110110001001011101100101111101101011000101110110100110010000110010100110001001111101111000101010101001111111001011011110010110110110011111111010110001100010101000000110001100011110111011000101010000010111001110010010111101000111110100100100111000000010001001011010111000000000110101000 1101110001111001011000011110101111101001001011011010100000101000100101011111001100111010011001110010100000101000000011010101111001100011110111010111100100110011101100111101000110011111101101111100011000100010011100010000000001010011111010010001110011000101111110101111011000101011100100101010010001100110101001110010100000011100111100010111101110100100001011010000011101001010000111001001111000111000 1110111110111101011101110101011111101000010100110001010011001101000110010000111001010011100101000010011110001100000100010010000110110001000111100100101000110001101010011011000111111110110111101100100111010101100010010011101000111010111110101110000011110101101010111000011011000100001111100011000101110100110101101010110101100101011001011000100111101001110010010111111010010010000011100100000101010000 1110011001001000110110101101100110001011010001111000000101001110000010110110010010010011101010110011011010000101100100101111011011001000100010111011001011111111100010101101111001100001111111100011111100101011010101100100101100100110101011001010010111000100111011000101010010000110101110000001111111111101110101011010101111100000000110000000111010011010101000100110100011111010110010101001001110001110 1010101000111001001011000011100111100100010001110010011100011011011100001101001011001110001010110001101001110000101001111000101000101101010011111001000101101111100111101000111100111110011010001110000110100100001100101111010010100001100011000010110011100110101100011100010000000011011000010110010111101101111011000000100111010001101111101011010111001100000110110010101011110100010011101100001010111110 0101001111101100011010110101100100000011111001011111110010100100000010111111110110011101101111100000010000101101111010111001010100101110000001100001011101100101001101001101101000011010001001001010011000010001010111001111100100001101111010110001011101010100010001000111100011100011101111110110100110010010101001101011011000101011110111110100101110001111010110010111111000011001100011101111101101111011 1100001010100011100110001001001011100111100111100011110001000010010011110111110100010101110000011000001100001101110000101010011010001101001111001100001101100101101100110110101001010011110011000001001111010010010110101011111010111100000000101001100110011111011100011000110011010011101001100101100100101100100111001101100100100100001111110101010101111010110010001100011011100001010110010100101000110010 0101100101010111000001100111111010000101101011000001010000010000011110111011010010001110100110100100100111110011101100011101010111000110000010111100001100111010111100111010101001100100011111111001010011000010100000111011010010111010000010111110001101011001010100100101111011000101010101101100001100110101101010101000110101010000010111111100100001110111101111010010100010111000110000011000000110011100 0001000111010010111000111010111100001111111000100001001001101110110001001111110001011001110000000001010100001000000000001110011110101101111010001101110110001100101010100101011100100101100010100010111000011110011001101010011100011000000101101011000001101001011001000010111001111111011001110011001101111000011100100000111011111000111001111011111110101010100100000100111010101001011110101000010001010011 0010111100101110101100110110100001011010001001001100101111100011001001001001111000111010101101101001011010110110010001101001000010110111101101001001100011000000001110011111101100000110001110101100010000000011100100111110100100001100100011000110100100110100101111110100111000100001101001101001000110010011001110001000100110100011101000101100011000101101101000010101000010000101010011000001001101001010 0110100111111010111001000011110111101000001100101110111110001010001001001100110100101101100110011111011011001110110110111101101101101100011100111100100011110101000110010101110011101000010011101010010111101100100110000011100011001100010110100111000011010111111001111101010011110010000111010111000011001110100001000100011101001110011111101010101101110011010110100111011101010001110010011001011001011101 0000100001011101010001111111000101000010010001000100001011101010101001011111011111111100010110101000011111100110101000001000000110110110011100010000010000000011101101000010010101101110101001101101111010111110100001001111010101000011000100100101110111011000011101111110101111000000001000010000100100101100110011010000101100101011001101100101011100011111111010001001101000000101011010001100010011001011 1000001010000011001101000110000100010110010011100111001011010000100001001000010100110110001100111000110100001001111111110011011110101100110000011010110011001001100000100111101001011011011001011000001010110101111000101011000110101111011010101100001011111011101111011010001101000110110101001110110011100111100011010011110011111110100000101100101011010000110101110000011011010001110111100101100011111101 1001000111001000100011100100001100100010001100001000101010011101100111011011011001001010010110111111001100100111110010000010110100000110000101100010010111011010000110111100110011000101100100111101000111100001101001011110100000101011010011010101100101101000101011101101111101011001111101111011010100000100111101000100110001101101001001000000000011100010100011111111100010011001100010011111100000010010 1111010111100011010010011110111110110010100011001100111110110100100101000000101010000001000111101000110110110100101101111001010011110110100111001100111000001001110010100110100001001010111101101110010011111000100001000111110000111110010101101011001111110101010011111100000110011000111001101010001101011101001101010111100111101100100100010100110011001100011010000011100011101000001011110001110110100100
cTrader AlgocTrader

【cTrader】ストップロスが決められない人達へ【Tools】

1/14/2021 3/24/2021

4年以上前の記事です。内容が古くなっている可能性があります。

ストップロスの位置がわからない!

ストップロスはどこに置こう?

エントリーしたいけど、どこにストップロスを置いたらいいか迷うということありませんか?

「そんなの迷う時点で半人前」とか言われてしまえばその通りなんですが、たとえルール通りにストップ決めてトレードしてる人もきっと一度はこんな経験があるんじゃないでしょうか。

(ajinori昔のトレード日誌より抜粋(泣))

もちろん本来はこの負けは負けで受け入れて、そのままぶれずにルール通りにトレードを繰り返すのが正しい姿勢です。

しかし、あまりにもこういうトレードを繰り返すと「もしかしてストップロスのルールを見直した方がいいのかも・・・」「いや、いっそのことストップロスのルールなんて決めないほうが正解なのかも・・・」って気持ちになることもあるんじゃないでしょうか。

 

じゃあこんなことを試してみては

そんな気持ちに陥ってしまったときにもしかしたら役に立つかもしれない手法を紹介します。

というか昔ajinoriがそんな風に思ってしまったときに試していた手法です。お勧めというほどではありませんが、一応、使ってて利益は出せていました

もちろん使い方次第なんですけどね。トレンド判断は間違ってないのに、ストップロスの設定が下手すぎて負けてしまうという方には相性がいいと思います。

 

ストップロスを散らして注文してみる

手法というほどのものでもなく、わからないなら適当に何パターンも入れればいい、という単純思考です。つまりこんな注文をします。

わかりますかね?エントリー時にポジションを分割してストップロスとテイクプロフィットを散らしてます。図ではラベルが重なってて見えてませんが、0.1Lots×10ポジションで合計で1.0Lots持ってます。手動で入れるのは大変なのでcBot化しました。

 

SplashOrder

機能概要

以前、公開したEasyEntryと同じような形でエントリーできます。起動して、(一番小さい)ストップロスにしたい位置でクリックすると、設定した数に分けて注文が入ります

なお、EasyEntryにあるような自動ロット調整機能と待機注文機能はありませんのでご了承ください。

 

パラメータ

Whole Lots

全体のロット数を指定します。これを分割して発注します。合計がこの数値を超えないように、分割後の端数は切り捨てて発注されます。

Split

いくつに分割するか指定します。あまり細かく分けすぎるなどで1発注当たり発注量が最低発注単位を下回ると発注されません

SL Step Pips

何Pipsおきにストップロスを置くか指定します。

Risk Reward Ratio

リスクリワード比を指定します。この数値でストップロスからテイクプロフィットが自動的に設定されます。

Traling Stop

トレーリングストップの有無を指定します。Yesにすると勝手にストップロスが動きます。

 

ダウンロード

ダウンロード後、ダブルクリックしてインストールしてください。

cBotなのでチャートに適用後、発注したいときに▶を押してからチャート上をクリックします。クリックするといきなり発注が入るので注意してください。

 

ソースコード公開

特に説明したいとこがあるわけではないんですが、短いソースコードですし、cAlgo初心者の方には勉強になる部分もあるかもしれませんので公開します。

マウスイベントの使い方や、チャートオブジェクトの描き方、Async系発注の使い方なんかがもしかしたら参考になるかもしれません。

また、プログラムできる方なら、自分のルール仕様に作り直すことも可能でしょう。SLだけ、もしくはTPだけ散らすというのもアリかと。その気になればなかなか検証しがいがありそうですね。

using System;
using cAlgo.API;
using cAlgo.API.Internals;

namespace cAlgo.Robots {
    [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class SplashOrder : Robot {
        [Parameter("Whole Lots", DefaultValue = 1.0)]
        public double WholeLots { get; set; }

        [Parameter("Split", DefaultValue = 10)]
        public int Split { get; set; }

        [Parameter("SL Step Pips", DefaultValue = 5.0)]
        public double SlStepPips { get; set; }

        [Parameter("Risk Reward Ratio", DefaultValue = 3.0)]
        public double RRR { get; set; }

        [Parameter("Traling Stop", DefaultValue = false)]
        public bool IsTraling { get; set; }

        // --- for order
        private TradeType _tradeType;
        private double _unitVolume;
        private double _minSlPips;

        // --- for line
        private ChartHorizontalLine _slLine;
        private ChartHorizontalLine _tpLine;
        private const string SL_LINE_NAME = "stoploss_splashorder_line";
        private const string TP_LINE_NAME = "takeprofit_splashorder_line";
        private ChartMouseEventArgs _mousePos=null;

        //-----------
        // OnStart
        protected override void OnStart() {
            var unitVol = Symbol.QuantityToVolumeInUnits(WholeLots) / Split;
            if (unitVol < Symbol.VolumeInUnitsMin) {
                Print("unitvolume (WholeLots/Split) is too small!");
                Stop();
                return;
            }
            _unitVolume = Symbol.NormalizeVolumeInUnits(unitVol, RoundingMode.Down);

            // --- place line
            _slLine = Chart.DrawHorizontalLine(SL_LINE_NAME, Ask, Chart.ColorSettings.LosingDealColor);
            _tpLine = Chart.DrawHorizontalLine(TP_LINE_NAME, Bid, Chart.ColorSettings.WinningDealColor);
            _tpLine.LineStyle = _slLine.LineStyle = LineStyle.Dots;

            // --- event
            Chart.MouseMove += DrawLine;
            Chart.MouseDown += ClickOrder;
        }

        //----------------
        // mouse move
        private void DrawLine(ChartMouseEventArgs args) {
            _mousePos = args;
            _tradeType = (args.YValue < Bid ^ args.ShiftKey ? TradeType.Buy : TradeType.Sell);
            var distance = Math.Abs((_tradeType==TradeType.Buy ? Bid : Ask) - args.YValue);
            var slMin = (args.ShiftKey ? distance / RRR : distance);
            var tpMin = (args.ShiftKey ? distance : distance * RRR);
            _slLine.Y = (_tradeType == TradeType.Buy ? Bid - slMin : Ask + slMin);
            _tpLine.Y = (_tradeType == TradeType.Buy ? Bid + tpMin : Ask - tpMin);
            _minSlPips = slMin / Symbol.PipSize;
        }

        //-----------------
        // mouse down
        private void ClickOrder(ChartMouseEventArgs args) {
            var decimals = Symbol.Digits + (int)Math.Log10(Symbol.PipSize);
            for (int i = 0; i < Split; i++) {
                var sl = Math.Round(_minSlPips + i * SlStepPips, decimals);
                var tp = Math.Round(sl * RRR, decimals);
                ExecuteMarketOrderAsync(_tradeType, SymbolName, _unitVolume, ToString(), sl, tp,
                    i.ToString(), IsTraling, (res => { if (!res.IsSuccessful) Print(res.Error.ToString()); }));
            }
            Stop();
        }

        //------------
        // OnTick
        protected override void OnTick() {
            if(_mousePos!=null) DrawLine(_mousePos);
        }

        //-------------
        // OnStop
        protected override void OnStop() {
            Chart.MouseMove -= DrawLine;
            Chart.MouseDown -= ClickOrder;
            Chart.RemoveObject(TP_LINE_NAME);
            Chart.RemoveObject(SL_LINE_NAME);
        }
    }
}

ソースコード非公開のつもりで作り始めたため、(最低限の整形はしたつもりですが)見にくい部分はご容赦ください。コードの書き方や変数命名規則なんかはあまり参考にしない方がいいです。

コード内コメントもほとんどありませんが、わからないとか説明してほしいというところがあったら言っていただければ説明します。あと、間違い見つけたら教えてください。


まだコメントはありません

新しいコメント

コメントは承認後に公開されます。承認まで次のコメントは投稿できません。

cTrader's Life

© 2025 ajinori