The private key of the address you are trying to sign has to be in the wallet. If it is not, it is not possible for you to sign a message using that address. Even if the address is a change address, the private key should be stored in the wallet.
Go to Console and type ismine("1YOURADDRESS") while replacing it with your address. If the response is false, you cannot sign a message with that address with your cold wallet.
I am sure the address is mine in my Electrum cold wallet. It can be displayed in my Electrum watch only wallet by the order listaddresses(). But when i type ismine("MYADDRESS") , the response is false, why?
You are trying to do this from the wrong computer. If you try to sign a message from your computer that has the "watch only" wallet (eg your online computer), then you will be unable to sign a message from any address.
You will need to sign the message from the machine that you sign transactions from (eg your 'offline' machine).