1011100110110101101101100110010101011110000010110001110110101110101100101001010100111010101110111101111100010100011100011001111100011000000001111111111100010010000101001100010101010000111111010111000100001010010100001110001010111100011001011010101010101000010110110010100100000001011010011000011111010000001011011101111010101001001101110011010111100110100101111000010110011011011100100101111101010101 1001110010100101101111100100011110001111000110000000100001100110100100111111100000111001001111100001100100100100110011001111100010101010000111101011010000010000101110110100100110011001100010111100000011001111000111111010110100001011110101101110010100111001110110111100010000110111000010000001110001000101111101001000011101110011010000111101010100101011101100011011010110011010000111000100000001101001 1001001100110000100000000110110001000011010011110011000001001110011111101001110010011100100000110110111000110000000011110111111110011100111110011110010010001010110010101111001000001111001111001100101111101000011001111100110010100110100010100101010011010100101110011010000111001101100000110011010111000110000000010111100010110000010111000010011010001001010010111100000100100100111100000100111000001001 0110000101001000000000001010101100101010010000001101110011000000000101010000111001110001001100011000110100100101011010001001101101101101110110011010110111000100111010001010001001110100101011011111111001000011010010111111100111110111100100000110101100111000110010001001000100010001011001100001111011101100101110101011101100100011100111110000100000101111101101111110110101111111001011101101110101100001 0111001000010100100000110000111011011111010111010001000100110010110110100110010001011111001011101110000110000011100111001111101000001111011111001111010011111110011100101100001011101010110100010100000010110001011110001110101110010100111011111111100111110100011110010101100111010110001011100100000001101101010010111111110111100101101011110111000111011010101111001101110110110100000011000101001000011000 1011011111111000001111010101111000110101011101010000101111001111000011000111010010011110001011101100001010111011000000101011010101101100010110010101000011111101001111001100011011001100100000110010010010010001110001011101010111101000011001010100001000000101100010101111000011100000110101011101111011111101001101001000000110101000010101101101001011101110001111000010010111011011011110111011111100110110 1111110111010100101111000010000000010110101111110010011101111101000010101011111000111000000101001000010101111001010011001110101100101111000011001101111011011011001000000011001010110110011101010000010001000011010101011010000110000110100001001010000101000000100111000101100100110101111011001100011011101011111011111000101101000001111111001000100001111100101000011010001001011010101011101001100101001101 1000111010101011000101100001101110010111100101110001000010100010100110001001010111010100101101111000011101010100110111111100111101100101111001001011111000010011000111111100111001100101100100111111101000000101010101110001011111111011000111110010110110100000011010101110111110101010010001101011000100001101110000101000000101011110111110000010100100001011100011110101001011100001101001010010111101101011 0011010101000110010101101111111001101010111011001001010011110110110101100000001010011110101000010010010010010110000011011011010100111110110011011100010100010100010101011100101000001000100001111100110000111000101100001111011101001011000010010111101110001101001001110100001000100110110011110100011101111010101001000100001010111001100110100100101111110010110111000110000000011000101000100010000010110111 0100101100000010100111100101010000100000011010010011010101000101000100011010101110111101100100011000111001010011000010100000000010000111101111000101110100111100110001000000111011111001001100001111001101011111111101000100111101111100110010111111011110110011001100000010111010001010000001101100101101011001110011011100001000000001100110101000100010100010101011001101110110110000010010110110000100100110 0111101110001101100010110110010011111000010010111101011100101000010010010101011001111111011101101001010011010011011100101111111110010010010001011100101000001100011001010101000101111011111101011000110100000101000110100100000100000100100100101110110001101110010101110010100110111011010001111001011000010101111111110010011111111110011111100000000110110110111110010100100100100100000011010011111111111100 1101001000010100011101001111011010101011011100111010000001111001010001100000011010111000011001111111000111101111101110100011110100100111101000001001010101001011101000001001000110101010010010110001010001001000111101111100100001000100010111001100010111110011101110000101100011011110011001101111110010011001110100000101000011001011111111001100000101001101000101000010001010011111010101010010111001001011 0001100001100110010010011111000111010111101101111010010010111110011011000011010011011010000110101111110000100111111000010101010101010000001111110001001110100010011011011000001011100111100001000111111000000000000010110011100101111111111000110101110110110101100010001010111000100101110100110100101100011110010001011011010001010001111010001011110101011101001101111111000000100000101001000111101011100000 0101101101011110110101101101010011110101001100101100000011101011100101101011011111110101000000101000000011001111100001111000011111001111111001100111111110011000010011011000101101101011110110110111000010101010010101111111001110001111001110111001100010101101111100000101001010100000110000111001100011111111100110011111000101100101111000000000001010101001010001000100101001010111100100011001010111101000 1100001000000101110011100100100010000001101001101000111011011101110011000100011110010101010110101001100101001011000001011110111111010101101001111010011001011000111010101101101101101111011000011111111110111100011100010100011011011001101111111000000111100111000011001100001101111001110011101101001010001010001001001100110010111010001001110010110110010100110100000000101110101110000000101001101011011001 0101000111101001101000010110010010101011101011011011111001100110000111000001011111110101011000110000110111101010101000110101101000111111011001100110001001111101111001011111010100010001000010101001100010011100100100011100000000001100100110101101001101001001010111000001001001011111001001001011100100101010011011111101100100101000111010000001111100001010110100000011000011100110001100000000111010011110 1111101101011100111111100100111000000101100110001001001001010111010010100100100001001111110010100100001001111011110001100111001000001000110101001000101111001111110101000100110011000011010111000111011111011000000100010101010011111110111101010011101000001011011110100011011100011011000111100010110000001110111110110111001100001100111011101011110001101000000110001011010011111000110011101001000111110011 0001001100111100100000001010110011110011011001001001010101000100000110001001111000011001111000001001010111011111101110010111010010010010000101111110000001011111101001010101101001100101111011000001000111011101000010001001001011100101110001010110110100011000100010010101000010110011010010001011001111000000000011010000010010000010000111111100001000111010100001010000011010110000101101101000011001001000 0011101010110100110100101111000010110101101011101101110110010111111111111011011011001011001010011110001111011110111001111010111100000000111010000001001000110100010000000010100100001100111000111100111000100011101001101010101001110111101010001000111100110101111100001101010010011000000010000010100010111011100110110010101010100010010001100001101101100000111001100100010000010001011101110010110111001111 1100000111001011010101101011111011011010111011110100101001111111010111110001100111011001111100010101100010111010101011000110110011011011011100001001101111100001111100100010011101010001010010010001101010010000000101010010111010011000100010010101000111011100110111110000101110101101001011110001100011110110111111000100001010101101111010110110001011001001000000001001101101100100101100000100000100110000 1010001100100101110011110001110110100001100101100100001110101011001011001001001100101111110111001011111110011100000111100111001100010111001110110101010100111001001000001001001010100011000110000101000101111010010111011101110101101100000001111110000101011100000101101110001110011110010111100100010010010111110110100011111010100101001011000011011110111100110000001101101100100111001011011000000101011110 1111101110101001000011110001000110101100110110011111110001011101110001010101000011111001110101111101100110100010001001100001011101110111110010110000000100001011011010111111011101111001111010101110110011101101000010011111010000000001111001101101010111010110001111110000100101010010101110101011001010011010011010111000100111111001011011010101111011010011011101011111011010001000011101000000101101100100 1011110100100100001101010101110001001010011111111000011101110011101100110111110011010101100000100100110001000101110111111010111101011100011111101000101011111000101011011110111110001101111110100001000011111100100010000010100001100101011111011001101011001100011010011100000101011111000011100011110111101011110111111100010110011001001000001101001110000111101001010110001000010001000110101101111100101110 0000100011110010011001011001100111011100111011110001111001111101100001101011100011100010101101111100011001111010110111111100101001001111101111110001010101000010110100100100000111000111011011011110011011101101000110010111001011100110100110010001101010010000000010011101101001101100011100111111101111011011011000111011101011100011000011011100010010010000110111111110011010101100111001110001110001011011 1010010000100001001010001010011110000111010100111011001101110100111100101101110011101010011111101101011110000011111111010110100000001001001010110100110001011110011000101100111010010010001001001010010110011110110100010001010111101110001110011111110001111000101001101110011110011111011101100010110111001101000001100111101001110011100001101000110010101100001010000111110000010100111111011100111000001001 1000101001110000100010000000101000011010101010100110011000100010001110010000101010111100101011101110110110111101111110001011000100000010010100000010010111000100110001110101011010100011001101101010100111000010010101101011110010101001101010100001001101111001010011110101100001010111000001011011000000111000000011001010101110101000010011010110010111001011101111010110001100111101111111101101110110001101 1011111101010111111100111100111110100110000000011111101000101101110001101111110110000000100101010101111111100001111000010000111000010100110110011100101100101000111010100010011010100111111111001011001101111001001011001001111000001101101001111101011011101111111011001001011101100000110111001111101101000001100100100101101010110101000100010100101001011110010111011101011100000010000111000010010001011010 0100100011000100001100110000111000100010001101101011100010011010110010011011110101100101000101110001010111001101001001010101010010101011000111001110111111011100001110101110011100101011000010100111100001011010001001100111100100110010000110110001011101100110000010001111111000111011000110010000011100110101000100011011110011011000000010010101101101011110011101100101111010010000101000010100001101001110 0111011100001011010001010110111111001101011001101101000010000001000010100000110111011110100001111000001000111111010111010010000000010011101010011100010001001100110001001000110111100000111100101000100101010001100110101000010010111010000110100001000001111000101100110011001100001000101011011001001101101101001011011110101010011010111101101111010010101110011100000000011100011110001101100110011011111010 1001001011001110101110011001110101011000000111111100111100011011011000110000001000100000110011010100111100001100100010000000000101011001001001000111010100001110100010001010001100101011110111001100010001100100100100110101001110111101001111100010101010000100010000110101111111001000101111100101011010010110010110001010110110100000000101010010000101001011011100001010000011101001001110101110111111011111 1011011101010110010010011101100100000001001101111011000000000001111000111011111101111011101100011111100111011111100000010010001001011001111110111011111111101100011110001100111001110000000110110011000000000101110111111111011001001001100101111101011011000000111010010000110011000101001101010010111101011110101000001100111101011010011100001100110101100000000001010011000001111011101000001101001011100011 0111111001111111111010100010000100101011001011010100000111000111001000111110010011001100111100111111110001000001101000011001010101100110011011100111101011011011110111101111110101110111110101100010101001010111000001010101001011111110011111010111101010110011100101101101101100111110101110110000000111101110011011010001111110110010010001111011010101100101110010111000000110111101101110110001001011110100 1100110011011010110001101000000111011111000100111100110110111111110001011000001010010110110111010111101101000000000101111100001001011001111000001111011010100010110101001010110011011101001111100100110010010101101000001110101111000100110100010110111001010110101100010010010010011101011010101010001100110100101000101101001010010001010111011110111111000100111111011101110100111110011010000010100011001001 1111000001111101010000101111100010110101101100100110101100110010000011011100100110100011111000100110001010110110110111111011101100111100001000001110111011110010111000110110100000100010011011100001110010001110010010001100011001101010001111011001011101011100100001110101110010110110011111010100000000001010100010101101111101111100001110000111001110010110001111110010010011100100100100110101110111101011 0010111011111011010000010101001000101001011111101101110010001010110110100110011111011000000110001001000011011100101001100001011111101100100001111100100111001010011000100011011100111000100111101000101110001010001011100000000110111110100010011000011010011010111011010101010011010110011110101000001000011011001110100101001000101110101000101001010101111110001010010111000100101101010111101110101001000101 1000010110101000111010011100001001110000011001010000111011010000010101001100100100011001011010111110100010010111011000001101010001011001100001100111011001101000001001001000111011000010010000111110011001100001100111110100100101010111110001000100101110111010000100111111110111110110000011000100001111111111001100001001011101000110111010000000001110001000010111010101011111101011010111001101100101111010 1100001000100000010100100010101011110010000101000111000111100011100001010000000111111011010001111111011101100000011110110101010011011000010001010000100000101101101101110011000100011000100110111111110100011100101001110000111010111111100011001011000001100110011100010110001101110100011110100010011001010100111111010101100111010010010001011110111000000011101011000011001100100111011100101110111010110000 0110111011001111000100010011010110101100001100100000010001011000001000010101011100011010111000111010101010101110100011010000001010010011011110111000000111111101000101010110100111000001001111010101011101011111110110001011010110001101111111110011010111110010010101111111110111111111100101111001011011010111101010000111101100111001110101101111100101011111100110010010001010100001001000001010110100010100 1011011011000100000101101011011110110101010101001110010000000010111000000000100001000111011001010001100011011001001001010101000010000110111100001011100010111101000000000000001110010011100000010001011000000010101100101001001100110011111010010110110011001100010010011100000000010101100001000000111001100101001110111001001000001000010001010110101000111100011001110000110110000010101000111011001010101110 0011010101011010000111100000100100011101100001011100011110011000011101010011111110101001110101101001110011000000101111101111110111101010111001001011110010110111011111010111000000110010010100100100011011001111101111100100101111100101010100111111011100111011010101010110100100100011000110111010000100010101110111010000101100101010110001101010110100010110101000010001111010111111101010110010110011001010 1011011110011001110011110101000110010000000110010101000010001010110110001111001000010110011011001100011000111100111110100000111001011011111000110111100110110001110011000000011100100011000010000001000011100011000110111001100010110000101001001111101000011101010110100001111000101110110111011110101011110100101110000100101100010101010001010110000011101010100111000000101001001010111011011100011010101101 0111010110011101010111110010101011011001100010001100101111001010000001011100100111000001111101001101101001101010001001010100010101011100011011011100101011110111100001110000111111011111011010000001111111001111010011100010111111111011110100001100001100101111110010011000010001000001101111010101110000101111100111110011001111011010100110111100101000101010000001000001100000000001010100110000100011011101 1111110001110000000110011011010000011110101001111011101001011111100011001100100000111111011011111000000111000110010000101110111111010010001001011101000110111001001011100110011101000100001011000001011100110001101100111100010011011111011111111111111100111101110000010000001011111110010001000000100011101110000000011110111110011110011111100111010001010101001100010010010001011010001101001011100100010100 1000001110000110000101101101101001100000111010000101010100111010010011100011111111000101111000111110101110001001000101101111111001011000110000110010110000010110101111001000110000110110001110110011101010111000111100111001101011110101000011111010101001111111011001001000010111110110101000100111001001101001010010111100101010011000110001100101101110111000010010001100010100100101110011011010010100010011 0010000110000011010111100010110110011111011000001111110110100011001100111101010010101111011101110001110100110100011100111101101111000010001100100101010100010000000100000111001110101101000111011101111100010110010000101110000010010110110110100001111100110110111001001001110010110001101011100110001111001000011101110101001110100111101111110001110011000101110001100101010111101000000011010010001011000000 0001011010101011000101000111010100001000010111100001111011010011010010011111100001010011010010011100111000110110011101101001000001011011100011000111011101001011000011110011101101100101011010111000010010010011101001100000111100011110001111111001111010001000000100100100101101000010100110110100111100111010111110100011001111001100001001000001010111000110110010100010111010101000010001001010101011011000 1011111100010111000001101110000110111100101100011010100001100001000010100111010011110001111110001110000111000110011010010011010111010011011011011101010101000001101111011100011001100000111101100010001000111010100001010010010101001100110101100100000010011110100011110100101001011001110100011101000000110010001101010110000000101001000101110001000100011010110100010010001000110100100011010010110000110010 1110011001000011101000001100000001101010000010100011101101011100100100101110011000001100101101100100110001100011100001111011001011011000010000001111101010100000010101001101000011011000001001000001001010001000011111000001110010111110111001010100111001001010110111011011111100100100101000010000111110010101100101111011010100110100011110110100110011101010001110001000010001010100100111001110101000000110 0101000110000001000000010111000111011000101101000001100111101001110001101101010110010111101000000100001011010010000111011010010111111100100111001000100011100011011100111100011110101001100001101100101100101010000000111011101011010001100101000100001101100110101110111101110001110000100001010111000111010101110001000101001010000001111100000101111111000101001001111000010101111011010101000011001101110101 1110010111101011111001001010010100011110111000001100111010101000100011000101000000111100010100000111100101001011111100110001011010111111000011101101101100100010000101011101000000111111001010101010110110101001011110001101011010000111010011000101110111101010000011101100111100000011000110010010101101001100111110001110000000011100011000101001111000010000100000110000110101001000111110010010000001001000 1011000100000010110110111011011100111110000001010010111100111110000100101000001000110111000101000100110011001101100100110010000100011100101011100110000111101011000110110101111011010101000110011111001100100110101101111100110100011111100100010100011001111110000000100011010010111111111100010011011011010010000000100110001110010101010101000111110101100110100110011100100101100010110010011010111000000010 0011111100010110110101111110001011000011100110110110000111000100010100001001111101101111100011110001111100100110010101001111111101000101100110011001111000101100101100001100010011001000111001001111010100101011110011011001011011010111100010111100010001110011100111001100000010001110101011101111100100011011000011010101001011110100100111100010100010010000010101100010111110101111000001000010001001110101 0101010111101100100111110010100010101101001111000011001010011101110100001111101110111110000110111001000101110011010110100010111111111101000100001010100001001110000100010001000010110010111100010100010011100110100011001100111011101100010100100101101100110010101110011000011001110000011101001101100111011111100111011001001101110010010000001011000011000101001000100011000001110110001110000100101100001110 1110111001100111111000100000100100111011101100111110101100100011001011000011011000000100010111001001101001011100101110001100101001100010010101101100100110101000010011101101101101000000011111101001111100100101111010010010100110010110000000000110110111011110101111011011100000001010110101100011011010110011000100001101111010110110110101010111011111000011100100010100111010100111001010101101010001010110 1011000110110001001001000000001111110010110000000100111011110111110001000110100111110000110001100110011010100111001001011100001000010011101110100011011100101111101100100100100001101010110100111100100100110111000110111010101111101111010011111110011100000100011100101011000111000110010100011001011110111100111101011101101011000101110111101101100110001001011001111100001011111001001001010000010100001001 1100011100000010100010000010001011000011001101000010111011010110001100000011101101110101011010100001100010000101001110100100110110101001010000011110111010110000100111100000010101000001001011111000101101001011011101010111011011110010101001100110111010111011111010110111100101000010001001010100100001001010111011011111011010010101001011001101000100001100011011111010101001011001001011011100011111101011 1101000001101010000111110010010100010101100011111000011010011000101100011011110100110010011010011100010000010111111011100100011110101010011001110000001111110100000001001100001011101001011100001101101011001100001011110101001000000001111011010011110101110100011101001111101111111000101011100010111011110010001011001011110011010001000110001011110110101100100101111010111111111101010100001110100100000110 0011101001111111011000011101100000010111110101100010111110000001001110011101101010001000001111101101010011010100100100001001010011100001010010101010011110011110100101001110000110101101010100011110110011101010110111100000101000000110000000000000101100100101000101011011110100110001110111110111110011000000101001111111001110010100111100110010111001001001010111010101110011100010110001010100111110101100 1100000011000011101101000111011001110001101011101000001100010110011001010100111100110110011101101010100100000001000101110000111011011011001101100111000101000100101011000011001100100101101110001010010100100100110111110111001101110011001001101011101011111101100100101011000100011010011110101110000000010111111110111101000101011011111110011101100001100000000001110010101101010001000111111100011101111000 1101011111010001000101111101110101011010001110110011000110001101111000111110010100010001010100011100011101000111010100101001111111011011000010011100111001111110111010010001001011101010001111100111101001101111001000111110001101000001011001111101010110000001001101010111100110100100010111011011100011100100110010100111000111011011100010101110100110001110001100110010000100100111001101010011110110011001 0101010010011010001000000101100001101100111100011100100001001110101001010111011101110101101101100101001100001011010011111011111110100100101011011100110001001110100000101101011111101011111100111110010010100111001111101101111111010101100111110011111010011101111000100110011111100001010110111111101011110100000110010001010011101001101101000010100011100110101101011011101101110111001101110111000000000000 1000100001111101000001111001101001101010011101010111000001000001101111100001010001111000110000111101010011110000010011000100010100101110101100100010100011011111010000101111001111010110111000100101000011000101101101000101010101001100110111001110011101100011111011001011000110011000001111100101110011000001100011111101001001111011110001000011101111111000010001000001000100101001110100000010101110000111 1011001011110101011110001110111111101011110011000010001000011000011110101011110011010101100011111111011110101000011110101101001001101111110000100000111110111101011010000111101100100100011111010100101010110111010001101000001111100011011011110110011000000111011001011110001010010110100111010001000111101110110011011011100101100100010010101010000101111011010111001001000101010101111100111100010111110101 1100011000100110001000111011010111100001011001011010111101010011100110111111011011011101101011000011100001011101101111001111101110110101111000110100111110011101100000001101000010001110111101101100111000111101011110001011001001101000110011110111000111101001100111110100001110010100010011011000000101110110001010000101000100001101010110011000110000001111011000101100001001010111001010101010011111001111 1000101010110011011100100001011000000000001010101101110011001001110000111000111011101011000100000101100001010010100001101100011010001111111101100101001100110001011100011011010100001100010100001111000011001100111111001010110111001111111000011011111000110010100010111101100100001101111100110101010010100110010001111100010100011000111000011011111101010110011000000100110011001011011110001110110100111000 1101100011100101001110001111001000000011101001100000100011010100011101110010100100011101001100100011110011110110010110010001010010011000111000000110101010000000011000100110011101001110001101011001010010101110111010011110000011000011111001000001111101011101001001011110010010101111100101101011000000010010011000011000100101011111010011111111001110101011001000110010000011110100110000111101101110000110 0011100010101000101000111001110100111110110000001011001110111011100010011011100011111000111011011010010011001110100110001000011001110010010101000101110100101110001000000001111011100110111001111111100000010111100111011111000110001001101001100100110011111101010010011011110111101110111101011110101100000011010100101111100111101101101111000011101101001111110001101010010100101101010001011100000111011100 0001100000100000100111000111000110101110010010010001011010010011111000110011100100010101010001100100101011100001100011101100001010110010011100010011100010010101010010001010010000110100100110011110111100100100100011110101000100001010001110100000011100010010001001101111011110000000011000111010100010001001000111010111111011000011010000101110011101101000101110011110011101110010000010010010001101101010 0100010101010101101100001000011111011011010001001011111111110111110110100111110110000111011001000000001111001100001010011000110010010111011000001001101011100000100010001111111000110001011001010011101100101110010001111100100011011010010110010111100011110010111110011001010111011011100011101010100100110101111010001101101100011001010010100101110100011110100100100001110101111010111110001111110011111111 0001111100110111100001000110100001010000001010011011001111110111101110001111000000001101100111100000110000101001010011001100001101000101011001000000111101011100010011010101000110100000001000000110110000001110111011111011111100000110010111001111011000001011101111000010101000010000101111101100101001010111011010111101101000010000110100001000011110101100010100110110101111000100000110010010101010110101 0110101010011011101000000101001011111101111110001100101101111110000000101010010001000110110100111010001000000011111011000000011110010110001001000011010001110111111001000011110001000010011001000001111010111000111001010000111111101000111010100000001111100110101100011100100001011111101001001011100001011001101110000100101111000111111000000100101011110100010110011010001100111001101101001110000000111110 0000101000000111001110101111100010111100001001011010111010011001001010110110010101000010011001000100001011110001100111111000101001110011000010111100010000010101110110111001010011011010101111000001001010111100010100111111110000101011101010000010001100010000110101111001111111011011100001010011110101011100110010110100000110111111111001001101000100111001101100011000011101110010001111010011001100110010 0100001011100100111100110001100110110001110011100100110001101110010100001011010111000010100000100010101111111100011101100110000111010011001000101010110010000101111010011010010100110101010110101011010110111100100111110100011010111111011000010111110000001000010101011000001001010011100001010111011011010001011111011000010001000011100011110000011000001010010110000001001110011000100101111000100111101010 1110100001011010100011100100100001100010011001100001101011110000110000010001101010100100010100111010011011001101100101000011010011101010001011010100111111011101101001101111110001100110001000110000010100010001110110001011100011111001011010111001010011000001110111110100110100100001010011011111010001000011010000111011001101000010001111010110011111110101001110000111000101100011010110111100000110001000 1100100110100111101000111001100100100010111011011110100001010100000000001111010010010010100010100110100000110011111111000110000000100000001101000111000011110010110000001110111101110011000010010100011101011101000111110000010011100000001110000011100001000111011000110001101001001011100000001010011100010111010100001010101000110111001000100011110011011011111111011010001001110111000000000111101010110010 0001000000001001000001110000010010111100100011100100001101001100011111110001010011001011100110110001010001010110000100110000010100011000110101000011010101010100101000011000011100000010000101011000101010010000111011111000110010101110100001101011000111011000100001100000101010110010111100010001101000001011100101110000000000001100110010111100111010010010110111110011011011011010000111010100110001111001 0011111111011101101100011100110111100000000110111000000000111001101111110101110010110001101001010011101000101000001101100110000101100000001111001110111101001011100000111100001011101111011010111101011011110110100000100001010010001010000101110101010100100110101010110010101001000110111110100111100100110001101011000001100111101001111111001010000010010101011111100010100110100101010110111001011111111110 0011101001001110100010010110101100110000010000000101001111010001000000111001110101100001000110001110110101100010000000101111111101110000101110101010011100000111000101111111111100100110101001101001010011110101001111001000111001011000100011010001000111110010110100100100000110001001111010110100011000110100000000001010010010110000001110010110101011101100001100100001010011011111011001001001011011010100 0011101110011111110100001100010111110100011100110001010111110101110010100011000100101101011101110101010011010100110010000100101110000101101010010000100100110010001101110000010001010101101100100011001110010000110111010111101011101100111011011000010011100101000111000001001111111011100011111000001010110011100111011111110110101010101001001001001110100010001000010011010000100100010110110100001011000011 0011011100101000010101001010101000111111000111100001000011110101100110001000110111001110111000110010011000111001100011001111110111110111111101101011100001111101101010101110110001010010110000111011111111101000001010001101001110110110000000100010010111110110001000110010110000110101100111101000101101001110010101100111101100111101101110011000010100111010001100101010001011111100100111001000101101100010 1011101011110111010000100000011011001010111001010100010010111100111010001000011111100101101011110011110101000000000010001010011010100010001011010111011101011000011001001111011010100010110011011001110100000010100100001110000111001010101010110001101000110000010000111001111111111110000000101111010010000100100010010111101011111010101110011100110000101010100010011010110111001001011100010000100110101001 1100100000011011111000000000011110111110011000011110101010010100100000101101000010010100001000110100101100000111011101000011100010111110000011100110110101010111110110100111100001010010010001011101001011000010101100010010101001001000000010011101101001011110000011110001110101001011100111110000111011111100000010111110011111100010010100101101110101011001101010100000011001110000110010010011001100001110 0100000000100110001011111000011111111100000010101100101000100011110101111110000111010011110100110110101011101110111011110001111010101111100000010111001101110101100110010100010010011010111000000001010101011100101101111000010011111000000001100111010111001011100111001100101110010011011001110000001000001101101111011001010000111011100100001100111001111011111000010100000110101011101110001101010011011111 0100011001100011110100010000000011111001010011001111001111110000111100000100011010010010101010011111010110100000101100111100010001100001000101100000100110010000011010101111100011000011011111011010001100100001001100001101000000100100111011101001110000000010101100110111001001010100101010001101100100110111001111101010011101100111110010111000000100011010011000010111001010010111111000001011010100101001 0001101110010110001010010001101111000110000110111101101011100110110101100011000010100101111111100110100011100110001101111110101010010010000100011101010110011100101101111110101110110011100001110001000110101011101111111100111010000110111111100100101100010100101000111011111101101011110101011100011001011110110010001000101111011011001010111010000010100010101011001111000001011111010110010001101000011011 0101001101100101101110001010000101110011100111000111100001000100110100010111110110100000011101111110001110110011000101000111011001011111111001110111011111110111011110000100001111101010000001001001110001101101011101110001101110001111101101011001010110000101010000101111000010011101100100000010000011111011011100101100101101111011100101010111001000000100001101100011000111110110001011111101010110000011 1101000101001001000000101011011100100011111000101111111111101000001100111001110111101001010100001010010000010000100101111001110110111110000001001010101101110100011001100101001001110001010001001101010111001000010111110111001110000011111011011110010010111010011011000000000101100101010111100100011101001010101101110011010101011011000001101010100111110000000100000011100101000011010001100101000010111111 1010100010100101001110010010110010110110000110011100110100100100001010101110101010101000011100111000001111010001010100001111011000100000000111010001010100010111010001010010101010011011111000011101101000100011100110010011001001001101111101000100011000011001110110100101101110100110101101110111100110011111111010100010011001110000000100111011011110010100000011000010110110100001000010001001000000101010 0100000101000011000010101010111001100111000010110001100101011001001001011000001110001101100001101001011111001101101101110100101110111001010110110100010011110010111001011011010001000101110111101000000100000011110001110100000011001110001111111100111011111000011101101001001110001000111001110100101101101101101111000101011100110010101111100100010010110101001001111111100011101001100111111001101000010101 1101000010000111110100110010101001110100110101100111110100111111000011100110100001101110111010101101110011011011001100011010101011011010110111001000101001001100010110111001111011100001010010000111011100010000100100001011000001011011011101000100111001111101101010000110000011110011110000010010011111010001111010011010010100111100011011001111110010111011100110001101110010001101110001000001101110100100 1111011010100001011111100000011011000001111010100010111001000010100110001101010001010101100101110110110111101110010110101101110111110111000101000001000000110110101100010100100011101011011101001101000001111001010001100011000101011101000111110011110011000010010111010100111001110111100001011101011101100101101001110110101111111001010011110110100011011011001111110010011011000010001100001001100100111000 0101000000101000000000101010111110000110000101100101001011010101100110100010111100000000011001110110001001111000110001110010011001101101001100000010111101001010010111011001111111110010001000100101011101110000101101010011101011111110001011001011001101111111111111110100001001010000101000111010011111111100011010000010000011001101011001000110000000110010011001101100100111000110100000100110001010001110 1011110110111001100100110111110011100110011001110000100100100001011001000011001010001001110101011111110000001000010100110011110110011001011011000010111011101011101010010110000011000011111100101011011011110000010101010110110100001111111100100110101011100111101101010101011000011100100010000100110001111001001001110100001010000111111011110101110111001011100000101011001111011101101000000000100010110001 1010111010000100011001001111001000010000111100100101110001101100100011100000100100001110101001111011100100100111101110001001101011101100100110000010100111111000111100111000010010100011110000000101100000110100000001000000011111010011111011100110001101100110101011111000111000110010100001100110001010010001011110101000100010101011011000101100010001110000111100000110011100101100010000000101011111001000 1001001001010110101010101001001001011100011001110110010000011011001110101011101001101011011010111101100111101001101001000100110101011000001111001110101000110010110001110111110001001101100111011000000000010001010110110111111100010011110010001111000001100001011001000000111101011001010111000011010101101001111011010101100100001100101011011011010110011000010110011111011001101010010101011111111110101101 0101001111011100011011100101111101000001010100100010101010101000101001100100111101011111000110100110000010111101010010011010100000010000001000100010100000001110000011000010101111110101110001001000100110101111110100010100011011110011111100010000111000111011010100110001010101001101010111001011000011101001010100001000001011011010110101110100100000101111110000000100111111100010110111000110001100010011 1000011010101000101110111110010011100010110000011101010001100011101010101001001110010111111111001111001000101010101000100100100100010001101000111110111000100011000111101011111111100000011111111110011001010110110110111101011111010101110000110100010011110011111110000001110101100000011101100100010010100110001000010011010100001100100110001100001100001010010010111010110001101000101001010101001011111110 1111010111011001111011100011001011001110101101111010000000001001111111101001100010010010101011000011010111101011101111100110100011001000111001110101001010110101011010110000100101010111000011001111100000010110110111010110000110111000101000111110100011011110100011001111111000100111100111000110101011111110110110001010101010100100100001101101010001011001000000110001101110111110100101010000001001110110 1110100000101010010011010011110100011000111101010011100000110011110010101111101011111111101001100011011100110100111001101100110001110000101000011011011000000111100001110010000111011101111001001101111111110100100011011110111000001010101101111011101101110111011101011110000010001100111101110011011001011110000110000111011011111111110011100110000110111110100011101101101101000000010011010001011011011100 0110101111110000000000100100101000100000011011111010100011001010000001111101001011110011111110100001010010001011111100010000001110110111111100011101000100000011111000110001001100101101101110011100010000110011001011011000101111101101001101010010010011010111011000011011110010101100111001100100010010110100100010110000001011111101010101110111110000101000111111001000111110000011110100100010111110011111
cTrader AlgocTrader

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

1/14/2021 3/24/2021

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

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

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

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

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

(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

© 2026 ajinori